diff options
author | Jens-Heiner Rechtien <hr@openoffice.org> | 2010-01-29 15:26:37 +0000 |
---|---|---|
committer | Jens-Heiner Rechtien <hr@openoffice.org> | 2010-01-29 15:26:37 +0000 |
commit | b3a91e5eadf06589c70e6beff88370465b884c9f (patch) | |
tree | 77a0a3e041b8517960ce90ab720fe2ffeb4f17d5 | |
parent | 87ef0fd0ea3493d42637c4a5082a1ccacc703e03 (diff) | |
parent | fecfc136e8d805e349ce68e99999e620cb904852 (diff) |
ab71: merge with DEV300_m54
223 files changed, 3788 insertions, 1960 deletions
diff --git a/bridges/source/cpp_uno/gcc3_linux_m68k/makefile.mk b/bridges/source/cpp_uno/gcc3_linux_m68k/makefile.mk index 32d4b0d27dc9..8371d653a25b 100644 --- a/bridges/source/cpp_uno/gcc3_linux_m68k/makefile.mk +++ b/bridges/source/cpp_uno/gcc3_linux_m68k/makefile.mk @@ -61,8 +61,7 @@ CFLAGSNOOPT=-O0 SLOFILES= \ $(SLO)$/cpp2uno.obj \ $(SLO)$/except.obj \ - $(SLO)$/uno2cpp.obj \ - $(SLO)$/m68khelper.obj + $(SLO)$/uno2cpp.obj SHL1TARGET= $(TARGET) @@ -83,6 +82,3 @@ SHL1STDLIBS= \ # --- Targets ------------------------------------------------------ .INCLUDE : target.mk - -$(SLO)$/%.obj: %.s - $(CXX) -c -o $(SLO)$/$(@:b).o $< -fPIC ; touch $@ diff --git a/bridges/source/remote/urp/urp_environment.cxx b/bridges/source/remote/urp/urp_environment.cxx index 5d1c4b9ab741..1afab0633fd4 100644 --- a/bridges/source/remote/urp/urp_environment.cxx +++ b/bridges/source/remote/urp/urp_environment.cxx @@ -182,6 +182,7 @@ struct StaticSingleton { ~StaticSingleton() { + ::osl::MutexGuard guard( ::osl::Mutex::getGlobalMutex() ); g_bStaticDestructorsCalled = sal_True; } }; @@ -267,7 +268,13 @@ static void SAL_CALL RemoteEnvironment_thisDispose( uno_Environment *pEnvRemote } // in case, that the static destructors already have been called, no // tiding up is done. - if( ! g_bStaticDestructorsCalled && ! pContext->m_pBridgeImpl->m_bDisposed ) + bool tidyUp; + { + ::osl::MutexGuard guard2( ::osl::Mutex::getGlobalMutex() ); + tidyUp = ! g_bStaticDestructorsCalled && + ! pContext->m_pBridgeImpl->m_bDisposed; + } + if( tidyUp ) { // TODO : not threadsafe // synchronization with dispatch methods needed ! @@ -335,9 +342,15 @@ static void SAL_CALL RemoteEnvironment_thisDispose( uno_Environment *pEnvRemote pImpl->m_pReader = 0; } - // delete the stubs - releaseStubs( pEnvRemote ); - + bool bReleaseStubs = false; + { + ::osl::MutexGuard guard2( ::osl::Mutex::getGlobalMutex() ); + bReleaseStubs = !g_bStaticDestructorsCalled; + } + if( bReleaseStubs ) + { + releaseStubs( pEnvRemote ); + } } } diff --git a/bridges/test/java_uno/acquire/makefile.mk b/bridges/test/java_uno/acquire/makefile.mk index c9f04f503180..d027c067dad7 100644 --- a/bridges/test/java_uno/acquire/makefile.mk +++ b/bridges/test/java_uno/acquire/makefile.mk @@ -107,11 +107,15 @@ $(BIN)$/testacquire-java-server$(SCRIPTEXT): $(GIVE_EXEC_RIGHTS) $@ $(BIN)$/testacquire-native-client$(SCRIPTEXT): - echo uno -c com.sun.star.test.bridges.testacquire.impl -l $(SHL1TARGETN:f) \ - -ro $(TARGET).rdb -- $(TEST_JAVAUNO_ACQUIRE_UNO_URL) > $@ + echo '$(AUGMENT_LIBRARY_PATH)' uno \ + -c com.sun.star.test.bridges.testacquire.impl \ + -l ../lib/$(SHL1TARGETN:f) -ro $(TARGET).rdb -- \ + $(TEST_JAVAUNO_ACQUIRE_UNO_URL) > $@ $(GIVE_EXEC_RIGHTS) $@ $(BIN)$/testacquire-native-server$(SCRIPTEXT): - echo uno -c com.sun.star.test.bridges.testacquire.impl -l $(SHL1TARGETN:f) \ - -ro $(TARGET).rdb -u $(TEST_JAVAUNO_ACQUIRE_UNO_URL) --singleaccept > $@ + echo '$(AUGMENT_LIBRARY_PATH)' uno \ + -c com.sun.star.test.bridges.testacquire.impl \ + -l ../lib/$(SHL1TARGETN:f) -ro $(TARGET).rdb \ + -u $(TEST_JAVAUNO_ACQUIRE_UNO_URL) --singleaccept > $@ $(GIVE_EXEC_RIGHTS) $@ diff --git a/bridges/test/java_uno/any/makefile.mk b/bridges/test/java_uno/any/makefile.mk index d02c5fc4d93c..1957194f856a 100644 --- a/bridges/test/java_uno/any/makefile.mk +++ b/bridges/test/java_uno/any/makefile.mk @@ -115,7 +115,7 @@ $(OUT)$/bin$/TestRemote$(SCRIPTEXT) : $(JAVACLASSFILES) $(OUT)$/bin$/TestJni$(SCRIPTEXT) : $(JAVACLASSFILES) -rm -f $@ - echo java -classpath \ + echo '$(AUGMENT_LIBRARY_PATH)' java -classpath \ .$(PATH_SEPERATOR)..$/class$(PATH_SEPERATOR)$(EXEC_CLASSPATH) \ -Djava.library.path=..$/lib test.java_uno.anytest.TestJni >> $@ $(GIVE_EXEC_RIGHTS) $@ diff --git a/bridges/test/java_uno/equals/TestEquals.java b/bridges/test/java_uno/equals/TestEquals.java index 8cd0c8049ad9..31b735473c9b 100644 --- a/bridges/test/java_uno/equals/TestEquals.java +++ b/bridges/test/java_uno/equals/TestEquals.java @@ -197,7 +197,8 @@ public final class TestEquals { loader.activate( "com.sun.star.test.bridges." + "testequals.impl", - "", "testequals.uno", null)); + "", "../lib/testequals.uno", + null)); XTestInterface test = (XTestInterface) UnoRuntime.queryInterface( XTestInterface.class, diff --git a/bridges/test/java_uno/equals/makefile.mk b/bridges/test/java_uno/equals/makefile.mk index 787da9a88370..4064b5e48f09 100644 --- a/bridges/test/java_uno/equals/makefile.mk +++ b/bridges/test/java_uno/equals/makefile.mk @@ -86,7 +86,7 @@ $(MISC)$/$(TARGET).rdb: types.idl $(SLOFILES) $(JAVACLASSFILES): $(MISC)$/$(TARGET).rdb $(BIN)$/testequals$(SCRIPTEXT): $(BIN)$/testequals_services.rdb - echo java -classpath \ + echo '$(AUGMENT_LIBRARY_PATH)' java -classpath \ ..$/class$/test$(PATH_SEPERATOR)..$/class$(PATH_SEPERATOR)\ ..$/class$/java_uno.jar$(PATH_SEPERATOR)$(EXEC_CLASSPATH) \ test.java_uno.equals.TestEquals $(SOLARBINDIR)$/types.rdb \ diff --git a/bridges/test/java_uno/nativethreadpool/makefile.mk b/bridges/test/java_uno/nativethreadpool/makefile.mk index 5eb7a8cb3a88..c8f7a778f051 100644 --- a/bridges/test/java_uno/nativethreadpool/makefile.mk +++ b/bridges/test/java_uno/nativethreadpool/makefile.mk @@ -101,25 +101,24 @@ $(BIN)$/$(TARGET).rdb .ERRREMOVE: $(MISC)$/$(TARGET)$/types.rdb \ $(REGCOMP) -register -r $(MISC)$/$(TARGET)$/bootstrap.rdb \ -c javaloader.uno$(DLLPOST) -c javavm.uno$(DLLPOST) \ -c stocservices.uno$(DLLPOST) -.IF "$(GUI)" == "WNT" +.IF "$(GUI)" == "WNT" || "$(USE_SHELL)" != "bash" ERROR -- missing platform .ELSE # GUI, WNT - + setenv OO_JAVA_PROPERTIES RuntimeLib=$(JVM_LIB_URL) ; \ + + export OO_JAVA_PROPERTIES='RuntimeLib=$(JVM_LIB_URL)' && \ $(REGCOMP) -register -r $@ -c file://$(PWD)/$(BIN)$/$(TARGET).uno.jar \ -br $(MISC)$/$(TARGET)$/bootstrap.rdb -classpath $(EXEC_CLASSPATH) \ -env:URE_INTERNAL_JAVA_DIR=file://$(SOLARBINDIR) .ENDIF # GUI, WNT test .PHONY: $(SHL1TARGETN) $(BIN)$/$(TARGET).uno.jar $(BIN)$/$(TARGET).rdb -.IF "$(GUI)" == "WNT" +.IF "$(GUI)" == "WNT" || "$(USE_SHELL)" != "bash" ERROR -- missing platform .ELSE # GUI, WNT - uno -c test.javauno.nativethreadpool.server -l $(SHL2TARGETN) \ - -ro $(BIN)$/$(TARGET).rdb \ + $(AUGMENT_LIBRARY_PATH) uno -c test.javauno.nativethreadpool.server \ + -l $(SHL2TARGETN) -ro $(BIN)$/$(TARGET).rdb \ -u 'uno:socket,host=localhost,port=3830;urp;test' --singleaccept & - + setenv OO_JAVA_PROPERTIES RuntimeLib=$(JVM_LIB_URL) ; \ - setenv CLASSPATH \ - $(EXEC_CLASSPATH)$(PATH_SEPERATOR)$(BIN)$/$(TARGET).uno.jar ; \ + + $(AUGMENT_LIBRARY_PATH) OO_JAVA_PROPERTIES='RuntimeLib=$(JVM_LIB_URL)' \ + CLASSPATH=$(EXEC_CLASSPATH)$(PATH_SEPERATOR)$(BIN)$/$(TARGET).uno.jar \ uno -c test.javauno.nativethreadpool.client -l $(SHL1TARGETN) \ -ro $(BIN)$/$(TARGET).rdb \ -env:URE_INTERNAL_JAVA_DIR=file://$(SOLARBINDIR) diff --git a/bridges/test/java_uno/nativethreadpool/testnativethreadpoolclient.cxx b/bridges/test/java_uno/nativethreadpool/testnativethreadpoolclient.cxx index b59f18f81e17..82bc6506a51f 100644 --- a/bridges/test/java_uno/nativethreadpool/testnativethreadpoolclient.cxx +++ b/bridges/test/java_uno/nativethreadpool/testnativethreadpoolclient.cxx @@ -167,7 +167,9 @@ css::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames() { cppu::ImplementationEntry entries[] = { { &create, &getImplementationName, &getSupportedServiceNames, - &cppu::createSingleComponentFactory, 0, 0 } }; + &cppu::createSingleComponentFactory, 0, 0 }, + { 0, 0, 0, 0, 0, 0 } +}; } diff --git a/bridges/test/java_uno/nativethreadpool/testnativethreadpoolserver.cxx b/bridges/test/java_uno/nativethreadpool/testnativethreadpoolserver.cxx index fc01c0ffb7c3..bc52ec509c52 100644 --- a/bridges/test/java_uno/nativethreadpool/testnativethreadpoolserver.cxx +++ b/bridges/test/java_uno/nativethreadpool/testnativethreadpoolserver.cxx @@ -129,7 +129,9 @@ css::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames() { cppu::ImplementationEntry entries[] = { { &create, &getImplementationName, &getSupportedServiceNames, - &cppu::createSingleComponentFactory, 0, 0 } }; + &cppu::createSingleComponentFactory, 0, 0 }, + { 0, 0, 0, 0, 0, 0 } +}; } diff --git a/cli_ure/unotypes/makefile.mk b/cli_ure/unotypes/makefile.mk index 7f9952488d44..0f4d4760e5a6 100644 --- a/cli_ure/unotypes/makefile.mk +++ b/cli_ure/unotypes/makefile.mk @@ -58,7 +58,7 @@ CLIMAKERFLAGS += --verbose #When changing the assembly version then this must also be done in scp2 $(OUT)$/bin$/cli_uretypes.dll : $(BIN)$/climaker.exe $(SOLARBINDIR)$/types.rdb $(BIN)$/cliureversion.mk - $(WRAPCMD) $(BIN)$/climaker.exe $(CLIMAKERFLAGS) \ + $(subst,$(SOLARBINDIR)$/climaker,$(BIN)$/climaker $(CLIMAKER)) $(CLIMAKERFLAGS) \ --out $@ \ --keyfile $(BIN)$/cliuno.snk \ --assembly-version $(CLI_URETYPES_NEW_VERSION) \ diff --git a/cli_ure/version/version.txt b/cli_ure/version/version.txt index a5b40dde8d0c..d6115b807f62 100644 --- a/cli_ure/version/version.txt +++ b/cli_ure/version/version.txt @@ -29,23 +29,23 @@ # #************************************************************************* -CLI_URETYPES_NEW_VERSION=1.0.2.0 -CLI_URETYPES_OLD_VERSION=1.0.0.0-1.0.1.0 -CLI_URETYPES_POLICY_VERSION=2.0.0.0 +CLI_URETYPES_NEW_VERSION=1.0.3.0 +CLI_URETYPES_OLD_VERSION=1.0.0.0-1.0.2.0 +CLI_URETYPES_POLICY_VERSION=3.0.0.0 CLI_URETYPES_POLICY_ASSEMBLY=policy.1.0.cli_uretypes -CLI_BASETYPES_NEW_VERSION=1.0.13.0 -CLI_BASETYPES_OLD_VERSION=1.0.0.0-1.0.12.0 -CLI_BASETYPES_POLICY_VERSION=13.0.0.0 +CLI_BASETYPES_NEW_VERSION=1.0.14.0 +CLI_BASETYPES_OLD_VERSION=1.0.0.0-1.0.13.0 +CLI_BASETYPES_POLICY_VERSION=14.0.0.0 CLI_BASETYPES_POLICY_ASSEMBLY=policy.1.0.cli_basetypes -CLI_URE_NEW_VERSION=1.0.16.0 -CLI_URE_OLD_VERSION=1.0.0.0-1.0.15.0 -CLI_URE_POLICY_VERSION=16.0.0.0 +CLI_URE_NEW_VERSION=1.0.17.0 +CLI_URE_OLD_VERSION=1.0.0.0-1.0.16.0 +CLI_URE_POLICY_VERSION=17.0.0.0 CLI_URE_POLICY_ASSEMBLY=policy.1.0.cli_ure -CLI_CPPUHELPER_NEW_VERSION=1.0.16.0 -CLI_CPPUHELPER_OLD_VERSION=1.0.0.0-1.0.15.0 -CLI_CPPUHELPER_POLICY_VERSION=16.0.0.0 +CLI_CPPUHELPER_NEW_VERSION=1.0.17.0 +CLI_CPPUHELPER_OLD_VERSION=1.0.0.0-1.0.16.0 +CLI_CPPUHELPER_POLICY_VERSION=17.0.0.0 CLI_CPPUHELPER_POLICY_ASSEMBLY=policy.1.0.cli_cppuhelper diff --git a/codemaker/source/cppumaker/cpputype.cxx b/codemaker/source/cppumaker/cpputype.cxx index 9622c25c4c4e..79e4f0a2e522 100644 --- a/codemaker/source/cppumaker/cpputype.cxx +++ b/codemaker/source/cppumaker/cpputype.cxx @@ -2490,9 +2490,8 @@ sal_Bool StructureType::dumpHxxFile( RTFieldAccess access = RT_ACCESS_INVALID; OString fieldName; OString fieldType; - sal_uInt16 i = 0; - for (i=0; i < fieldCount; i++) + for (sal_uInt16 i=0; i < fieldCount; i++) { access = m_reader.getFieldFlags(i); @@ -2527,7 +2526,7 @@ sal_Bool StructureType::dumpHxxFile( sal_Bool superHasMember = dumpSuperMember(o, superType, sal_True); - for (i=0; i < fieldCount; i++) + for (sal_uInt16 i=0; i < fieldCount; i++) { access = m_reader.getFieldFlags(i); @@ -2565,7 +2564,7 @@ sal_Bool StructureType::dumpHxxFile( first = sal_False; } - for (i=0; i < fieldCount; i++) + for (sal_uInt16 i=0; i < fieldCount; i++) { access = m_reader.getFieldFlags(i); @@ -2590,6 +2589,54 @@ sal_Bool StructureType::dumpHxxFile( o << "{\n}\n\n"; } + if (isPolymorphic() && fieldCount > 0) { + o << indent(); + dumpTemplateHead(o); + o << "\n"; + o << indent(); + o << "inline " << m_name; + dumpTemplateParameters(o); + o << "\n"; + o << indent(); + o << "make_" << m_name << "("; + for (sal_uInt16 i = 0; i < fieldCount; ++i) { + if (i > 0) { + o << ", "; + } + rtl::OString type( + rtl::OUStringToOString( + m_reader.getFieldTypeName(i), RTL_TEXTENCODING_UTF8)); + if ((m_reader.getFieldFlags(i) & RT_ACCESS_PARAMETERIZED_TYPE) != 0) + { + dumpTypeParameterName(o, type); + o << " const &"; + } else { + dumpType(o, type, true, true); + } + o << " " + << rtl::OUStringToOString( + m_reader.getFieldName(i), RTL_TEXTENCODING_UTF8) + << "_"; + } + o << ") SAL_THROW(())\n"; + o << indent() << "{\n"; + inc(); + o << indent() << "return " << m_name; + dumpTemplateParameters(o); + o << "("; + for (sal_uInt16 i = 0; i < fieldCount; ++i) { + if (i > 0) { + o << ", "; + } + o << rtl::OUStringToOString( + m_reader.getFieldName(i), RTL_TEXTENCODING_UTF8) + << "_"; + } + o << ");\n"; + dec(); + o << indent() << "}\n\n"; + } + if (codemaker::cppumaker::dumpNamespaceClose(o, m_typeName, false)) { o << "\n"; } diff --git a/codemaker/source/cppumaker/makefile.mk b/codemaker/source/cppumaker/makefile.mk index d1b1fe1ecf88..d349e7f28e71 100644 --- a/codemaker/source/cppumaker/makefile.mk +++ b/codemaker/source/cppumaker/makefile.mk @@ -64,6 +64,6 @@ APP1RPATH=SDK APP1OBJS= $(OBJFILES) APP1DEPN= $(OUT)$/lib$/$(CODEMAKERLIBDEPN) $(OUT)$/lib$/$(COMMONCPPLIBDEPN) -APP1STDLIBS= $(SALLIB) $(SALHELPERLIB) $(REGLIB) $(STORELIB) $(CODEMAKERLIBST) $(COMMONCPPLIBST) +APP1STDLIBS= $(SALLIB) $(SALHELPERLIB) $(REGLIB) $(CODEMAKERLIBST) $(COMMONCPPLIBST) .INCLUDE : target.mk diff --git a/codemaker/test/cppumaker/makefile.mk b/codemaker/test/cppumaker/makefile.mk index db4227155f0a..bab3dcbb30ea 100644 --- a/codemaker/test/cppumaker/makefile.mk +++ b/codemaker/test/cppumaker/makefile.mk @@ -59,8 +59,8 @@ $(SHL1OBJS): $(MISC)$/$(TARGET).cppumaker.flag $(MISC)$/$(TARGET).cppumaker.flag: $(BIN)$/cppumaker$(EXECPOST) $(MISC)$/$(TARGET).cppumaker.flag: $(MISC)$/$(TARGET).rdb - $(MKDIRHIER) $(MISC)$/$(TARGET)$/inc - $(BIN)$/cppumaker$(EXECPOST) -O$(MISC)$/$(TARGET)$/inc -BUCR -C $< \ - $(SOLARBINDIR)$/udkapi.rdb + $(AUGMENT_LIBRARY_PATH) $(BIN)$/cppumaker$(EXECPOST) \ + -O$(MISC)$/$(TARGET)$/inc -BUCR -C $< $(SOLARBINDIR)$/udkapi.rdb $(TOUCH) $@ $(MISC)$/$(TARGET).rdb: $(MISC)$/$(TARGET)$/types.urd @@ -72,4 +72,4 @@ $(MISC)$/$(TARGET)$/types.urd: types.idl $(IDLC) -O$(MISC)$/$(TARGET) -I$(SOLARIDLDIR) -cid -we $< test .PHONY: $(SHL1TARGETN) - testshl2 $< + $(AUGMENT_LIBRARY_PATH) testshl2 $< diff --git a/codemaker/test/cppumaker/test_codemaker_cppumaker.cxx b/codemaker/test/cppumaker/test_codemaker_cppumaker.cxx index ba29d1822650..2f5c75fc1d92 100644 --- a/codemaker/test/cppumaker/test_codemaker_cppumaker.cxx +++ b/codemaker/test/cppumaker/test_codemaker_cppumaker.cxx @@ -382,7 +382,7 @@ class Test: public CppUnit::TestFixture { public: void testBigStruct(); - void testPolyCharStruct(); + void testPolyStruct(); void testExceptions(); @@ -390,7 +390,7 @@ public: CPPUNIT_TEST_SUITE(Test); CPPUNIT_TEST(testBigStruct); - CPPUNIT_TEST(testPolyCharStruct); + CPPUNIT_TEST(testPolyStruct); CPPUNIT_TEST(testExceptions); CPPUNIT_TEST(testConstants); CPPUNIT_TEST_SUITE_END(); @@ -444,9 +444,13 @@ void Test::testBigStruct() { CPPUNIT_ASSERT_EQUAL(guard.p->m22.getLength(), static_cast< sal_Int32 >(0)); CPPUNIT_ASSERT_EQUAL(guard.p->m23.getLength(), static_cast< sal_Int32 >(0)); -#if defined __GNUC__ && __GNUC__ >= 3 +#if defined __GNUC__ && __GNUC__ >= 3 // see CPPU_GCC3_ALIGN CPPUNIT_ASSERT_EQUAL( +#if defined X86_64 + static_cast< std::size_t >(24), +#else static_cast< std::size_t >(16), +#endif sizeof (test::codemaker::cppumaker::AlignmentDerivedStruct)); #endif @@ -464,7 +468,7 @@ void Test::testBigStruct() { CPPUNIT_ASSERT_EQUAL(typelib_TypeClass_CHAR, std->aBase.ppTypeRefs[10]->eTypeClass); // char m11; } -void Test::testPolyCharStruct() { +void Test::testPolyStruct() { CPPUNIT_ASSERT_EQUAL( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( @@ -472,6 +476,10 @@ void Test::testPolyCharStruct() { (com::sun::star::uno::makeAny( test::codemaker::cppumaker::Struct< sal_Unicode, sal_Int16 >()). getValueType().getTypeName())); + CPPUNIT_ASSERT_EQUAL( + (test::codemaker::cppumaker::make_Struct< sal_uInt32, sal_Bool >(5, 0). + member1), + static_cast< sal_uInt32 >(5)); } namespace { diff --git a/codemaker/test/cppumaker/types.idl b/codemaker/test/cppumaker/types.idl index 798d7e088ee0..e6de0e1c5379 100644 --- a/codemaker/test/cppumaker/types.idl +++ b/codemaker/test/cppumaker/types.idl @@ -28,8 +28,8 @@ * ************************************************************************/ -//TODO: Do not depend on types for which C++ header files are only generated -// later in the build process in offuh: +/*TODO: Do not depend on types for which C++ header files are only generated + later in the build process in offuh: */ #include "com/sun/star/lang/ClassNotFoundException.idl" #include "com/sun/star/lang/IllegalAccessException.idl" #include "com/sun/star/lang/Locale.idl" diff --git a/cppu/inc/typelib/typedescription.h b/cppu/inc/typelib/typedescription.h index 80f8fdfcfdfa..6e188f934044 100644 --- a/cppu/inc/typelib/typedescription.h +++ b/cppu/inc/typelib/typedescription.h @@ -1144,30 +1144,6 @@ void SAL_CALL typelib_static_enum_type_init( sal_Int32 nDefaultValue ) SAL_THROW_EXTERN_C(); -/** Inits incomplete static compound type reference. Thread synchronizes on typelib init mutex. - All discriminants are handled as int64 values. The pDiscriminantTypeRef must be of - type byte, short, ..., up to hyper. - - @param ppRef pointer to type reference pointer - @param pTypeName name of union type - @param pDiscriminantType discriminant type - @param nDefaultDiscriminant default discriminant - @param pDefaultType default value type of union - @param nMembers number of union members - @param pDiscriminants member discriminants - @param pMemberTypes member types -*/ -void SAL_CALL typelib_static_union_type_init( - typelib_TypeDescriptionReference ** ppRef, - const sal_Char * pTypeName, - typelib_TypeDescriptionReference * pDiscriminantType, - sal_Int64 nDefaultDiscriminant, - typelib_TypeDescriptionReference * pDefaultType, - sal_Int32 nMembers, - sal_Int64 * pDiscriminants, - typelib_TypeDescriptionReference ** pMemberTypes ) - SAL_THROW_EXTERN_C(); - /** Completes a typedescription to be used for, e.g., marshalling values. COMPOUND, UNION, INTERFACE and ENUM type descriptions may be partly initialized (see typelib_static_...(), typelib_TypeDescription::bComplete). For interface type descriptions, this will also diff --git a/cppu/prj/d.lst b/cppu/prj/d.lst index f019d78ad661..3355b6dc2c52 100644 --- a/cppu/prj/d.lst +++ b/cppu/prj/d.lst @@ -59,7 +59,7 @@ mkdir: %_DEST%\inc%_EXT%\uno ..\%__SRC%\lib\ipurpenvhelper* %_DEST%\lib%_EXT%\* ..\%__SRC%\bin\purpe*.dll %_DEST%\bin%_EXT%\* -..\%__SRC%\lib\libuno_purpenvhelper* %_DEST%\lib%_EXT%\* +..\%__SRC%\lib\libuno_purpenvhelper*.*.* %_DEST%\lib%_EXT%\* ..\%__SRC%\bin\unsafe_u*.dll %_DEST%\bin%_EXT%\* ..\%__SRC%\lib\libunsafe_uno_uno.* %_DEST%\lib%_EXT%\* @@ -68,3 +68,4 @@ mkdir: %_DEST%\inc%_EXT%\uno ..\%__SRC%\lib\libaffine_uno_uno.* %_DEST%\lib%_EXT%\* linklib: libuno_cppu.*.* +linklib: libuno_purpenvhelper*.*.* diff --git a/cppu/source/typelib/static_types.cxx b/cppu/source/typelib/static_types.cxx index f0787c19ae5c..c1221e4e84a3 100644 --- a/cppu/source/typelib/static_types.cxx +++ b/cppu/source/typelib/static_types.cxx @@ -671,78 +671,6 @@ void SAL_CALL typelib_static_array_type_init( } } -//################################################################################################## -void SAL_CALL typelib_static_union_type_init( - typelib_TypeDescriptionReference ** ppRef, - const sal_Char * pTypeName, - typelib_TypeDescriptionReference * pDiscriminantTypeRef, - sal_Int64 nDefaultDiscriminant, - typelib_TypeDescriptionReference * pDefaultTypeRef, - sal_Int32 nMembers, - sal_Int64 * pDiscriminants, - typelib_TypeDescriptionReference ** pMemberTypes ) - SAL_THROW_EXTERN_C() -{ - if (! *ppRef) - { - MutexGuard aGuard( typelib_StaticInitMutex::get() ); - if (! *ppRef) - { - OSL_ASSERT( ! TYPELIB_TYPEDESCRIPTIONREFERENCE_ISREALLYWEAK(typelib_TypeClass_UNION) ); - OUString aTypeName( OUString::createFromAscii( pTypeName ) ); - *ppRef = igetTypeByName( aTypeName.pData ); - if (!*ppRef) - { - typelib_UnionTypeDescription * pUnion = 0; - ::typelib_typedescription_newEmpty( - (typelib_TypeDescription **)&pUnion, typelib_TypeClass_UNION, aTypeName.pData ); - // discriminant type - ::typelib_typedescriptionreference_acquire( pUnion->pDiscriminantTypeRef = pDiscriminantTypeRef ); - - sal_Int32 nPos; - - pUnion->nMembers = nMembers; - // default discriminant - if (nMembers) - { - pUnion->pDiscriminants = new sal_Int64[ nMembers ]; - for ( nPos = nMembers; nPos--; ) - { - pUnion->pDiscriminants[nPos] = pDiscriminants[nPos]; - } - } - // default default discriminant - pUnion->nDefaultDiscriminant = nDefaultDiscriminant; - - // union member types - pUnion->ppTypeRefs = new typelib_TypeDescriptionReference *[ nMembers ]; - for ( nPos = nMembers; nPos--; ) - { - ::typelib_typedescriptionreference_acquire( - pUnion->ppTypeRefs[nPos] = pMemberTypes[nPos] ); - } - - // default union type - ::typelib_typedescriptionreference_acquire( pUnion->pDefaultTypeRef = pDefaultTypeRef ); - - typelib_TypeDescription * pReg = (typelib_TypeDescription *)pUnion; - - pReg->pWeakRef = (typelib_TypeDescriptionReference *)pReg; - pReg->nSize = typelib_typedescription_getAlignedUnoSize( pReg, 0, pReg->nAlignment ); - pReg->nAlignment = adjustAlignment( pReg->nAlignment ); - pReg->bComplete = sal_False; - - ::typelib_typedescription_register( &pReg ); - *ppRef = (typelib_TypeDescriptionReference *)pReg; - OSL_ASSERT( *ppRef == pReg->pWeakRef ); - } -#ifndef CPPU_LEAK_STATIC_DATA - // another static ref - ++((*ppRef)->nStaticRefCount); -#endif - } - } -} } // extern "C" } diff --git a/cppu/source/uno/lbmap.cxx b/cppu/source/uno/lbmap.cxx index 91eefb4097b1..131f5c8b137e 100644 --- a/cppu/source/uno/lbmap.cxx +++ b/cppu/source/uno/lbmap.cxx @@ -164,29 +164,7 @@ struct MappingsData Mutex aNegativeLibsMutex; t_OUStringSet aNegativeLibs; - ~MappingsData() SAL_THROW( () ); }; -//__________________________________________________________________________________________________ -MappingsData::~MappingsData() SAL_THROW( () ) -{ -#if OSL_DEBUG_LEVEL > 1 - OSL_ENSURE( aName2Entry.empty() && aMapping2Entry.empty(), "### unrevoked mappings!" ); - t_OUString2Entry::const_iterator iPos( aName2Entry.begin() ); - while (iPos != aName2Entry.end()) - { - MappingEntry * pEntry = (*iPos).second; - OString aName( OUStringToOString( pEntry->aMappingName, RTL_TEXTENCODING_ASCII_US ) ); - OSL_TRACE( "### unrevoked mapping: %s", aName.getStr() ); - ++iPos; - } - OSL_ENSURE( aCallbacks.empty(), "### callbacks left!" ); - if (aCallbacks.size()) - { - OString aSize( OString::valueOf( (sal_Int32)aCallbacks.size() ) ); - OSL_TRACE( "### %d unrevoked callbacks", aSize.getStr() ); - } -#endif -} //-------------------------------------------------------------------------------------------------- static MappingsData & getMappingsData() SAL_THROW( () ) { diff --git a/cppu/util/extra.mk b/cppu/util/extra.mk index cc18523b92b9..dc06e9284e72 100644 --- a/cppu/util/extra.mk +++ b/cppu/util/extra.mk @@ -46,7 +46,7 @@ USE_DEFFILE :=TRUE SHL3TARGET := unsafe_uno_uno SHL3IMPLIB := i$(SHL3TARGET) -SHL3STDLIBS := $(purpenv_helper_LIB) $(CPPULIB) $(SALHELPERLIB) $(SALLIB) +SHL3STDLIBS := $(purpenv_helper_LIB) $(SALLIB) SHL3OBJS := $(SLO)$/UnsafeBridge.obj .IF "$(GUI)"=="OS2" SHL3VERSIONMAP=unsafe_os2.map @@ -60,7 +60,7 @@ SHL3RPATH := URELIB SHL4TARGET := affine_uno_uno SHL4IMPLIB := i$(SHL4TARGET) -SHL4STDLIBS := $(purpenv_helper_LIB) $(CPPULIB) $(SALHELPERLIB) $(SALLIB) +SHL4STDLIBS := $(purpenv_helper_LIB) $(SALLIB) SHL4OBJS := $(SLO)$/AffineBridge.obj .IF "$(GUI)"=="OS2" SHL4VERSIONMAP=unsafe_os2.map diff --git a/cppu/util/makefile.mk b/cppu/util/makefile.mk index 8264639311b8..d9c80645d29b 100644 --- a/cppu/util/makefile.mk +++ b/cppu/util/makefile.mk @@ -60,7 +60,7 @@ SHL1TARGET=$(TARGET)$(UDK_MAJOR) SHL1TARGET= uno_$(TARGET) .ENDIF -SHL1STDLIBS = $(SALLIB) $(SALHELPERLIB) +SHL1STDLIBS = $(SALLIB) SHL1DEPN= SHL1IMPLIB=i$(TARGET) @@ -85,7 +85,7 @@ SHL2VERSIONMAP:=$(SHL2TARGET).map .ENDIF # "$(GUI)$(COM)"=="WNTGCC" SHL2DEF := $(MISC)$/$(SHL2TARGET).def SHL2IMPLIB := i$(SHL2TARGET) -SHL2STDLIBS := $(CPPULIB) $(SALHELPERLIB) $(SALLIB) +SHL2STDLIBS := $(CPPULIB) $(SALLIB) SHL2RPATH := URELIB SHL2OBJS := \ $(SLO)$/helper_purpenv_Environment.obj \ diff --git a/cppuhelper/source/component_context.cxx b/cppuhelper/source/component_context.cxx index 132eb6c40841..50103466b4a2 100644 --- a/cppuhelper/source/component_context.cxx +++ b/cppuhelper/source/component_context.cxx @@ -875,7 +875,7 @@ Reference< XComponentContext > SAL_CALL createComponentContext( SAL_THROW( () ) { uno::Environment curr_env(Environment::getCurrent()); - uno::Environment source_env(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_STRINGIFY(CPPU_ENV) ":unsafe"))); + uno::Environment source_env(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_STRINGIFY(CPPU_ENV)))); uno::Mapping curr2source(curr_env, source_env); uno::Mapping source2curr(source_env, curr_env); diff --git a/idlc/source/makefile.mk b/idlc/source/makefile.mk index 51e1d479b93d..5f7b1d12ade6 100644 --- a/idlc/source/makefile.mk +++ b/idlc/source/makefile.mk @@ -109,7 +109,6 @@ APP1OBJS= $(OBJFILES) APP1RPATH=SDK APP1STDLIBS = \ - $(STORELIB)\ $(REGLIB) \ $(SALLIB) \ $(SALHELPERLIB) diff --git a/idlc/source/scanner.ll b/idlc/source/scanner.ll index ea122c531400..74f5c82fded1 100644 --- a/idlc/source/scanner.ll +++ b/idlc/source/scanner.ll @@ -254,6 +254,12 @@ static void parseLineAndFile(sal_Char* pBuf) #pragma disable_warn #elif defined _MSC_VER #pragma warning(push, 1) +/**/ +#ifdef yywrap +#undef yywrap +#define yywrap() 1 +#endif +/**/ #endif %} diff --git a/javaunohelper/com/sun/star/comp/JavaUNOHelperServices.java b/javaunohelper/com/sun/star/comp/JavaUNOHelperServices.java index 010be69c0308..8628927adb69 100644 --- a/javaunohelper/com/sun/star/comp/JavaUNOHelperServices.java +++ b/javaunohelper/com/sun/star/comp/JavaUNOHelperServices.java @@ -30,15 +30,8 @@ package com.sun.star.comp; import com.sun.star.lib.uno.helper.Factory; -import com.sun.star.lang.XMultiComponentFactory; import com.sun.star.lang.XSingleComponentFactory; -import com.sun.star.uno.UnoRuntime; -import com.sun.star.uno.XComponentContext; import com.sun.star.registry.XRegistryKey; -import com.sun.star.lang.XServiceInfo; -import com.sun.star.uno.Type; -import com.sun.star.uno.Any; -import com.sun.star.uno.AnyConverter; import com.sun.star.comp.juhtest.SmoketestCommandEnvironment; diff --git a/javaunohelper/com/sun/star/comp/helper/Bootstrap.java b/javaunohelper/com/sun/star/comp/helper/Bootstrap.java index 027581b287cb..c5037b2f1566 100644 --- a/javaunohelper/com/sun/star/comp/helper/Bootstrap.java +++ b/javaunohelper/com/sun/star/comp/helper/Bootstrap.java @@ -30,7 +30,6 @@ package com.sun.star.comp.helper; -import com.sun.star.beans.XPropertySet; import com.sun.star.bridge.UnoUrlResolver; import com.sun.star.bridge.XUnoUrlResolver; import com.sun.star.comp.loader.JavaLoader; @@ -38,7 +37,6 @@ import com.sun.star.container.XSet; import com.sun.star.lang.XInitialization; import com.sun.star.lang.XMultiServiceFactory; import com.sun.star.lang.XMultiComponentFactory; -import com.sun.star.lang.XSingleServiceFactory; import com.sun.star.lang.XSingleComponentFactory; import com.sun.star.lib.util.NativeLibraryLoader; import com.sun.star.loader.XImplementationLoader; diff --git a/javaunohelper/com/sun/star/comp/juhtest/SmoketestCommandEnvironment.java b/javaunohelper/com/sun/star/comp/juhtest/SmoketestCommandEnvironment.java index d33897050aa9..cafa7e0a412d 100644 --- a/javaunohelper/com/sun/star/comp/juhtest/SmoketestCommandEnvironment.java +++ b/javaunohelper/com/sun/star/comp/juhtest/SmoketestCommandEnvironment.java @@ -34,8 +34,6 @@ import com.sun.star.lib.uno.helper.WeakBase; import com.sun.star.uno.UnoRuntime; import com.sun.star.uno.XComponentContext; import com.sun.star.lang.XServiceInfo; -import com.sun.star.uno.Any; -import com.sun.star.uno.AnyConverter; import com.sun.star.ucb.XCommandEnvironment; /** This service is for use by the smoketest which checks the installation of diff --git a/javaunohelper/com/sun/star/lib/uno/adapter/ByteArrayToXInputStreamAdapter.java b/javaunohelper/com/sun/star/lib/uno/adapter/ByteArrayToXInputStreamAdapter.java index 918bb59ca904..ccd886f937c9 100755 --- a/javaunohelper/com/sun/star/lib/uno/adapter/ByteArrayToXInputStreamAdapter.java +++ b/javaunohelper/com/sun/star/lib/uno/adapter/ByteArrayToXInputStreamAdapter.java @@ -44,7 +44,6 @@ package com.sun.star.lib.uno.adapter; import com.sun.star.io.XInputStream; import com.sun.star.io.XSeekable; import com.sun.star.lib.uno.helper.ComponentBase; -import java.io.*; public class ByteArrayToXInputStreamAdapter extends ComponentBase diff --git a/javaunohelper/com/sun/star/lib/uno/helper/ComponentBase.java b/javaunohelper/com/sun/star/lib/uno/helper/ComponentBase.java index a53832f4b75c..c6bc512fafab 100644 --- a/javaunohelper/com/sun/star/lib/uno/helper/ComponentBase.java +++ b/javaunohelper/com/sun/star/lib/uno/helper/ComponentBase.java @@ -32,9 +32,6 @@ package com.sun.star.lib.uno.helper; import com.sun.star.lang.XComponent; import com.sun.star.lang.XEventListener; import com.sun.star.lang.EventObject; -import java.util.List; -import java.util.Collections; -import java.util.LinkedList; import com.sun.star.uno.Type; /** This class can be used as the base class for UNO components. In addition to the functionality ,which diff --git a/javaunohelper/com/sun/star/lib/uno/helper/InterfaceContainer.java b/javaunohelper/com/sun/star/lib/uno/helper/InterfaceContainer.java index 4079e74bb44c..44a6be5e5f7a 100644 --- a/javaunohelper/com/sun/star/lib/uno/helper/InterfaceContainer.java +++ b/javaunohelper/com/sun/star/lib/uno/helper/InterfaceContainer.java @@ -29,8 +29,6 @@ ************************************************************************/ package com.sun.star.lib.uno.helper; -import java.util.ArrayList; -import java.util.List; import java.util.Iterator; import java.util.ListIterator; import java.util.NoSuchElementException; @@ -38,9 +36,6 @@ import java.util.Collection; import com.sun.star.lang.EventObject; import com.sun.star.lang.XEventListener; import com.sun.star.uno.UnoRuntime; -import java.lang.ClassCastException; -import com.sun.star.uno.XInterface; -import java.util.AbstractList; /** * This class is a container for interfaces. diff --git a/javaunohelper/com/sun/star/lib/uno/helper/MultiTypeInterfaceContainer.java b/javaunohelper/com/sun/star/lib/uno/helper/MultiTypeInterfaceContainer.java index 89426e1e582f..c8d401de287b 100644 --- a/javaunohelper/com/sun/star/lib/uno/helper/MultiTypeInterfaceContainer.java +++ b/javaunohelper/com/sun/star/lib/uno/helper/MultiTypeInterfaceContainer.java @@ -31,7 +31,6 @@ package com.sun.star.lib.uno.helper; import com.sun.star.uno.Type; import com.sun.star.lang.EventObject; -import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Iterator; diff --git a/javaunohelper/com/sun/star/lib/uno/helper/PropertySet.java b/javaunohelper/com/sun/star/lib/uno/helper/PropertySet.java index db885c52c913..b4b2d02ab148 100644 --- a/javaunohelper/com/sun/star/lib/uno/helper/PropertySet.java +++ b/javaunohelper/com/sun/star/lib/uno/helper/PropertySet.java @@ -49,8 +49,6 @@ import com.sun.star.beans.XPropertySetInfo; import com.sun.star.beans.XFastPropertySet; import com.sun.star.beans.PropertyVetoException; import com.sun.star.beans.XMultiPropertySet; -import java.util.ArrayList; -import java.util.List; import java.util.Iterator; import java.util.Collection; import java.util.HashMap; diff --git a/javaunohelper/com/sun/star/lib/uno/helper/UnoUrl.java b/javaunohelper/com/sun/star/lib/uno/helper/UnoUrl.java index 4c9b4ae6d36a..70a610c38d1b 100644 --- a/javaunohelper/com/sun/star/lib/uno/helper/UnoUrl.java +++ b/javaunohelper/com/sun/star/lib/uno/helper/UnoUrl.java @@ -29,9 +29,6 @@ ************************************************************************/ package com.sun.star.lib.uno.helper; -import java.io.ByteArrayInputStream; -import java.io.DataInputStream; -import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.HashMap; import java.util.Vector; diff --git a/javaunohelper/com/sun/star/lib/uno/helper/WeakAdapter.java b/javaunohelper/com/sun/star/lib/uno/helper/WeakAdapter.java index 61a7e177224c..10fdc5f426a8 100644 --- a/javaunohelper/com/sun/star/lib/uno/helper/WeakAdapter.java +++ b/javaunohelper/com/sun/star/lib/uno/helper/WeakAdapter.java @@ -32,7 +32,6 @@ package com.sun.star.lib.uno.helper; import java.lang.ref.WeakReference; import com.sun.star.uno.XAdapter; import com.sun.star.uno.XReference; -import java.util.Iterator; import java.util.List; import java.util.Collections; import java.util.LinkedList; diff --git a/javaunohelper/com/sun/star/lib/uno/helper/WeakBase.java b/javaunohelper/com/sun/star/lib/uno/helper/WeakBase.java index 213f542bfe1f..28d9c9bd35a9 100644 --- a/javaunohelper/com/sun/star/lib/uno/helper/WeakBase.java +++ b/javaunohelper/com/sun/star/lib/uno/helper/WeakBase.java @@ -33,9 +33,7 @@ import com.sun.star.uno.XWeak; import com.sun.star.uno.XAdapter; import com.sun.star.lang.XTypeProvider; import com.sun.star.uno.Type; -import java.lang.reflect.Field; import java.util.Vector; -import com.sun.star.uno.UnoRuntime; import java.util.Map; import java.util.Hashtable; diff --git a/jurt/com/sun/star/comp/bridgefactory/BridgeFactory.java b/jurt/com/sun/star/comp/bridgefactory/BridgeFactory.java index 61b420ed6589..819ef024acfa 100644 --- a/jurt/com/sun/star/comp/bridgefactory/BridgeFactory.java +++ b/jurt/com/sun/star/comp/bridgefactory/BridgeFactory.java @@ -31,13 +31,9 @@ package com.sun.star.comp.bridgefactory; import java.math.BigInteger; -import java.util.Enumeration; import java.util.Vector; -import com.sun.star.lang.XEventListener; -import com.sun.star.lang.XComponent; - import com.sun.star.bridge.BridgeExistsException; import com.sun.star.bridge.XBridge; import com.sun.star.bridge.XBridgeFactory; diff --git a/jurt/com/sun/star/comp/connections/ConstantInstanceProvider.java b/jurt/com/sun/star/comp/connections/ConstantInstanceProvider.java index 4a7c50f9633f..bf31e731cdf7 100644 --- a/jurt/com/sun/star/comp/connections/ConstantInstanceProvider.java +++ b/jurt/com/sun/star/comp/connections/ConstantInstanceProvider.java @@ -33,7 +33,6 @@ package com.sun.star.comp.connections; import com.sun.star.bridge.XInstanceProvider; import com.sun.star.lang.XMultiServiceFactory; -import com.sun.star.lang.XServiceInfo; import com.sun.star.lang.XSingleServiceFactory; import com.sun.star.registry.XRegistryKey; diff --git a/jurt/com/sun/star/comp/connections/PipedConnection.java b/jurt/com/sun/star/comp/connections/PipedConnection.java index 12a71f0be316..1c508206b86b 100644 --- a/jurt/com/sun/star/comp/connections/PipedConnection.java +++ b/jurt/com/sun/star/comp/connections/PipedConnection.java @@ -36,7 +36,6 @@ import com.sun.star.comp.loader.FactoryHelper; import com.sun.star.connection.XConnection; import com.sun.star.lang.XMultiServiceFactory; -import com.sun.star.lang.XServiceInfo; import com.sun.star.lang.XSingleServiceFactory; import com.sun.star.registry.XRegistryKey; diff --git a/jurt/com/sun/star/comp/loader/JavaLoader.java b/jurt/com/sun/star/comp/loader/JavaLoader.java index a07367fd1e55..3565be7031a3 100644 --- a/jurt/com/sun/star/comp/loader/JavaLoader.java +++ b/jurt/com/sun/star/comp/loader/JavaLoader.java @@ -31,8 +31,6 @@ package com.sun.star.comp.loader; import java.lang.reflect.Method; -import java.lang.reflect.Constructor; -import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; @@ -42,26 +40,18 @@ import com.sun.star.loader.CannotActivateFactoryException; import com.sun.star.loader.XImplementationLoader; import com.sun.star.registry.CannotRegisterImplementationException; -import com.sun.star.registry.RegistryKeyType; -import com.sun.star.registry.RegistryValueType; -import com.sun.star.registry.InvalidRegistryException; -import com.sun.star.registry.InvalidValueException; import com.sun.star.registry.XRegistryKey; -import com.sun.star.registry.XSimpleRegistry; import com.sun.star.lang.XSingleComponentFactory; import com.sun.star.lang.XSingleServiceFactory; import com.sun.star.lang.XMultiServiceFactory; import com.sun.star.lang.XServiceInfo; -import com.sun.star.lang.ServiceNotRegisteredException; -import com.sun.star.lang.WrappedTargetException; import com.sun.star.lang.XInitialization; import com.sun.star.uno.XComponentContext; import com.sun.star.beans.XPropertySet; import com.sun.star.util.XMacroExpander; -import com.sun.star.uno.XInterface; import com.sun.star.uno.Type; import com.sun.star.uno.UnoRuntime; @@ -69,8 +59,6 @@ import com.sun.star.lib.util.StringHelper; import com.sun.star.uno.AnyConverter; -import java.io.IOException; -import java.net.MalformedURLException; /** * The <code>JavaLoader</code> class provides the functionality of the <code>com.sun.star.loader.Java</code> diff --git a/jurt/com/sun/star/comp/loader/JavaLoaderFactory.java b/jurt/com/sun/star/comp/loader/JavaLoaderFactory.java index be9aab98f0a5..15490069cdef 100644 --- a/jurt/com/sun/star/comp/loader/JavaLoaderFactory.java +++ b/jurt/com/sun/star/comp/loader/JavaLoaderFactory.java @@ -33,11 +33,7 @@ package com.sun.star.comp.loader; import com.sun.star.lang.XSingleServiceFactory; import com.sun.star.lang.XMultiServiceFactory; import com.sun.star.lang.XServiceInfo; -import com.sun.star.lang.ServiceNotRegisteredException; -import com.sun.star.lang.WrappedTargetException; -import com.sun.star.uno.RuntimeException; -import com.sun.star.uno.Exception; public class JavaLoaderFactory implements XSingleServiceFactory, XServiceInfo { diff --git a/jurt/com/sun/star/comp/servicemanager/ServiceManager.java b/jurt/com/sun/star/comp/servicemanager/ServiceManager.java index 093b354ef8d8..adb0c54c7e28 100644 --- a/jurt/com/sun/star/comp/servicemanager/ServiceManager.java +++ b/jurt/com/sun/star/comp/servicemanager/ServiceManager.java @@ -36,8 +36,6 @@ import com.sun.star.uno.XComponentContext; import com.sun.star.container.XSet; import com.sun.star.container.XContentEnumerationAccess; import com.sun.star.container.XEnumeration; -import com.sun.star.container.XEnumerationAccess; -import com.sun.star.container.XElementAccess; import com.sun.star.lang.XComponent; import com.sun.star.lang.XEventListener; @@ -51,12 +49,8 @@ import com.sun.star.lang.XMultiComponentFactory; import com.sun.star.registry.XRegistryKey; import com.sun.star.registry.XSimpleRegistry; -import com.sun.star.loader.CannotActivateFactoryException; import com.sun.star.loader.XImplementationLoader; -import com.sun.star.lang.XEventListener; -//import com.sun.star.lang.EventObject; - import java.lang.reflect.InvocationTargetException; /** diff --git a/jurt/com/sun/star/comp/urlresolver/UrlResolver.java b/jurt/com/sun/star/comp/urlresolver/UrlResolver.java index e4f3c653a7df..cabd51d42404 100644 --- a/jurt/com/sun/star/comp/urlresolver/UrlResolver.java +++ b/jurt/com/sun/star/comp/urlresolver/UrlResolver.java @@ -31,13 +31,8 @@ package com.sun.star.comp.urlresolver; -import java.util.Enumeration; - - -import com.sun.star.bridge.BridgeExistsException; import com.sun.star.bridge.XBridge; import com.sun.star.bridge.XBridgeFactory; -import com.sun.star.bridge.XInstanceProvider; import com.sun.star.bridge.XUnoUrlResolver; import com.sun.star.comp.loader.FactoryHelper; diff --git a/jurt/com/sun/star/lib/connections/pipe/PipeConnection.java b/jurt/com/sun/star/lib/connections/pipe/PipeConnection.java index 4be333605812..1039c37cfbbc 100644 --- a/jurt/com/sun/star/lib/connections/pipe/PipeConnection.java +++ b/jurt/com/sun/star/lib/connections/pipe/PipeConnection.java @@ -29,11 +29,7 @@ ************************************************************************/ package com.sun.star.lib.connections.pipe; -import java.io.BufferedInputStream; -import java.io.BufferedOutputStream; -import java.io.InputStream; import java.io.IOException; -import java.io.OutputStream; import java.util.StringTokenizer; import java.util.Enumeration; diff --git a/jurt/com/sun/star/lib/connections/pipe/pipeAcceptor.java b/jurt/com/sun/star/lib/connections/pipe/pipeAcceptor.java index de304102ee71..7de17241e3f1 100644 --- a/jurt/com/sun/star/lib/connections/pipe/pipeAcceptor.java +++ b/jurt/com/sun/star/lib/connections/pipe/pipeAcceptor.java @@ -38,8 +38,6 @@ import com.sun.star.connection.XConnection; import com.sun.star.lang.XMultiServiceFactory; import com.sun.star.lang.XSingleServiceFactory; import com.sun.star.registry.XRegistryKey; -import java.io.IOException; -import java.net.InetAddress; /** * A component that implements the <code>XAcceptor</code> interface. diff --git a/jurt/com/sun/star/lib/connections/pipe/pipeConnector.java b/jurt/com/sun/star/lib/connections/pipe/pipeConnector.java index 79cf0e0c5486..f296c2f58185 100644 --- a/jurt/com/sun/star/lib/connections/pipe/pipeConnector.java +++ b/jurt/com/sun/star/lib/connections/pipe/pipeConnector.java @@ -38,9 +38,6 @@ import com.sun.star.connection.XConnector; import com.sun.star.lang.XMultiServiceFactory; import com.sun.star.lang.XSingleServiceFactory; import com.sun.star.registry.XRegistryKey; -import java.io.IOException; -import java.net.InetAddress; -import java.net.UnknownHostException; /** * A component that implements the <code>XConnector</code> interface. diff --git a/jurt/com/sun/star/lib/uno/bridges/java_remote/java_remote_bridge.java b/jurt/com/sun/star/lib/uno/bridges/java_remote/java_remote_bridge.java index 664f636514f4..78213624d4ed 100644 --- a/jurt/com/sun/star/lib/uno/bridges/java_remote/java_remote_bridge.java +++ b/jurt/com/sun/star/lib/uno/bridges/java_remote/java_remote_bridge.java @@ -34,10 +34,6 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import java.lang.reflect.Array; -import java.lang.reflect.Constructor; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Enumeration; @@ -53,15 +49,10 @@ import com.sun.star.lib.util.DisposeNotifier; import com.sun.star.bridge.XBridge; import com.sun.star.bridge.XInstanceProvider; -import com.sun.star.comp.loader.FactoryHelper; - import com.sun.star.connection.XConnection; -import com.sun.star.container.NoSuchElementException; import com.sun.star.lang.EventObject; import com.sun.star.lang.XComponent; import com.sun.star.lang.XEventListener; -import com.sun.star.lang.XMultiServiceFactory; -import com.sun.star.lang.XSingleServiceFactory; import com.sun.star.lang.DisposedException; import com.sun.star.lib.uno.environments.java.java_environment; @@ -76,7 +67,6 @@ import com.sun.star.lib.uno.environments.remote.IThreadPool; import com.sun.star.lib.uno.typedesc.MethodDescription; import com.sun.star.lib.uno.typedesc.TypeDescription; -import com.sun.star.registry.XRegistryKey; import com.sun.star.uno.IBridge; import com.sun.star.uno.IEnvironment; diff --git a/jurt/com/sun/star/lib/uno/environments/remote/JavaThreadPool.java b/jurt/com/sun/star/lib/uno/environments/remote/JavaThreadPool.java index 3ddd9e16071a..99d0773dad41 100644 --- a/jurt/com/sun/star/lib/uno/environments/remote/JavaThreadPool.java +++ b/jurt/com/sun/star/lib/uno/environments/remote/JavaThreadPool.java @@ -30,13 +30,6 @@ package com.sun.star.lib.uno.environments.remote; - -import java.util.Enumeration; -import java.util.Hashtable; - - -import com.sun.star.uno.UnoRuntime; - /** * This class implements a java thread pool. * <p> diff --git a/jurt/com/sun/star/lib/uno/environments/remote/Job.java b/jurt/com/sun/star/lib/uno/environments/remote/Job.java index d4c9d56881d3..c625ca6b5317 100644 --- a/jurt/com/sun/star/lib/uno/environments/remote/Job.java +++ b/jurt/com/sun/star/lib/uno/environments/remote/Job.java @@ -31,13 +31,11 @@ package com.sun.star.lib.uno.environments.remote; -import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; import com.sun.star.lib.uno.typedesc.MethodDescription; import com.sun.star.uno.Any; diff --git a/jurt/com/sun/star/lib/uno/environments/remote/JobQueue.java b/jurt/com/sun/star/lib/uno/environments/remote/JobQueue.java index c0f45ec44c84..f09f8f48c72d 100644 --- a/jurt/com/sun/star/lib/uno/environments/remote/JobQueue.java +++ b/jurt/com/sun/star/lib/uno/environments/remote/JobQueue.java @@ -31,12 +31,6 @@ package com.sun.star.lib.uno.environments.remote; -import java.util.Enumeration; -import java.util.Hashtable; -import com.sun.star.uno.UnoRuntime; - - - /** * The <code>JobQueue</code> implements a queue for jobs. * For every jobs thread id exists a job queue which is registered diff --git a/jurt/com/sun/star/lib/util/NativeLibraryLoader.java b/jurt/com/sun/star/lib/util/NativeLibraryLoader.java index d2226dcc6c3a..9e05851673d3 100644 --- a/jurt/com/sun/star/lib/util/NativeLibraryLoader.java +++ b/jurt/com/sun/star/lib/util/NativeLibraryLoader.java @@ -30,13 +30,8 @@ package com.sun.star.lib.util; import java.io.File; -import java.lang.reflect.Constructor; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; import java.net.URL; import java.net.URLClassLoader; -import java.net.URLDecoder; -import java.net.URLEncoder; /** Helper functions to locate and load native files. diff --git a/jurt/com/sun/star/lib/util/UrlToFileMapper.java b/jurt/com/sun/star/lib/util/UrlToFileMapper.java index d27fba911cf7..c2a93fc44a74 100644 --- a/jurt/com/sun/star/lib/util/UrlToFileMapper.java +++ b/jurt/com/sun/star/lib/util/UrlToFileMapper.java @@ -34,7 +34,6 @@ import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.net.URL; -import java.net.URLClassLoader; import java.net.URLDecoder; import java.net.URLEncoder; diff --git a/jurt/com/sun/star/uno/AnyConverter.java b/jurt/com/sun/star/uno/AnyConverter.java index 76ad74ee84fd..cbd13fe8589a 100644 --- a/jurt/com/sun/star/uno/AnyConverter.java +++ b/jurt/com/sun/star/uno/AnyConverter.java @@ -1,5 +1,5 @@ package com.sun.star.uno; -import com.sun.star.lang.IllegalArgumentException; + /** This class provides static methods which aim at exploring the contents of an * Any and extracting its value. All public methods take an Object argument that * either is the immediate object, such as Boolean, Type, interface implementation, diff --git a/jvmaccess/inc/jvmaccess/virtualmachine.hxx b/jvmaccess/inc/jvmaccess/virtualmachine.hxx index 978d0c9c4420..d5300fa2b67e 100644 --- a/jvmaccess/inc/jvmaccess/virtualmachine.hxx +++ b/jvmaccess/inc/jvmaccess/virtualmachine.hxx @@ -130,14 +130,16 @@ public: thread that has called JNI_CreateJavaVM in case the virtual machine has been started via the JNI Invocation API, and it must not already have called DetachCurrentThread; or it must be executing native code called - from a "primordial" virtual machine). This environment pointer is used - to obtain a reference to the thread's current context class loader - (java.lang.Thread.getCurrentClassLoader). If later a native thread is - attached to the virtual machine, that thread's context class loader - would be null, so the AttachGuard first of all sets it to the saved - value. In a nutshell, this means that all native threads attached to - the virtual machine use the context class loader of the "initial Java - thread." + from a "primordial" virtual machine). This environment pointer was + formerly used to obtain a reference to the thread's current context + class loader (java.lang.Thread.getCurrentClassLoader; if later a native + thread was attached to the virtual machine, that thread's context class + loader would be null, so the AttachGuard first of all set it to the + saved value; this feature has been removed again for performance reasons + and because the default context class loader is often not useful, so + that code relying on a context class loader has to set one explicitly, + anyway). This parameter is currently unused (but may be used again in + the future). */ VirtualMachine(JavaVM * pVm, int nVersion, bool bDestroy, JNIEnv * pMainThreadEnv); @@ -148,10 +150,6 @@ private: virtual ~VirtualMachine(); - void acquireInitialContextClassLoader(JNIEnv * pEnv); - - void releaseInitialContextClassLoader() const; - JNIEnv * attachThread(bool * pAttached) const; void detachThread() const; @@ -159,7 +157,6 @@ private: JavaVM * m_pVm; jint m_nVersion; bool m_bDestroy; - jobject m_aInitialContextClassLoader; friend class AttachGuard; // to access attachThread, detachThread }; diff --git a/jvmaccess/source/virtualmachine.cxx b/jvmaccess/source/virtualmachine.cxx index c047195629bc..b6d6043e1e6a 100644 --- a/jvmaccess/source/virtualmachine.cxx +++ b/jvmaccess/source/virtualmachine.cxx @@ -71,17 +71,15 @@ VirtualMachine::VirtualMachine(JavaVM * pVm, int nVersion, bool bDestroy, JNIEnv * pMainThreadEnv): m_pVm(pVm), m_nVersion(nVersion), m_bDestroy(bDestroy) { + (void) pMainThreadEnv; // avoid warnings #ifdef SOLAR_JAVA OSL_ENSURE(pVm != 0 && nVersion >= JNI_VERSION_1_2 && pMainThreadEnv != 0, "bad parameter"); #endif - - acquireInitialContextClassLoader(pMainThreadEnv); } VirtualMachine::~VirtualMachine() { - releaseInitialContextClassLoader(); if (m_bDestroy) { // Do not destroy the VM. Under Java 1.3, the AWT event loop thread is @@ -95,48 +93,6 @@ VirtualMachine::~VirtualMachine() } } -void VirtualMachine::acquireInitialContextClassLoader(JNIEnv * pEnv) -{ -#ifdef SOLAR_JAVA - jclass aClass = pEnv->FindClass("java/lang/Thread"); - jmethodID aMethod1 = pEnv->GetStaticMethodID(aClass, "currentThread", - "()Ljava/lang/Thread;"); - jobject aThread = pEnv->CallStaticObjectMethod(aClass, aMethod1); - jmethodID aMethod2 = pEnv->GetMethodID(aClass, "getContextClassLoader", - "()Ljava/lang/ClassLoader;"); - jobject aClassLoader = pEnv->CallObjectMethod(aThread, aMethod2); - OSL_ENSURE(!pEnv->ExceptionCheck(), "JNI: exception occured"); - pEnv->ExceptionClear(); - if (aClassLoader == 0) - m_aInitialContextClassLoader = 0; - else - { - m_aInitialContextClassLoader = pEnv->NewGlobalRef(aClassLoader); - OSL_ENSURE(m_aInitialContextClassLoader != 0, - "JNI: NewGlobalRef failed"); - } -#endif -} - -void VirtualMachine::releaseInitialContextClassLoader() const -{ -#ifdef SOLAR_JAVA - if (m_aInitialContextClassLoader != 0) - { - JNIEnv * pEnv; - jint n = m_pVm->AttachCurrentThread(reinterpret_cast< void ** >(&pEnv), - 0); - OSL_ENSURE(n == JNI_OK, "JNI: AttachCurrentThread failed"); - if (n == JNI_OK) - { - pEnv->DeleteGlobalRef(m_aInitialContextClassLoader); - n = m_pVm->DetachCurrentThread(); - OSL_ENSURE(n == JNI_OK, "JNI: DetachCurrentThread failed"); - } - } -#endif -} - JNIEnv * VirtualMachine::attachThread(bool * pAttached) const { #ifndef SOLAR_JAVA @@ -153,19 +109,6 @@ JNIEnv * VirtualMachine::attachThread(bool * pAttached) const if (m_pVm->AttachCurrentThread(reinterpret_cast< void ** >(&pEnv), 0) != JNI_OK) return 0; - if (m_aInitialContextClassLoader != 0) - { - jclass aClass = pEnv->FindClass("java/lang/Thread"); - jmethodID aMethod1 = pEnv->GetStaticMethodID( - aClass, "currentThread", "()Ljava/lang/Thread;"); - jobject aThread = pEnv->CallStaticObjectMethod(aClass, aMethod1); - jmethodID aMethod2 = pEnv->GetMethodID( - aClass, "setContextClassLoader", "(Ljava/lang/ClassLoader;)V"); - pEnv->CallVoidMethod(aThread, aMethod2, - m_aInitialContextClassLoader); - OSL_ENSURE(!pEnv->ExceptionCheck(), "JNI: exception occured"); - pEnv->ExceptionClear(); - } *pAttached = true; } else diff --git a/jvmfwk/plugins/sunmajor/javaenvsetup/javaldx.cxx b/jvmfwk/plugins/sunmajor/javaenvsetup/javaldx.cxx index 1a6f99f65ba4..19130d23ae7e 100755 --- a/jvmfwk/plugins/sunmajor/javaenvsetup/javaldx.cxx +++ b/jvmfwk/plugins/sunmajor/javaenvsetup/javaldx.cxx @@ -106,7 +106,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv) errcode = jfw_existJRE(pInfo, &bExist); if (errcode == JFW_E_NONE) { - if (false == findAndSelect(&pInfo)) + if (!bExist && !findAndSelect(&pInfo)) return -1; } else diff --git a/jvmfwk/plugins/sunmajor/javaenvsetup/makefile.mk b/jvmfwk/plugins/sunmajor/javaenvsetup/makefile.mk index ef38000bb5d7..29aa95854d33 100755 --- a/jvmfwk/plugins/sunmajor/javaenvsetup/makefile.mk +++ b/jvmfwk/plugins/sunmajor/javaenvsetup/makefile.mk @@ -52,7 +52,7 @@ OBJFILES=$(OBJ)$/javaldx.obj APP1TARGET=javaldx APP1OBJS=$(OBJFILES) -APP1STDLIBS=$(SALLIB) $(CPPULIB) $(CPPUHELPERLIB) $(JVMFWKLIB) $(LIBSTLPORT) $(SALHELPERLIB) +APP1STDLIBS=$(SALLIB) $(JVMFWKLIB) APP1RPATH=UREBIN .ENDIF diff --git a/jvmfwk/plugins/sunmajor/pluginlib/JREProperties.java b/jvmfwk/plugins/sunmajor/pluginlib/JREProperties.java index 26aa01553cfd..b0930e1c93f3 100644 --- a/jvmfwk/plugins/sunmajor/pluginlib/JREProperties.java +++ b/jvmfwk/plugins/sunmajor/pluginlib/JREProperties.java @@ -1,4 +1,3 @@ -import java.io.*; import java.util.*; import java.awt.*; diff --git a/jvmfwk/plugins/sunmajor/pluginlib/util.cxx b/jvmfwk/plugins/sunmajor/pluginlib/util.cxx index 66496afa5611..055bdae919f3 100644 --- a/jvmfwk/plugins/sunmajor/pluginlib/util.cxx +++ b/jvmfwk/plugins/sunmajor/pluginlib/util.cxx @@ -743,6 +743,7 @@ vector<Reference<VendorBase> > getAllJREInfos() #ifdef UNX createJavaInfoDirScan(vecInfos); #endif + bubbleSortVersion(vecInfos); return vecInfos; } @@ -1114,6 +1115,15 @@ bool makeDriveLetterSame(OUString * fileURL) } #ifdef UNX +#ifdef SOLARIS + +void createJavaInfoDirScan(vector<rtl::Reference<VendorBase> >& vecInfos) +{ + JFW_TRACE2(OUSTR("\n[Java framework] Checking \"/usr/jdk/latest\"\n")); + getJREInfoByPath(OUSTR("file:////usr/jdk/latest"), vecInfos); +} + +#else void createJavaInfoDirScan(vector<rtl::Reference<VendorBase> >& vecInfos) { OUString excMessage = OUSTR("[Java framework] sunjavaplugin: " @@ -1236,5 +1246,6 @@ void createJavaInfoDirScan(vector<rtl::Reference<VendorBase> >& vecInfos) } } } -#endif +#endif // ifdef SOLARIS +#endif // ifdef UNX } diff --git a/jvmfwk/source/makefile.mk b/jvmfwk/source/makefile.mk index 876d13db95a7..5b62608a0ad1 100644 --- a/jvmfwk/source/makefile.mk +++ b/jvmfwk/source/makefile.mk @@ -67,7 +67,7 @@ SHL1TARGET = $(FRAMEWORKLIB) SHL1DEPN= SHL1IMPLIB = i$(FRAMEWORKLIB) SHL1LIBS = $(SLB)$/$(TARGET).lib -SHL1STDLIBS = $(CPPULIB) $(CPPUHELPERLIB) $(SALLIB) $(SALHELPERLIB) $(LIBXML2LIB) $(LIBSTLPORT) +SHL1STDLIBS = $(CPPUHELPERLIB) $(SALLIB) $(LIBXML2LIB) SHL1RPATH = URELIB .IF "$(OS)" == "WNT" diff --git a/offapi/com/sun/star/awt/KeyModifier.idl b/offapi/com/sun/star/awt/KeyModifier.idl index ac4622cbd0c7..721f9befc044 100644 --- a/offapi/com/sun/star/awt/KeyModifier.idl +++ b/offapi/com/sun/star/awt/KeyModifier.idl @@ -49,7 +49,7 @@ published constants KeyModifier //------------------------------------------------------------------------- - /** refers in the most cases to the 'Ctrl' key. + /** refers in the most cases to the 'Ctrl' key (Cmd on Mac OS X). */ const short MOD1 = 2; @@ -59,6 +59,9 @@ published constants KeyModifier */ const short MOD2 = 4; + /** refers in the most cases to the 'Ctrl' key (Mac OS X) + */ + const short MOD3 = 8; }; //============================================================================= diff --git a/offapi/com/sun/star/awt/MouseWheelBehavior.idl b/offapi/com/sun/star/awt/MouseWheelBehavior.idl new file mode 100755 index 000000000000..5a5d03a4c2e8 --- /dev/null +++ b/offapi/com/sun/star/awt/MouseWheelBehavior.idl @@ -0,0 +1,61 @@ +/************************************************************************* +* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +* +* Copyright 2009 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 +* <http://www.openoffice.org/license.html> +* for a copy of the LGPLv3 License. +************************************************************************/ +
+#ifndef __com_sun_star_awt_MouseWheelBehavior_idl__ +#define __com_sun_star_awt_MouseWheelBehavior_idl__ + +//============================================================================= + +module com { module sun { module star { module awt { + +//============================================================================= + +/** describes the scroll behavior of the mouse wheel for a control + @since OOo 3.2 + */ +constants MouseWheelBehavior +{ + /** defines that the mouse wheel cannot be used to scroll through the control's content + */ + const short SCROLL_DISABLED = 0; + + /** defines that the mouse can only be used to scroll through the control's content if it currently + has the focus. + */ + const short SCROLL_FOCUS_ONLY = 1; + + /** defines that the mouse can be used to scroll through the control's content, no matter whether or not + it has the focus, as long as the mouse pointer is over the control. + */ + const short SCROLL_ALWAYS = 2; +}; + +//============================================================================= + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/offapi/com/sun/star/awt/UnoControlComboBoxModel.idl b/offapi/com/sun/star/awt/UnoControlComboBoxModel.idl index d33d8f4d71ea..29328056f480 100644 --- a/offapi/com/sun/star/awt/UnoControlComboBoxModel.idl +++ b/offapi/com/sun/star/awt/UnoControlComboBoxModel.idl @@ -220,6 +220,14 @@ published service UnoControlComboBoxModel @since OOo 3.1 */ [optional, property] short WritingMode; + + /** defines how the mouse wheel can be used to scroll through the control's content. + + <p>Usually, the mouse wheel scrool through the control's entry list. Using this property, + and one of the <type>MouseWheelBehavior</type> constants, you can control under which circumstances + this is possible.</p> + */ + [optional, property] short MouseWheelBehavior; }; //============================================================================= diff --git a/offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl b/offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl index 0aa722943e2d..17f72a2be100 100644 --- a/offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl +++ b/offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl @@ -254,6 +254,14 @@ published service UnoControlCurrencyFieldModel @since OOo 3.1 */ [optional, property] short WritingMode; + + /** defines how the mouse wheel can be used to scroll through the control's content. + + <p>Usually, the mouse wheel spins the numeric value displayed in the control. Using this property, + and one of the <type>MouseWheelBehavior</type> constants, you can control under which circumstances + this is possible.</p> + */ + [optional, property] short MouseWheelBehavior; }; //============================================================================= diff --git a/offapi/com/sun/star/awt/UnoControlDateFieldModel.idl b/offapi/com/sun/star/awt/UnoControlDateFieldModel.idl index a636f2f5f6a5..d14f602e817a 100644 --- a/offapi/com/sun/star/awt/UnoControlDateFieldModel.idl +++ b/offapi/com/sun/star/awt/UnoControlDateFieldModel.idl @@ -266,6 +266,14 @@ published service UnoControlDateFieldModel @since OOo 3.1 */ [optional, property] short WritingMode; + + /** defines how the mouse wheel can be used to scroll through the control's content. + + <p>Usually, the mouse wheel spins the numeric value displayed in the control. Using this property, + and one of the <type>MouseWheelBehavior</type> constants, you can control under which circumstances + this is possible.</p> + */ + [optional, property] short MouseWheelBehavior; }; //============================================================================= diff --git a/offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl b/offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl index 346c76b6d41a..1575e1f6d6a6 100644 --- a/offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl +++ b/offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl @@ -299,6 +299,14 @@ published service UnoControlFormattedFieldModel @since OOo 3.1 */ [optional, property] short WritingMode; + + /** defines how the mouse wheel can be used to scroll through the control's content. + + <p>Usually, the mouse wheel spins the numeric value displayed in the control. Using this property, + and one of the <type>MouseWheelBehavior</type> constants, you can control under which circumstances + this is possible.</p> + */ + [optional, property] short MouseWheelBehavior; }; //============================================================================= diff --git a/offapi/com/sun/star/awt/UnoControlListBoxModel.idl b/offapi/com/sun/star/awt/UnoControlListBoxModel.idl index 239a00e967f6..56c50b74fe04 100644 --- a/offapi/com/sun/star/awt/UnoControlListBoxModel.idl +++ b/offapi/com/sun/star/awt/UnoControlListBoxModel.idl @@ -203,6 +203,14 @@ published service UnoControlListBoxModel @since OOo 3.1 */ [optional, property] short WritingMode; + + /** defines how the mouse wheel can be used to scroll through the control's content. + + <p>Usually, the mouse wheel scrool through the control's entry list. Using this property, + and one of the <type>MouseWheelBehavior</type> constants, you can control under which circumstances + this is possible.</p> + */ + [optional, property] short MouseWheelBehavior; }; //============================================================================= diff --git a/offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl b/offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl index 914c3ed5d6f4..4846980a974c 100644 --- a/offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl +++ b/offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl @@ -242,6 +242,14 @@ published service UnoControlNumericFieldModel @since OOo 3.1 */ [optional, property] short WritingMode; + + /** defines how the mouse wheel can be used to scroll through the control's content. + + <p>Usually, the mouse wheel spins the numeric value displayed in the control. Using this property, + and one of the <type>MouseWheelBehavior</type> constants, you can control under which circumstances + this is possible.</p> + */ + [optional, property] short MouseWheelBehavior; }; //============================================================================= diff --git a/offapi/com/sun/star/awt/UnoControlPatternFieldModel.idl b/offapi/com/sun/star/awt/UnoControlPatternFieldModel.idl index cccb61cb5487..b3bb7691e333 100644 --- a/offapi/com/sun/star/awt/UnoControlPatternFieldModel.idl +++ b/offapi/com/sun/star/awt/UnoControlPatternFieldModel.idl @@ -201,6 +201,14 @@ published service UnoControlPatternFieldModel @since OOo 3.1 */ [optional, property] short WritingMode; + + /** defines how the mouse wheel can be used to scroll through the control's content. + + <p>Usually, the mouse wheel spins the numeric value displayed in the control. Using this property, + and one of the <type>MouseWheelBehavior</type> constants, you can control under which circumstances + this is possible.</p> + */ + [optional, property] short MouseWheelBehavior; }; //============================================================================= diff --git a/offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl b/offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl index f4170c5a4fd2..696fb5255785 100644 --- a/offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl +++ b/offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl @@ -169,6 +169,14 @@ service UnoControlSpinButtonModel is specified with this property.</p> */ [property] long RepeatDelay; + + /** defines how the mouse wheel can be used to scroll through the control's content. + + <p>Usually, the mouse wheel spins the numeric value displayed in the control. Using this property, + and one of the <type>MouseWheelBehavior</type> constants, you can control under which circumstances + this is possible.</p> + */ + [optional, property] short MouseWheelBehavior; }; //============================================================================= diff --git a/offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl b/offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl index 7b4bbcb5e8fe..79bed704660f 100644 --- a/offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl +++ b/offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl @@ -246,6 +246,14 @@ published service UnoControlTimeFieldModel @since OOo 3.1 */ [optional, property] short WritingMode; + + /** defines how the mouse wheel can be used to scroll through the control's content. + + <p>Usually, the mouse wheel spins the numeric value displayed in the control. Using this property, + and one of the <type>MouseWheelBehavior</type> constants, you can control under which circumstances + this is possible.</p> + */ + [optional, property] short MouseWheelBehavior; }; //============================================================================= diff --git a/offapi/com/sun/star/awt/XDialog2.idl b/offapi/com/sun/star/awt/XDialog2.idl index 7cd09c6eeb10..cd42d792cd0a 100644 --- a/offapi/com/sun/star/awt/XDialog2.idl +++ b/offapi/com/sun/star/awt/XDialog2.idl @@ -12,7 +12,7 @@ module com { module sun { module star { module awt { //============================================================================= -/** Makes it possible to end a dialog. +/** Makes it possible to end a dialog and set a help id. @since OOo 3.0 */ @@ -22,6 +22,10 @@ interface XDialog2: com::sun::star::awt::XDialog to return with the given result value. */ void endDialog ( [in] long Result ); + /** sets the help id so that the standard help button action will + show the appropriate help page. + */ + void setHelpId ( [in] long Id ); }; //============================================================================= diff --git a/offapi/com/sun/star/awt/XUnitConversion.idl b/offapi/com/sun/star/awt/XUnitConversion.idl index 6e8d185f2fdc..d94b5f66023a 100644 --- a/offapi/com/sun/star/awt/XUnitConversion.idl +++ b/offapi/com/sun/star/awt/XUnitConversion.idl @@ -60,23 +60,55 @@ interface XUnitConversion: com::sun::star::uno::XInterface { /** converts the given <type>Point</type>, which is specified in pixels, into the given logical unit + + @param Point + A given <type>Point</type> in a well known type + @param TargetUnit + A type from <type scope="com::sun::star::util">MeasureUnit</type> in which the Point will convert to. + + @return + Returns a new <type>Point</type> in the TargetUnit type format. */ - com::sun::star::awt::Point convertPointToLogic( [in] com::sun::star::awt::Point aPoint, [in] short TargetUnit ) + com::sun::star::awt::Point convertPointToLogic( [in] com::sun::star::awt::Point Point, [in] short TargetUnit ) raises ( com::sun::star::lang::IllegalArgumentException ); /** converts the given <type>Point</type>, which is specified in the given logical unit, into pixels - */ + + @param Point + A given Point in the SourceUnit type + @param SourceUnit + The type from <type scope="com::sun::star::util">MeasureUnit</type> of the Point. + + @return + Return a new <type>Point</type> in Pixel type format. + */ com::sun::star::awt::Point convertPointToPixel( [in] com::sun::star::awt::Point aPoint, [in] short SourceUnit ) raises ( com::sun::star::lang::IllegalArgumentException ); /** converts the given <type>Size</type>, which is specified in pixels, into the given logical unit + + @param aSize + A given <type>Size</type> in a well known type + @param TargetUnit + A type from <type scope="com::sun::star::util">MeasureUnit</type> in which the Size will convert to. + + @return + Returns a new <type>Size</type> in the TargetUnit type format. */ com::sun::star::awt::Size convertSizeToLogic( [in] com::sun::star::awt::Size aSize, [in] short TargetUnit ) raises ( com::sun::star::lang::IllegalArgumentException ); /** converts the given <type>Size</type>, which is specified in the given logical unit, into pixels - */ + + @param Size + A given <type>Size</type> in a well known type + @param TargetUnit + The type from <type scope="com::sun::star::util">MeasureUnit</type> of the Size. + + @return + Returns a new <type>Size</type> in the TargetUnit type format. + */ com::sun::star::awt::Size convertSizeToPixel( [in] com::sun::star::awt::Size aSize, [in] short SourceUnit ) raises ( com::sun::star::lang::IllegalArgumentException ); diff --git a/offapi/com/sun/star/awt/makefile.mk b/offapi/com/sun/star/awt/makefile.mk index ff4d827a298b..c0c501cbe2c5 100644 --- a/offapi/com/sun/star/awt/makefile.mk +++ b/offapi/com/sun/star/awt/makefile.mk @@ -127,6 +127,7 @@ IDLFILES=\ MessageBoxCommand.idl\ MouseButton.idl\ MouseEvent.idl\ + MouseWheelBehavior.idl\ PaintEvent.idl\ Point.idl\ PopupMenuDirection.idl\ diff --git a/offapi/com/sun/star/chart/BubbleDiagram.idl b/offapi/com/sun/star/chart/BubbleDiagram.idl new file mode 100644 index 000000000000..23a1088db9e6 --- /dev/null +++ b/offapi/com/sun/star/chart/BubbleDiagram.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: BubbleDiagram.idl,v $ + * $Revision: 1.10 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_chart_BubbleDiagram_idl__ +#define __com_sun_star_chart_BubbleDiagram_idl__ + +#ifndef __com_sun_star_chart_Diagram_idl__ +#include <com/sun/star/chart/Diagram.idl> +#endif + +#ifndef __com_sun_star_chart_ChartAxisXSupplier_idl__ +#include <com/sun/star/chart/ChartAxisXSupplier.idl> +#endif + +#ifndef __com_sun_star_chart_ChartTwoAxisYSupplier_idl__ +#include <com/sun/star/chart/ChartTwoAxisYSupplier.idl> +#endif + +#ifndef __com_sun_star_chart_ChartStatistics_idl__ +#include <com/sun/star/chart/ChartStatistics.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module chart { + +//============================================================================= + +/** a service for bubble diagrams. @since OOo 3.2 + */ +published service BubbleDiagram +{ + service com::sun::star::chart::Diagram; + service com::sun::star::chart::ChartAxisXSupplier; + service com::sun::star::chart::ChartTwoAxisYSupplier; + [optional] service com::sun::star::chart::ChartStatistics; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/chart/ChartTwoAxisXSupplier.idl b/offapi/com/sun/star/chart/ChartTwoAxisXSupplier.idl index ba78af5e519b..5a1a5e43b7b2 100644 --- a/offapi/com/sun/star/chart/ChartTwoAxisXSupplier.idl +++ b/offapi/com/sun/star/chart/ChartTwoAxisXSupplier.idl @@ -66,11 +66,21 @@ published service ChartTwoAxisXSupplier //------------------------------------------------------------------------- - /** determines if the description of the secondary x-axis - is shown or hidden. - */ + /** determines for the secondary x-axis + if the labels at the tick marks are shown or hidden. + */ [property] boolean HasSecondaryXAxisDescription; + //------------------------------------------------------------------------- + + /** determines if the title of the secondary X-axis is shown or hidden. + + @see ChartTitle + + @since OOo 3.0 + */ + [optional, property] boolean HasSecondaryXAxisTitle; + }; //============================================================================= diff --git a/offapi/com/sun/star/chart/ChartTwoAxisYSupplier.idl b/offapi/com/sun/star/chart/ChartTwoAxisYSupplier.idl index 5d4d987e4baa..bc9eff064b0e 100644 --- a/offapi/com/sun/star/chart/ChartTwoAxisYSupplier.idl +++ b/offapi/com/sun/star/chart/ChartTwoAxisYSupplier.idl @@ -67,11 +67,21 @@ published service ChartTwoAxisYSupplier //------------------------------------------------------------------------- - /** determines if the description of the secondary - y-axis is shown or hidden. - */ + /** determines for the secondary y-axis + if the labels at the tick marks are shown or hidden. + */ [property] boolean HasSecondaryYAxisDescription; + //------------------------------------------------------------------------- + + /** determines if the title of the secondary y-axis is shown or hidden. + + @see ChartTitle + + @since OOo 3.0 + */ + [optional, property] boolean HasSecondaryYAxisTitle; + }; //============================================================================= diff --git a/offapi/com/sun/star/chart/makefile.mk b/offapi/com/sun/star/chart/makefile.mk index 359f07a15224..802c832ea154 100644 --- a/offapi/com/sun/star/chart/makefile.mk +++ b/offapi/com/sun/star/chart/makefile.mk @@ -46,6 +46,7 @@ IDLFILES=\ AccessibleChartDocumentView.idl\ AreaDiagram.idl\ BarDiagram.idl\ + BubbleDiagram.idl\ Chart3DBarProperties.idl\ ChartArea.idl\ ChartAxis.idl\ diff --git a/offapi/com/sun/star/chart2/RectangularDataSource.idl b/offapi/com/sun/star/chart2/RectangularDataSource.idl deleted file mode 100644 index 1f42b83a8afc..000000000000 --- a/offapi/com/sun/star/chart2/RectangularDataSource.idl +++ /dev/null @@ -1,89 +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: RectangularDataSource.idl,v $ - * $Revision: 1.3 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef com_sun_star_chart2_RectangularDataSource_idl -#define com_sun_star_chart2_RectangularDataSource_idl - -#include <com/sun/star/chart/ChartDataRowSource.idl> -#include <com/sun/star/chart/ChartDataArray.idl> - -#include <com/sun/star/chart2/DataSource.idl> - -module com -{ -module sun -{ -module star -{ -module chart2 -{ - -/** describes a data source that bases on a two-dimensional range of - data, like a cell range in a spreadsheet. - - <p>Components supporting this service have the duty to interpret - the given range in an appropriate way to represent a - <type>DataSource</type>.</p> - */ -service RectangularDataSource -{ - /** A RectangularDataSource is certainly also a DataSource. - */ - service DataSource; - - service ::com::sun::star::chart::ChartDataArray; - - /** contains a range string in the format specified by the Office - XML format for tables, that refers to data in the table of a - spreadsheet or a text document. - - <p>This range is used to determine the rectangular range - chosen. The <member>DataSequence::SourceRange</member> - properties of the <type>DataSequence</type>s are ignored for - this type of <type>DataSource</type>.</p> - */ - [property] string SourceRange; - - /** determines if the data referred to in - <member>SourceRange</member> is split up into - <type>DataSequence</type>s using rows - (<member-scope="com::sun::star::chart">ChartDataRowSource::ROWS</member>) - or columns - (<member-scope="com::sun::star::chart">ChartDataRowSource::COLUMNS</member>). - */ - [property] ::com::sun::star::chart::ChartDataRowSource DataRowSource; -}; - -} ; // chart2 -} ; // com -} ; // sun -} ; // star - - -#endif diff --git a/offapi/com/sun/star/chart2/data/DataProvider.idl b/offapi/com/sun/star/chart2/data/DataProvider.idl index c425cd8867a3..f67a3f7e06d8 100644 --- a/offapi/com/sun/star/chart2/data/DataProvider.idl +++ b/offapi/com/sun/star/chart2/data/DataProvider.idl @@ -57,6 +57,10 @@ service DataProvider internally into valid XML. */ [optional] interface ::com::sun::star::chart2::data::XRangeXMLConversion; + + /** If set to false <FALSE/>, values from hidden cells are not returned. + */ + [optional, property] boolean IncludeHiddenCells; }; } ; // data diff --git a/offapi/com/sun/star/chart2/data/DataSequence.idl b/offapi/com/sun/star/chart2/data/DataSequence.idl index e8179185c64a..5a8bd505194b 100644 --- a/offapi/com/sun/star/chart2/data/DataSequence.idl +++ b/offapi/com/sun/star/chart2/data/DataSequence.idl @@ -140,14 +140,11 @@ service DataSequence */ [property] DataSequenceRole Role; - /** If <TRUE/>, the values are hidden, and should therefore not be - used. This may result in omitting a complete data series - object on rendering. + /** If set to false <FALSE/>, values from hidden cells are not returned. */ - [optional, property] boolean IsHidden; + [optional, property] boolean IncludeHiddenCells; - /** a sequence of indexes that identify data points that should - not be rendered, because they are hidden in the underlying + /** a sequence of indexes that identify values that are hidden in the underlying data provider. */ [optional, property] sequence< long > HiddenValues; diff --git a/offapi/com/sun/star/drawing/FillProperties.idl b/offapi/com/sun/star/drawing/FillProperties.idl index 47749376a7d5..9aaedfed601f 100644 --- a/offapi/com/sun/star/drawing/FillProperties.idl +++ b/offapi/com/sun/star/drawing/FillProperties.idl @@ -70,21 +70,21 @@ module com { module sun { module star { module drawing { published service FillProperties { //------------------------------------------------------------------------- - /** This enumeration selects the style with which the area will be filled. + /** This enumeration selects the style the area will be filled with. */ - [property] com::sun::star::drawing::FillStyle FillStyle; + [property] FillStyle FillStyle; //------------------------------------------------------------------------- - /** If the <type>FillStyle</type> is set to <const>FillStyle::SOLID</const>, - this is the color used. + /** If the property <member>FillStyle</member> is set to <const> + FillStyle::SOLID</const>, this is the color used. */ [property] com::sun::star::util::Color FillColor; //------------------------------------------------------------------------- /** This is the transparence of the filled area. - <p>This property is only valid if <type>FillStyle</type> is set to - <const>FillStyle::SOLID</const>. + <p>This property is only valid if the property <member>FillStyle + </member> is set to <const>FillStyle::SOLID</const>. */ [property] short FillTransparence; @@ -103,117 +103,168 @@ published service FillProperties [optional, property] com::sun::star::awt::Gradient FillTransparenceGradient; //------------------------------------------------------------------------- - /** If the <type>FillStyle</type> is set to <const>FillStyle::GRADIENT</const>, this - is the name of the used fill gradient style. + /** If the property <member>FillStyle</member> is set to <const> + FillStyle::GRADIENT</const>, this is the name of the used fill + gradient style. */ [property] string FillGradientName; //------------------------------------------------------------------------- - /** If the <type>FillStyle</type> is set to <const>FillStyle::GRADIENT</const>, this - describes the gradient used. + /** If the property <member>FillStyle</member> is set to <const> + FillStyle::GRADIENT</const>, this describes the gradient used. */ [optional, property] com::sun::star::awt::Gradient FillGradient; //------------------------------------------------------------------------- - /** If the <type>FillStyle</type> is set to <const>FillStyle::GRADIENT</const>, this - is the name of the used fill hatch style. + /** If the property <member>FillStyle</member> is set to <const> + FillStyle::HATCH</const>, this is the name of the used fill hatch + style. */ [property] string FillHatchName; //------------------------------------------------------------------------- - /** If the <type>FillStyle</type> is set to <const>FillStyle::HATCH</const>, this - describes the hatch used. + /** If the property <member>FillStyle</member> is set to <const> + FillStyle::HATCH</const>, this describes the hatch used. */ - [optional, property] com::sun::star::drawing::Hatch FillHatch; + [optional, property] Hatch FillHatch; //------------------------------------------------------------------------- - /** If the <type>FillStyle</type> is set to <const>FillStyle::BITMAP</const>, this is - the name of the used fill bitmap style. + /** if this is <TRUE/>, the transparent background of a + hatch filled area is drawn in the current background color. + */ + [property] boolean FillBackground; + + //------------------------------------------------------------------------- + /** If the property <memebr>FillStyle</member> is set to <const> + FillStyle::BITMAP</const>, this is the name of the used fill bitmap + style. */ [property] string FillBitmapName; //------------------------------------------------------------------------- - /** If the <type>FillStyle</type> is set to <const>FillStyle::BITMAP</const>, this is - the bitmap used. + /** If the property <member>FillStyle</member> is set to <const> + FillStyle::BITMAP</const>, this is the bitmap used. */ [optional, property] com::sun::star::awt::XBitmap FillBitmap; //------------------------------------------------------------------------- - /** If the <type>FillStyle</type> is set to <const>FillStyle::BITMAP</const>, this is - a URL to the bitmap used. + /** If the property <member>FillStyle</member> is set to <const> + FillStyle::BITMAP</const>, this is a URL to the bitmap used. */ [optional, property] string FillBitmapURL; //------------------------------------------------------------------------- /** This is the horizontal offset where the tile starts. - <p>It is given in percent in relation to the width of the bitmap. + <p>It is given in percent in relation to the width of the bitmap.</p> */ - [property] short FillBitmapOffsetX; + [property] short FillBitmapPositionOffsetX; //------------------------------------------------------------------------- /** This is the vertical offset where the tile starts. - It is given in percent in relation to the width of the bitmap. + <p>It is given in percent in relation to the height of the bitmap.</p> */ - [property] short FillBitmapOffsetY; + [property] short FillBitmapPositionOffsetY; //------------------------------------------------------------------------- /** Every second line of tiles is moved the given percent of the witdh of the bitmap. */ - [property] short FillBitmapPositionOffsetX; + [property] short FillBitmapOffsetX; //------------------------------------------------------------------------- /** Every second row of tiles is moved the given percent of the - width of the bitmap. + height of the bitmap. */ - [property] short FillBitmapPositionOffsetY; + [property] short FillBitmapOffsetY; //------------------------------------------------------------------------- /** The RectanglePoint specifies the position inside of the bitmap to use as the top left position for rendering. */ - [property] com::sun::star::drawing::RectanglePoint FillBitmapRectanglePoint; + [property] RectanglePoint FillBitmapRectanglePoint; //------------------------------------------------------------------------- - /** specifies if the size is given in percentage or - as an absolute value. + /** specifies if the size is given in percentage or as an absolute value. - <p>If this is <TRUE/>, the properties FillBitmapSizeX - and FillBitmapSizeY contain the size of the tile in percent - of the size of the original bitmap. If this - is <FALSE/>, the size of the tile is specified - with 1/100th mm. + <p>If this is <TRUE/>, the properties <member>FillBitmapSizeX</member> + and <member>FillBitmapSizeY</member> contain the size of the tile in + percent of the size of the original bitmap. If this is <FALSE/>, the + size of the tile is specified with 1/100th mm. */ [property] boolean FillBitmapLogicalSize; //------------------------------------------------------------------------- /** This is the width of the tile for filling. - <p>Depending on the property FillBitmapLogicalSize, this is - either relative or absolute. + <p>Depending on the property <member>FillBitmapLogicalSize</member>, + this is either relative or absolute. */ [property] long FillBitmapSizeX; //------------------------------------------------------------------------- /** This is the height of the tile for filling. - <p>Depending on the property FillBitmapLogicalSize, this - is either relative or absolute. + <p>Depending on the property <member>FillBitmapLogicalSize</member>, + this is either relative or absolute. */ [property] long FillBitmapSizeY; //------------------------------------------------------------------------- /** this enum selects how a area is filled with a single bitmap. + + <p>This property corresponds to the properties <member> + FillBitmapStretch</member> and <member>FillBitmapTile</member>.</p> + + <p>If set to <const>BitmapMode::REPEAT</const>, the property + FillBitmapStretch is set to <FALSE/>, and the property FillBitmapTile + is set to <TRUE/>.</p> + + <p>If set to <const>BitmapMode::STRETCH</const>, the property + FillBitmapStretch is set to <TRUE/>, and the property FillBitmapTile + is set to <FALSE/>.</p> + + <p>If set to <const>BitmapMode::NO_REPEAT</const>, both properties + FillBitmapStretch and FillBitmapTile are set to <FALSE/>.</p> */ - [property] com::sun::star::drawing::BitmapMode FillBitmapMode; + [property] BitmapMode FillBitmapMode; //------------------------------------------------------------------------- - /** if this is <TRUE/>, the transparent background of a - hatch filled area is drawn in the current background color - */ - [property] boolean FillBackground; + /** if set, the fill bitmap is stretched to fill the area of the shape. + + <p>This property should not be used anymore and is included here for + completeness. The <member>FillBitmapMode</member> property can be used + instead to set all supported bitmap modes.</p> + + <p>If set to <TRUE/>, the value of the FillBitmapMode property changes + to <const>BitmapMode::STRETCH</const>. BUT: behaviour is undefined, if + the property <member>FillBitmapTile</member> is <TRUE/> too.</p> + + <p>If set to <FALSE/>, the value of the FillBitmapMode property + changes to <const>BitmapMode::REPEAT</const> or <const> + BitmapMode::NO_REPEAT</const>, depending on the current value of the + <member>FillBitmapTile</member> property.</p> + */ + [optional, property] boolean FillBitmapStretch; + + //------------------------------------------------------------------------- + /** if set, the fill bitmap is repeated to fill the area of the shape. + + <p>This property should not be used anymore and is included here for + completeness. The <member>FillBitmapMode</member> property can be used + instead to set all supported bitmap modes.</p> + + <p>If set to <TRUE/>, the value of the FillBitmapMode property changes + to <const>BitmapMode::REPEAT</const>. BUT: behaviour is undefined, if + the property <member>FillBitmapStretch</member> is <TRUE/> too.</p> + + <p>If set to <FALSE/>, the value of the FillBitmapMode property + changes to <const>BitmapMode::STRETCH</const> or <const> + BitmapMode::NO_REPEAT</const>, depending on the current value of the + <member>FillBitmapStretch</member> property.</p> + */ + [optional, property] boolean FillBitmapTile; //------------------------------------------------------------------------- }; diff --git a/offapi/com/sun/star/form/XErrorListener.idl b/offapi/com/sun/star/form/XErrorListener.idl index 3865f8093d8b..9d9905d643f3 100644 --- a/offapi/com/sun/star/form/XErrorListener.idl +++ b/offapi/com/sun/star/form/XErrorListener.idl @@ -54,6 +54,7 @@ <p>Please do <em><b>not</b></em> use anymore, this interface is superseeded by <type scope="com::sun::star::sdb">XSQLErrorListener</type>.</p> +@since foo @deprecated */ published interface XErrorListener: com::sun::star::lang::XEventListener diff --git a/offapi/com/sun/star/form/component/CommandButton.idl b/offapi/com/sun/star/form/component/CommandButton.idl index d39a44ceb96a..ac01ea91c6f8 100644 --- a/offapi/com/sun/star/form/component/CommandButton.idl +++ b/offapi/com/sun/star/form/component/CommandButton.idl @@ -30,25 +30,12 @@ #ifndef __com_sun_star_form_component_CommandButton_idl__ #define __com_sun_star_form_component_CommandButton_idl__ -#ifndef __com_sun_star_form_FormControlModel_idl__ #include <com/sun/star/form/FormControlModel.idl> -#endif - -#ifndef __com_sun_star_awt_UnoControlButtonModel_idl__ #include <com/sun/star/awt/UnoControlButtonModel.idl> -#endif - -#ifndef __com_sun_star_form_XImageProducerSupplier_idl__ #include <com/sun/star/form/XImageProducerSupplier.idl> -#endif - -#ifndef __com_sun_star_form_XApproveActionBroadcaster_idl__ #include <com/sun/star/form/XApproveActionBroadcaster.idl> -#endif - -#ifndef __com_sun_star_form_FormButtonType_idl__ #include <com/sun/star/form/FormButtonType.idl> -#endif +#include <com/sun/star/form/XReset.idl> //============================================================================= @@ -101,6 +88,28 @@ published service CommandButton @see com::sun::star::form::FormButtonType */ [property] string TargetURL; + + /** specifies the default toggle state for the button, used when it is reset. + + <p>This property is meaningful only when <member scope="com::sun::star::awt">UnoControlButtonModel::Toggle</member> + is <TRUE/>. In this case, the <code>DefaultState</code> controls to which <code>State</code> the button will + be reset.</p> + + <p>For a given implementation of the interface, if this (optional) property is present, then also the optional + interface <type scope="com::sun::star::form">XReset</type> must be present.</p> + */ + [optional, property] boolean DefaultState; + + /** allows resetting the button + + <p>This property is meaningful only when <member scope="com::sun::star::awt">UnoControlButtonModel::Toggle</member> + is <TRUE/>. In this case, the <code>DefaultState</code> controls to which <code>State</code> the button will + be reset, when <member scope="com::sun::star::form">XReset::reset</member> is invoked.</p> + + <p>For a given implementation of the interface, if this (optional) interface is present, then also the optional + property <member>DefaultState</member> must be present.</p> + */ + [optional] interface ::com::sun::star::form::XReset; }; //============================================================================= diff --git a/offapi/com/sun/star/linguistic2/Dictionary.idl b/offapi/com/sun/star/linguistic2/Dictionary.idl index 4687db6af15b..38f97b9df435 100644 --- a/offapi/com/sun/star/linguistic2/Dictionary.idl +++ b/offapi/com/sun/star/linguistic2/Dictionary.idl @@ -57,7 +57,7 @@ module com { module sun { module star { module linguistic2 { @see com::sun::star::linguistic2::DictionaryList @see com::sun::star::linguistic2::XSearchableDictionaryList - @since OOo 3.01 + @since OOo 3.0.1 */ service Dictionary { diff --git a/offapi/com/sun/star/linguistic2/LinguProperties.idl b/offapi/com/sun/star/linguistic2/LinguProperties.idl index 3d57f7514221..674b4a7be8b0 100644 --- a/offapi/com/sun/star/linguistic2/LinguProperties.idl +++ b/offapi/com/sun/star/linguistic2/LinguProperties.idl @@ -27,6 +27,7 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ + #ifndef __com_sun_star_linguistic2_LinguProperties_idl__ #define __com_sun_star_linguistic2_LinguProperties_idl__ @@ -65,10 +66,9 @@ published service LinguProperties text or not when doing spellchecking or hyphenation, or using the thesaurus. - @deprecated - @since OOo 3.01 + @deprecated since OOo 3.0.1 */ - [property] boolean IsGermanPreReform; + [property, maybevoid] boolean IsGermanPreReform; //------------------------------------------------------------------------- /** defines if the dictionary-list should be used for spellchecking @@ -143,19 +143,17 @@ published service LinguProperties /** indicates whether the markings for incorrectly spelled text should be hidden or not. - @deprecated - @since OOo 3.01 + @deprecated since OOo 3.0.1 */ - [property] boolean IsSpellHide; + [property, maybevoid] boolean IsSpellHide; //------------------------------------------------------------------------- /** indicates if spellchecking should be performed in all available languages. - @deprecated - @since OOo 3.01 + @deprecated since OOo 3.0.1 */ - [property] boolean IsSpellInAllLanguages; + [property, maybevoid] boolean IsSpellInAllLanguages; //------------------------------------------------------------------------- /** defines whether spellchecking should be done in special regions of diff --git a/offapi/com/sun/star/linguistic2/LinguServiceEventFlags.idl b/offapi/com/sun/star/linguistic2/LinguServiceEventFlags.idl index 7f4d6d3a1524..8da91044d97c 100644 --- a/offapi/com/sun/star/linguistic2/LinguServiceEventFlags.idl +++ b/offapi/com/sun/star/linguistic2/LinguServiceEventFlags.idl @@ -62,7 +62,7 @@ published constants LinguServiceEventFlags //------------------------------------------------------------------------- /** Request new proofreading of the document - @since OOo 3.01 + @since OOo 3.0.1 */ const short PROOFREAD_AGAIN = 8; diff --git a/offapi/com/sun/star/linguistic2/ProofreadingResult.idl b/offapi/com/sun/star/linguistic2/ProofreadingResult.idl index d00a4ed8f8fb..b2334f7c4539 100644 --- a/offapi/com/sun/star/linguistic2/ProofreadingResult.idl +++ b/offapi/com/sun/star/linguistic2/ProofreadingResult.idl @@ -58,7 +58,7 @@ interface XProofreader; //============================================================================= /** holds the results from proofreading a sentence. - @since OOo 3.01 + @since OOo 3.0.1 */ struct ProofreadingResult { diff --git a/offapi/com/sun/star/linguistic2/SingleProofreadingError.idl b/offapi/com/sun/star/linguistic2/SingleProofreadingError.idl index b16ca8711d6e..851e0f8b8c64 100644 --- a/offapi/com/sun/star/linguistic2/SingleProofreadingError.idl +++ b/offapi/com/sun/star/linguistic2/SingleProofreadingError.idl @@ -45,7 +45,7 @@ module com { module sun { module star { module linguistic2 { //============================================================================= /** holds a single error found by the proofreader. - @since OOo 3.01 + @since OOo 3.0.1 */ struct SingleProofreadingError { diff --git a/offapi/com/sun/star/linguistic2/XProofreader.idl b/offapi/com/sun/star/linguistic2/XProofreader.idl index be7e34483239..d330a40c4e11 100644 --- a/offapi/com/sun/star/linguistic2/XProofreader.idl +++ b/offapi/com/sun/star/linguistic2/XProofreader.idl @@ -65,7 +65,7 @@ module com { module sun { module star { module linguistic2 { //============================================================================= /** API for proofreading a text - @since OOo 3.01 + @since OOo 3.0.1 */ interface XProofreader: com::sun::star::linguistic2::XSupportedLocales { diff --git a/offapi/com/sun/star/linguistic2/XProofreadingIterator.idl b/offapi/com/sun/star/linguistic2/XProofreadingIterator.idl index b1536cc3b5be..51da34d0fa6f 100644 --- a/offapi/com/sun/star/linguistic2/XProofreadingIterator.idl +++ b/offapi/com/sun/star/linguistic2/XProofreadingIterator.idl @@ -61,7 +61,7 @@ module com { module sun { module star { module linguistic2 { //============================================================================= /** API for the proofreading iterator that mediates between the document and the proofreader. - @since OOo 3.01 + @since OOo 3.0.1 */ interface XProofreadingIterator: com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/linguistic2/XSearchableDictionary.idl b/offapi/com/sun/star/linguistic2/XSearchableDictionary.idl index ddbb8a273255..d52b8b00bb3d 100644 --- a/offapi/com/sun/star/linguistic2/XSearchableDictionary.idl +++ b/offapi/com/sun/star/linguistic2/XSearchableDictionary.idl @@ -60,7 +60,7 @@ interface XSearchableDictionary : com::sun::star::linguistic2::XDictionary @see <type scope="com::sun::star::linguistic2">XDictionaryEntry</type> @see <type scope="com::sun::star::linguistic2">XSearchableDictionaryList</type> - @since OOo 3.01 + @since OOo 3.0.1 */ sequence< com::sun::star::linguistic2::XDictionaryEntry > searchSimilarEntries( [in] string aWord ); diff --git a/offapi/com/sun/star/linguistic2/XSetSpellAlternatives.idl b/offapi/com/sun/star/linguistic2/XSetSpellAlternatives.idl index 8407fbe566c0..0637a9847e51 100644 --- a/offapi/com/sun/star/linguistic2/XSetSpellAlternatives.idl +++ b/offapi/com/sun/star/linguistic2/XSetSpellAlternatives.idl @@ -55,7 +55,7 @@ interface XSetSpellAlternatives : com::sun::star::uno::XInterface /** set the list of suggestions to be returned. - @since OOo 3.01 + @since OOo 3.0.1 */ void setAlternatives( [in] sequence< string > aAlternatives ); @@ -64,7 +64,7 @@ interface XSetSpellAlternatives : com::sun::star::uno::XInterface set the type of error found. @see <tyoe scope="com::sun::star::linguistic2">SpellFailure</type> - @since OOo 3.01 + @since OOo 3.0.1 */ void setFailureType( [in] short nFailureType ); diff --git a/offapi/com/sun/star/logging/DocumentIOLogRing.idl b/offapi/com/sun/star/logging/DocumentIOLogRing.idl new file mode 100644 index 000000000000..a395ecff172e --- /dev/null +++ b/offapi/com/sun/star/logging/DocumentIOLogRing.idl @@ -0,0 +1,66 @@ +/************************************************************************* + * + * 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: DocumentIOLogRing.idl,v $ + * $Revision: 1.3 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_logging_DocumentIOLogRing_idl__ +#define __com_sun_star_logging_DocumentIOLogRing_idl__ + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif +#ifndef __com_sun_star_beans_NamedValue_idl__ +#include <com/sun/star/beans/NamedValue.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module logging { + +interface XSimpleLogRing; + +//============================================================================= + +/** This singleton is intended to log the IO events related to loading/storing + of documents. + + <p> + Please do not use the singleton without communication with source owner! + </p> + + @since OOo 3.2 + */ +singleton DocumentIOLogRing : XSimpleLogRing; + +//============================================================================= + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/offapi/com/sun/star/logging/SimpleLogRing.idl b/offapi/com/sun/star/logging/SimpleLogRing.idl new file mode 100644 index 000000000000..2e6fe010a092 --- /dev/null +++ b/offapi/com/sun/star/logging/SimpleLogRing.idl @@ -0,0 +1,72 @@ +/************************************************************************* + * + * 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: SimpleLogRing.idl,v $ + * $Revision: 1.3 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_logging_SimpleLogRing_idl__ +#define __com_sun_star_logging_SimpleLogRing_idl__ + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif +#ifndef __com_sun_star_beans_NamedValue_idl__ +#include <com/sun/star/beans/NamedValue.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module logging { + +interface XSimpleLogRing; + +//============================================================================= + +/** This service allows to log the events in a ring of specified size. + + @since OOo 3.2 + */ +service SimpleLogRing : XSimpleLogRing +{ + /** creates a ring of default size - 256 messages + */ + create(); + + /** creates a ring of specified size + @param nSize + the number of messages in a ring + */ + createWithSize( [in] long nSize ); +}; + +//============================================================================= + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/offapi/com/sun/star/logging/XSimpleLogRing.idl b/offapi/com/sun/star/logging/XSimpleLogRing.idl new file mode 100644 index 000000000000..e3bd1b4929dc --- /dev/null +++ b/offapi/com/sun/star/logging/XSimpleLogRing.idl @@ -0,0 +1,77 @@ +/************************************************************************* + * + * 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: XSimpleLogRing.idl,v $ + * $Revision: 1.3 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_logging_XSimpleLogRing_idl__ +#define __com_sun_star_logging_XSimpleLogRing_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module logging { + +//============================================================================= + +/** a simple log ring allowing to collect a limited number of last events + + <p> + The intention of this interface is to provide a simple possibility + for developer to collect the most important events without affecting + the performance. For this reasons the messages related API is quite + simple, the strings should be produced by the preprocessor mainly. + </p> + + @since OOo 3.2 + */ +interface XSimpleLogRing +{ + /** allows to add a message to the logger + */ + void logString( [in] string aMessage ); + + /** allows to get the collected messages from the logger + + <p> + It is up to logger implementation to provide only the limited + number of last messages. + </p> + */ + sequence< string > getCollectedLog(); +}; + +//============================================================================= + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/offapi/com/sun/star/logging/makefile.mk b/offapi/com/sun/star/logging/makefile.mk index 2a92ba29cd3a..6686b04ae37a 100644 --- a/offapi/com/sun/star/logging/makefile.mk +++ b/offapi/com/sun/star/logging/makefile.mk @@ -40,17 +40,20 @@ PACKAGE := com$/sun$/star$/logging IDLFILES = \ ConsoleHandler.idl\ CsvLogFormatter.idl\ + DocumentIOLogRing.idl\ FileHandler.idl\ LoggerPool.idl\ LogLevel.idl\ LogRecord.idl\ PlainTextFormatter.idl\ + SimpleLogRing.idl\ XConsoleHandler.idl\ XCsvLogFormatter.idl\ XLogFormatter.idl\ XLogger.idl\ XLoggerPool.idl\ - XLogHandler.idl + XLogHandler.idl\ + XSimpleLogRing.idl .INCLUDE: target.mk .INCLUDE: $(PRJ)$/util$/target.pmk diff --git a/offapi/com/sun/star/rdf/BlankNode.idl b/offapi/com/sun/star/rdf/BlankNode.idl index f0534d68c441..e0ad2bb94a4e 100644 --- a/offapi/com/sun/star/rdf/BlankNode.idl +++ b/offapi/com/sun/star/rdf/BlankNode.idl @@ -62,7 +62,7 @@ service BlankNode : XBlankNode another node that already exists in some repository. That may or may not be what you want. If you want to create a new blank node that is guaranteed to be unique, - use <method>XRepository::createBlankNode</method> instead. + use <member>XRepository::createBlankNode</member> instead. <p> @param NodeID diff --git a/offapi/com/sun/star/rdf/FileFormat.idl b/offapi/com/sun/star/rdf/FileFormat.idl index f22ad9265039..d83b4bc66363 100644 --- a/offapi/com/sun/star/rdf/FileFormat.idl +++ b/offapi/com/sun/star/rdf/FileFormat.idl @@ -41,13 +41,13 @@ module com { module sun { module star { module rdf { <p> These constants are mainly for use with - <method>XRepository::importGraph</method> - and <method>XRepository::exportGraph</method>. + <member>XRepository::importGraph</member> + and <member>XRepository::exportGraph</member>. </p> <p> - Note that these are integers because UNO IDL does not permit string - constants. + Note that these are integers because UNO IDL does not permit + <atom>string</atom> constants. </p> @since OOo 3.0 diff --git a/offapi/com/sun/star/rdf/Statement.idl b/offapi/com/sun/star/rdf/Statement.idl index 9d8692154755..18bb46bfb70e 100644 --- a/offapi/com/sun/star/rdf/Statement.idl +++ b/offapi/com/sun/star/rdf/Statement.idl @@ -43,7 +43,7 @@ module com { module sun { module star { module rdf { //============================================================================= /** represents a RDF statement, or triple. - @since OOo 3.0 + @since OOo 3.2 @see XRepository */ @@ -52,7 +52,7 @@ struct Statement /// the subject of the RDF statement. XResource Subject; /// the predicate of the RDF statement. - XResource Predicate; + XURI Predicate; /// the object of the RDF statement. XNode Object; /// the named graph that contains this statement, or <NULL/>. diff --git a/offapi/com/sun/star/rdf/URI.idl b/offapi/com/sun/star/rdf/URI.idl index 2ccb100cac4f..8a4888c4efb7 100644 --- a/offapi/com/sun/star/rdf/URI.idl +++ b/offapi/com/sun/star/rdf/URI.idl @@ -58,7 +58,7 @@ service URI : XURI /** creates an URI RDF node. @param Value - the URI, represented as string. + the URI, represented as <atom>string</atom>. @throws com::sun::star::lang::IllegalArgumentException if the argument does not represent a valid URI @@ -70,10 +70,11 @@ service URI : XURI /** creates an URI RDF node from namespace prefix and local name. @param Namespace - the namespace prefix of the URI, represented as string. + the namespace prefix of the URI, represented as + <atom>string</atom>. @param LocalName - the local name of the URI, represented as string. + the local name of the URI, represented as <atom>string</atom>. @throws com::sun::star::lang::IllegalArgumentException if the arguments do not represent a valid URI diff --git a/offapi/com/sun/star/rdf/URIs.idl b/offapi/com/sun/star/rdf/URIs.idl index 23a3ef3f7f62..19a49b4919a6 100644 --- a/offapi/com/sun/star/rdf/URIs.idl +++ b/offapi/com/sun/star/rdf/URIs.idl @@ -41,23 +41,103 @@ module com { module sun { module star { module rdf { /** Constants to specify some well-known URIs. <p> - These constants are mainly for use with - <method>URI::createKnown</method>. + These constants are for use with <member>URI::createKnown</member>. </p> - @since OOo 3.0 + @since OOo 3.2 @see URI::createKnown */ constants URIs { -// /// http://www.w3.org/2001/XMLSchema#NCName -//FIXME: XMLSchema-datatypes is preferred to XMLSchema in this context??? - /// http://www.w3.org/2001/XMLSchema-datatypes#NCName - const short XSD_NCNAME = 1; + const short XSD_NCNAME = 1; /// http://www.w3.org/2001/XMLSchema-datatypes#string - const short XSD_STRING = 2; + const short XSD_STRING = 2; + /// http://www.w3.org/2001/XMLSchema-datatypes#normalizedString + const short XSD_NORMALIZEDSTRING = 3; + /// http://www.w3.org/2001/XMLSchema-datatypes#boolean + const short XSD_BOOLEAN = 4; + /// http://www.w3.org/2001/XMLSchema-datatypes#decimal + const short XSD_DECIMAL = 5; + /// http://www.w3.org/2001/XMLSchema-datatypes#float + const short XSD_FLOAT = 6; + /// http://www.w3.org/2001/XMLSchema-datatypes#double + const short XSD_DOUBLE = 7; + /// http://www.w3.org/2001/XMLSchema-datatypes#integer + const short XSD_INTEGER = 8; + /// http://www.w3.org/2001/XMLSchema-datatypes#nonNegativeInteger + const short XSD_NONNEGATIVEINTEGER = 9; + /// http://www.w3.org/2001/XMLSchema-datatypes#positiveInteger + const short XSD_POSITIVEINTEGER = 10; + /// http://www.w3.org/2001/XMLSchema-datatypes#nonPositiveInteger + const short XSD_NONPOSITIVEINTEGER = 11; + /// http://www.w3.org/2001/XMLSchema-datatypes#negativeInteger + const short XSD_NEGATIVEINTEGER = 12; + /// http://www.w3.org/2001/XMLSchema-datatypes#long + const short XSD_LONG = 13; + /// http://www.w3.org/2001/XMLSchema-datatypes#int + const short XSD_INT = 14; + /// http://www.w3.org/2001/XMLSchema-datatypes#short + const short XSD_SHORT = 15; + /// http://www.w3.org/2001/XMLSchema-datatypes#byte + const short XSD_BYTE = 16; + /// http://www.w3.org/2001/XMLSchema-datatypes#unsignedLong + const short XSD_UNSIGNEDLONG = 17; + /// http://www.w3.org/2001/XMLSchema-datatypes#unsignedInt + const short XSD_UNSIGNEDINT = 18; + /// http://www.w3.org/2001/XMLSchema-datatypes#unsignedShort + const short XSD_UNSIGNEDSHORT = 19; + /// http://www.w3.org/2001/XMLSchema-datatypes#unsignedByte + const short XSD_UNSIGNEDBYTE = 20; + /// http://www.w3.org/2001/XMLSchema-datatypes#hexBinary + const short XSD_HEXBINARY = 21; + /// http://www.w3.org/2001/XMLSchema-datatypes#base64Binary + const short XSD_BASE64BINARY = 22; + /// http://www.w3.org/2001/XMLSchema-datatypes#dateTime + const short XSD_DATETIME = 23; + /// http://www.w3.org/2001/XMLSchema-datatypes#time + const short XSD_TIME = 24; + /// http://www.w3.org/2001/XMLSchema-datatypes#date + const short XSD_DATE = 25; + /// http://www.w3.org/2001/XMLSchema-datatypes#gYearMonth + const short XSD_GYEARMONTH = 26; + /// http://www.w3.org/2001/XMLSchema-datatypes#gYear + const short XSD_GYEAR = 27; + /// http://www.w3.org/2001/XMLSchema-datatypes#gMonthDay + const short XSD_GMONTHDAY = 28; + /// http://www.w3.org/2001/XMLSchema-datatypes#gDay + const short XSD_GDAY = 29; + /// http://www.w3.org/2001/XMLSchema-datatypes#gMonth + const short XSD_GMONTH = 30; + /// http://www.w3.org/2001/XMLSchema-datatypes#anyURI + const short XSD_ANYURI = 31; + /// http://www.w3.org/2001/XMLSchema-datatypes#token + const short XSD_TOKEN = 32; + /// http://www.w3.org/2001/XMLSchema-datatypes#language + const short XSD_LANGUAGE = 33; + /// http://www.w3.org/2001/XMLSchema-datatypes#NMTOKEN + const short XSD_NMTOKEN = 34; + /// http://www.w3.org/2001/XMLSchema-datatypes#Name + const short XSD_NAME = 35; + /// http://www.w3.org/2001/XMLSchema-datatypes#duration + const short XSD_DURATION = 36; + /// http://www.w3.org/2001/XMLSchema-datatypes#QName + const short XSD_QNAME = 37; + /// http://www.w3.org/2001/XMLSchema-datatypes#NOTATION + const short XSD_NOTATION = 38; + /// http://www.w3.org/2001/XMLSchema-datatypes#NMTOKENS + const short XSD_NMTOKENS = 39; + /// http://www.w3.org/2001/XMLSchema-datatypes#ID + const short XSD_ID = 40; + /// http://www.w3.org/2001/XMLSchema-datatypes#IDREF + const short XSD_IDREF = 41; + /// http://www.w3.org/2001/XMLSchema-datatypes#IDREFS + const short XSD_IDREFS = 42; + /// http://www.w3.org/2001/XMLSchema-datatypes#ENTITY + const short XSD_ENTITY = 43; + /// http://www.w3.org/2001/XMLSchema-datatypes#ENTITIES + const short XSD_ENTITIES = 44; /// http://www.w3.org/1999/02/22-rdf-syntax-ns#type const short RDF_TYPE = 1000; @@ -71,56 +151,179 @@ constants URIs const short RDF_PROPERTY = 1004; /// http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement const short RDF_STATEMENT = 1005; + /// http://www.w3.org/1999/02/22-rdf-syntax-ns#value + const short RDF_VALUE = 1006; + /// http://www.w3.org/1999/02/22-rdf-syntax-ns#first + const short RDF_FIRST = 1007; + /// http://www.w3.org/1999/02/22-rdf-syntax-ns#rest + const short RDF_REST = 1008; + /// http://www.w3.org/1999/02/22-rdf-syntax-ns#nil + const short RDF_NIL = 1009; + /// http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral + const short RDF_XMLLITERAL = 1010; + /// http://www.w3.org/1999/02/22-rdf-syntax-ns#Alt + const short RDF_ALT = 1011; + /// http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag + const short RDF_BAG = 1012; + /// http://www.w3.org/1999/02/22-rdf-syntax-ns#List + const short RDF_LIST = 1013; + /// http://www.w3.org/1999/02/22-rdf-syntax-ns#Seq + const short RDF_SEQ = 1014; + /// http://www.w3.org/1999/02/22-rdf-syntax-ns#_1 + const short RDF_1 = 1015; + /* hmm... that's a lot of potential constants: + _n where n is a decimal integer greater than zero with no leading zeros. + */ /// http://www.w3.org/2000/01/rdf-schema#comment - const short RDFS_COMMENT = 1100; + const short RDFS_COMMENT = 1100; /// http://www.w3.org/2000/01/rdf-schema#label - const short RDFS_LABEL = 1101; + const short RDFS_LABEL = 1101; /// http://www.w3.org/2000/01/rdf-schema#domain - const short RDFS_DOMAIN = 1102; + const short RDFS_DOMAIN = 1102; /// http://www.w3.org/2000/01/rdf-schema#range - const short RDFS_RANGE = 1103; + const short RDFS_RANGE = 1103; /// http://www.w3.org/2000/01/rdf-schema#subClassOf - const short RDFS_SUBCLASSOF = 1104; + const short RDFS_SUBCLASSOF = 1104; /// http://www.w3.org/2000/01/rdf-schema#Literal - const short RDFS_LITERAL = 1105; + const short RDFS_LITERAL = 1105; + /// http://www.w3.org/2000/01/rdf-schema#member + const short RDFS_MEMBER = 1106; + /// http://www.w3.org/2000/01/rdf-schema#subPropertyOf + const short RDFS_SUBPROPERTYOF = 1107; + /// http://www.w3.org/2000/01/rdf-schema#isDefinedBy + const short RDFS_ISDEFINEDBY = 1108; + /// http://www.w3.org/2000/01/rdf-schema#seeAlso + const short RDFS_SEEALSO = 1109; + /// http://www.w3.org/2000/01/rdf-schema#Resource + const short RDFS_RESOURCE = 1110; + /// http://www.w3.org/2000/01/rdf-schema#Class + const short RDFS_CLASS = 1111; + /// http://www.w3.org/2000/01/rdf-schema#Datatype + const short RDFS_DATATYPE = 1112; + /// http://www.w3.org/2000/01/rdf-schema#Container + const short RDFS_CONTAINER = 1113; + /// http://www.w3.org/2000/01/rdf-schema#ContainerMembershipProperty + const short RDFS_CONTAINERMEMBERSHIPPROPERTY = 1114; /// http://www.w3.org/2002/07/owl#Class - const short OWL_CLASS = 1200; + const short OWL_CLASS = 1200; /// http://www.w3.org/2002/07/owl#ObjectProperty - const short OWL_OBJECTPROPERTY = 1201; + const short OWL_OBJECTPROPERTY = 1201; /// http://www.w3.org/2002/07/owl#DatatypeProperty - const short OWL_DATATYPEPROPERTY = 1202; + const short OWL_DATATYPEPROPERTY = 1202; /// http://www.w3.org/2002/07/owl#FunctionalProperty - const short OWL_FUNCTIONALPROPERTY = 1203; + const short OWL_FUNCTIONALPROPERTY = 1203; + /// http://www.w3.org/2002/07/owl#Thing + const short OWL_THING = 1204; + /// http://www.w3.org/2002/07/owl#Nothing + const short OWL_NOTHING = 1205; + /// http://www.w3.org/2002/07/owl#Individual + const short OWL_INDIVIDUAL = 1206; + /// http://www.w3.org/2002/07/owl#equivalentClass + const short OWL_EQUIVALENTCLASS = 1207; + /// http://www.w3.org/2002/07/owl#equivalentProperty + const short OWL_EQUIVALENTPROPERTY = 1208; + /// http://www.w3.org/2002/07/owl#sameAs + const short OWL_SAMEAS = 1209; + /// http://www.w3.org/2002/07/owl#differentFrom + const short OWL_DIFFERENTFROM = 1210; + /// http://www.w3.org/2002/07/owl#AllDifferent + const short OWL_ALLDIFFERENT = 1211; + /// http://www.w3.org/2002/07/owl#distinctMembers + const short OWL_DISTINCTMEMBERS = 1212; + /// http://www.w3.org/2002/07/owl#inverseOf + const short OWL_INVERSEOF = 1213; + /// http://www.w3.org/2002/07/owl#TransitiveProperty + const short OWL_TRANSITIVEPROPERTY = 1214; + /// http://www.w3.org/2002/07/owl#SymmetricProperty + const short OWL_SYMMETRICPROPERTY = 1215; + /// http://www.w3.org/2002/07/owl#InverseFunctionalProperty + const short OWL_INVERSEFUNCTIONALPROPERTY = 1216; + /// http://www.w3.org/2002/07/owl#Restriction + const short OWL_RESTRICTION = 1217; + /// http://www.w3.org/2002/07/owl#onProperty + const short OWL_ONPROPERTY = 1218; + /// http://www.w3.org/2002/07/owl#allValuesFrom + const short OWL_ALLVALUESFROM = 1219; + /// http://www.w3.org/2002/07/owl#someValuesFrom + const short OWL_SOMEVALUESFROM = 1220; + /// http://www.w3.org/2002/07/owl#minCardinality + const short OWL_MINCARDINALITY = 1221; + /// http://www.w3.org/2002/07/owl#maxCardinality + const short OWL_MAXCARDINALITY = 1222; + /// http://www.w3.org/2002/07/owl#cardinality + const short OWL_CARDINALITY = 1223; + /// http://www.w3.org/2002/07/owl#Ontology + const short OWL_ONTOLOGY = 1224; + /// http://www.w3.org/2002/07/owl#imports + const short OWL_IMPORTS = 1225; + /// http://www.w3.org/2002/07/owl#versionInfo + const short OWL_VERSIONINFO = 1226; + /// http://www.w3.org/2002/07/owl#priorVersion + const short OWL_PRIORVERSION = 1227; + /// http://www.w3.org/2002/07/owl#backwardCompatibleWith + const short OWL_BACKWARDCOMPATIBLEWITH = 1228; + /// http://www.w3.org/2002/07/owl#incompatibleWith + const short OWL_INCOMPATIBLEWITH = 1229; + /// http://www.w3.org/2002/07/owl#DeprecatedClass + const short OWL_DEPRECATEDCLASS = 1230; + /// http://www.w3.org/2002/07/owl#DeprecatedProperty + const short OWL_DEPRECATEDPROPERTY = 1231; + /// http://www.w3.org/2002/07/owl#AnnotationProperty + const short OWL_ANNOTATIONPROPERTY = 1232; + /// http://www.w3.org/2002/07/owl#OntologyProperty + const short OWL_ONTOLOGYPROPERTY = 1233; + /// http://www.w3.org/2002/07/owl#oneOf + const short OWL_ONEOF = 1234; + /// http://www.w3.org/2002/07/owl#dataRange + const short OWL_DATARANGE = 1235; + /// http://www.w3.org/2002/07/owl#disjointWith + const short OWL_DISJOINTWITH = 1236; + /// http://www.w3.org/2002/07/owl#unionOf + const short OWL_UNIONOF = 1237; + /// http://www.w3.org/2002/07/owl#complementOf + const short OWL_COMPLEMENTOF = 1238; + /// http://www.w3.org/2002/07/owl#intersectionOf + const short OWL_INTERSECTIONOF = 1239; + /// http://www.w3.org/2002/07/owl#hasValue + const short OWL_HASVALUE = 1240; - /// http://docs.oasis-open.org/opendocument/meta/package/common#hasPart - const short PKG_HASPART = 2000; - /// http://docs.oasis-open.org/opendocument/meta/package/common#idref + /// http://docs.oasis-open.org/ns/office/1.2/meta/pkg#hasPart + const short PKG_HASPART = 2000; +/* REMOVED + /// http://docs.oasis-open.org/ns/office/1.2/meta/pkg#idref const short PKG_IDREF = 2001; - /// http://docs.oasis-open.org/opendocument/meta/package/common#path + /// http://docs.oasis-open.org/ns/office/1.2/meta/pkg#path const short PKG_PATH = 2002; - /// http://docs.oasis-open.org/opendocument/meta/package/common#mimeType - const short PKG_MIMETYPE = 2003; - /// http://docs.oasis-open.org/opendocument/meta/package/common#Package - const short PKG_PACKAGE = 2004; - /// http://docs.oasis-open.org/opendocument/meta/package/common#Element - const short PKG_ELEMENT = 2005; - /// http://docs.oasis-open.org/opendocument/meta/package/common#File - const short PKG_FILE = 2006; - - /// http://docs.oasis-open.org/opendocument/meta/package/odf#prefix +*/ + /// http://docs.oasis-open.org/ns/office/1.2/meta/pkg#mimeType + const short PKG_MIMETYPE = 2003; + /// http://docs.oasis-open.org/ns/office/1.2/meta/pkg#Package + const short PKG_PACKAGE = 2004; + /// http://docs.oasis-open.org/ns/office/1.2/meta/pkg#Element + const short PKG_ELEMENT = 2005; + /// http://docs.oasis-open.org/ns/office/1.2/meta/pkg#File + const short PKG_FILE = 2006; + /// http://docs.oasis-open.org/ns/office/1.2/meta/pkg#MetadataFile + const short PKG_METADATAFILE = 2007; + /// http://docs.oasis-open.org/ns/office/1.2/meta/pkg#Document + const short PKG_DOCUMENT = 2008; + + /// http://docs.oasis-open.org/ns/office/1.2/meta/odf#prefix const short ODF_PREFIX = 2100; - /// http://docs.oasis-open.org/opendocument/meta/package/odf#suffix + /// http://docs.oasis-open.org/ns/office/1.2/meta/odf#suffix const short ODF_SUFFIX = 2101; - /// http://docs.oasis-open.org/opendocument/meta/package/odf#Element + /// http://docs.oasis-open.org/ns/office/1.2/meta/odf#Element const short ODF_ELEMENT = 2102; - /// http://docs.oasis-open.org/opendocument/meta/package/odf#ContentFile + /// http://docs.oasis-open.org/ns/office/1.2/meta/odf#ContentFile const short ODF_CONTENTFILE = 2103; - /// http://docs.oasis-open.org/opendocument/meta/package/odf#StylesFile + /// http://docs.oasis-open.org/ns/office/1.2/meta/odf#StylesFile const short ODF_STYLESFILE = 2104; - /// http://docs.oasis-open.org/opendocument/meta/package/odf#MetadataFile +/* REMOVED + /// http://docs.oasis-open.org/ns/office/1.2/meta/odf#MetadataFile const short ODF_METADATAFILE = 2105; +*/ /// urn:oasis:names:tc:opendocument:xmlns:text:1.0meta-field // const short TEXT_META_FIELD = 3000; diff --git a/offapi/com/sun/star/rdf/XDocumentMetadataAccess.idl b/offapi/com/sun/star/rdf/XDocumentMetadataAccess.idl index 6eda7bf0da0e..9c82d75546a3 100644 --- a/offapi/com/sun/star/rdf/XDocumentMetadataAccess.idl +++ b/offapi/com/sun/star/rdf/XDocumentMetadataAccess.idl @@ -55,6 +55,10 @@ #include <com/sun/star/io/IOException.idl> #endif +#ifndef __com_sun_star_io_XInputStream_idl__ +#include <com/sun/star/io/XInputStream.idl> +#endif + #ifndef __com_sun_star_datatransfer_UnsupportedFlavorException_idl__ #include <com/sun/star/datatransfer/UnsupportedFlavorException.idl> #endif @@ -63,8 +67,8 @@ #include <com/sun/star/embed/XStorage.idl> #endif -#ifndef __com_sun_star_io_XInputStream_idl__ -#include <com/sun/star/io/XInputStream.idl> +#ifndef __com_sun_star_task_XInteractionHandler_idl__ +#include <com/sun/star/task/XInteractionHandler.idl> #endif #ifndef __com_sun_star_rdf_FileFormat_idl__ @@ -100,20 +104,15 @@ module com { module sun { module star { module rdf { the content and the RDF metadata of an ODF document. The main idea is to make querying and manipulating the data in the metadata manifest easier. - Among other things, the metadata manifest contains a mapping between ODF - elements (in the "content.xml" and "styles.xml" streams) and URIs. - Such a mapping works by associating the XML ID of the ODF element with - the URI by an RDF statement of the form: - <code>URI pkg:idref XmlId.</code> </p> <p> - Note that this interface inherits from <type>XResource</type>: the - UUID of the package is the string value of the RDF node. - This is so that you can easily make RDF statements about the package. + Note that this interface inherits from <type>XURI</type>: the + base URI of the document is the string value of the RDF node. + This is so that you can easily make RDF statements about the document. </p> - @since OOo 3.0 + @since OOo 3.2 @see XDocumentRepository */ @@ -123,33 +122,22 @@ interface XDocumentMetadataAccess interface XRepositorySupplier; //------------------------------------------------------------------------- - /** get the UUID for the ODF package. + /** get the unique ODF element with the given metadata reference. - @returns - a universally unique ID that identifies this ODF package - */ - string getPackageUUID(); - - //------------------------------------------------------------------------- - /** get the unique ODF element with the given XML ID. - - @param XmlId - an XML ID, comprising the stream name and the "xml:id" attribute. - For example: "content.xml#foo-element-1" + @param MetadataReference + a metadata reference, comprising the stream name and the XML ID + For example: Pair("content.xml", "foo-element-1") @returns - the ODF element with the given XML ID if it exists, else <NULL/> + the ODF element with the given metadata references if it exists, + else <NULL/> */ - XMetadatable getElementByXmlId([in] string XmlId); + XMetadatable getElementByMetadataReference( + [in] com::sun::star::beans::StringPair MetadataReference); //------------------------------------------------------------------------- /** get the ODF element that corresponds to an URI. - <p> - Convenience method that uses the mapping established in the - "manifest.rdf" to locate the ODF element corresponding to an URI. - </p> - @param URI an URI that may identify an ODF element @@ -163,94 +151,6 @@ interface XDocumentMetadataAccess raises( com::sun::star::lang::IllegalArgumentException ); //------------------------------------------------------------------------- - /** find the URI that is associated with an ODF element in the manifest. - - @param Element - the ODF element for which the URI should be returned - - @returns - the URI associated with the element, or <NULL/> - - @throws com::sun::star::lang::IllegalArgumentException - if the given Element is <NULL/> - */ - XURI getURIForElement([in] XMetadatable Element) - raises( com::sun::star::lang::IllegalArgumentException ); - - //------------------------------------------------------------------------- - /** create an URI for an ODF element. - - <p> - Convenience method that generates an URI for the given ODF element, - and inserts a mapping between the URI and the XML ID of the ODF element - into the manifest. - If the element does not have a XML ID yet, a new XML ID will be - generated. - If an URI for the element already exists, it will be returned. - </p> - - @param Element - the ODF element for which an URI should be created. - - @returns - the URI associated with the element - - @throws com::sun::star::lang::IllegalArgumentException - if the given Element is <NULL/> - */ - XURI getOrCreateURIForElement([in] XMetadatable Element) - raises( com::sun::star::lang::IllegalArgumentException ); - - //------------------------------------------------------------------------- - /** establish mapping between an ODF Element and an URI in the manifest. - - <p> - This method Convenience method that generates an URI for the given - ODF element, and inserts a mapping between the URI and the XML ID - of the ODF element into the manifest. - If the element does not have a XML ID yet, a new XML ID will be - generated. - If there already exists an URI for the element, the mapping will not - be changed, and an - <type scope="com::sun::star::container">ElementExistException</type> - will be thrown. - </p> - - <p> - Note that the mapping maintained by this method is a one-to-one - mapping, even though the specification technically permits - mapping an XML ID to multiple URIs. - </p> - - @param Element - the ODF element with which an URI should be associated - - @param URI - the URI which should be associated with the Element - - @throws com::sun::star::lang::IllegalArgumentException - if any argument is <NULL/> - - @throws com::sun::star::container::ElementExistException - if either the URI or the XML ID of the Element is already mapped - */ - void createMappingForElement([in] XMetadatable Element, [in] XURI URI) - raises( com::sun::star::lang::IllegalArgumentException, - com::sun::star::container::ElementExistException ); - - //------------------------------------------------------------------------- - /** removes mapping for an ODF element from the manifest. - - @param Element - the ODF element for which the mapping should be removed - - @throws com::sun::star::lang::IllegalArgumentException - if the given Element is <NULL/> - */ - void removeMappingForElement([in] XMetadatable Element) - raises( com::sun::star::lang::IllegalArgumentException ); - - //------------------------------------------------------------------------- /** get the names of all metadata files with a given type. @param Type @@ -272,8 +172,8 @@ interface XDocumentMetadataAccess <p> This convenience method does the following: <ul> - <li>create a new graph with the given GraphName in the repository</li> - <li>insert the required statements declaring the new graph to be a + <li>create a new graph with the given name in the repository</li> + <li>insert statements declaring the new graph to be a metadata file into the manifest graph</li> <li>insert statements declaring <code>rdf:type</code> properties for the new graph into the manifest graph</li> @@ -281,24 +181,23 @@ interface XDocumentMetadataAccess </p> @param FileName - the name of the stream in the ODF package where the graph will + the name of the stream in the ODF storage where the graph will be stored - @param GraphName - the name of the graph that is to be created - @param Types a list of types that will be inserted as <code>rdf:type</code> properties for the graph + @returns + the name of the new graph + @throws com::sun::star::lang::IllegalArgumentException - if the given GraphName is <NULL/>, or the FileName is invalid + if the FileName is invalid @throws com::sun::star::container::ElementExistException - if a graph with the given GraphName, or a stream with the given - FileName, already exists + if a stream with the given FileName already exists */ - void addMetadataFile([in] string FileName, [in] XURI GraphName, + XURI addMetadataFile([in] string FileName, [in] sequence<XURI> Types ) raises( com::sun::star::lang::IllegalArgumentException, com::sun::star::container::ElementExistException ); @@ -309,19 +208,18 @@ interface XDocumentMetadataAccess <p> This convenience method does the following: - <li>import the given file into a graph with the given GraphName + <li>import the given file into a graph with the given name in the repository</li> - <li>insert the required statements declaring the new graph to be a + <li>insert statements declaring the new graph to be a metadata file into the manifest graph</li> + <li>insert statements declaring <code>rdf:type</code> properties + for the new graph into the manifest graph</li> </p> @param FileName - the name of the stream in the ODF package where the graph will + the name of the stream in the ODF storage where the graph will be stored - @param GraphName - the name of the graph that is to be created - @param BaseURI a base URI to resolve relative URI references @@ -329,8 +227,11 @@ interface XDocumentMetadataAccess a list of types that will be inserted as <code>rdf:type</code> properties for the graph + @returns + the name of the new graph + @throws com::sun::star::lang::IllegalArgumentException - if the given stream or the GraphName is <NULL/>, + if the given stream is <NULL/>, or BaseURI is <NULL/> and the format requires use of a base URI, or the FileName is invalid @@ -338,8 +239,7 @@ interface XDocumentMetadataAccess if the format requested is unknown or not supported @throws com::sun::star::container::ElementExistException - if a graph with the given GraphName, or a stream with the given - FileName, already exists + if a stream with the given FileName already exists @throws ParseException if the input does not conform to the specified file format. @@ -349,9 +249,9 @@ interface XDocumentMetadataAccess @see FileFormat */ - void importMetadataFile( [in] /*FileFormat*/ short Format, + XURI importMetadataFile( [in] /*FileFormat*/ short Format, [in] com::sun::star::io::XInputStream InStream, - [in] string FileName, [in] XURI GraphName, [in] XURI BaseURI, + [in] string FileName, [in] XURI BaseURI, [in] sequence<XURI> Types ) raises( com::sun::star::lang::IllegalArgumentException, com::sun::star::datatransfer::UnsupportedFlavorException, @@ -398,7 +298,7 @@ interface XDocumentMetadataAccess </p> @param FileName - the name of the stream in the ODF package + the name of the stream in the ODF storage @throws com::sun::star::lang::IllegalArgumentException if the FileName is invalid @@ -415,12 +315,11 @@ interface XDocumentMetadataAccess <p> This convenience method removes the statements declaring a - content or styles file from the manifest graph, as well as - all mappings that refer to the file. + content or styles file from the manifest graph. </p> @param FileName - the name of the stream in the ODF package + the name of the stream in the ODF storage @throws com::sun::star::lang::IllegalArgumentException if the FileName is invalid @@ -447,22 +346,35 @@ interface XDocumentMetadataAccess In this case, the document metadata will be default initialized. </p> + <p> + If an InteractionHandler argument is given, it will be used for + error reporting. Otherwise, errors will be reported as exceptions. + </p> + @param Storage - a storage, representing e.g. an ODF package file + a storage, representing e.g. an ODF package file, or sub-document @param BaseURI a base URI to resolve relative URI references + <p>N.B.: when loading from an ODF package, the base URI is not the + URI of the package, but the URI of the directory in the package + that contains the metadata.rdf</p> + + @param InteractionHandler + an InteractionHandler, used for error reporting @throws com::sun::star::lang::IllegalArgumentException if any argument is <NULL/> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs while loading and no InteractionHandler given */ -//FIXME: how to do error handling??? this thing must be able to report any number of errors in any number of streams... XInteractionHandler??? void loadMetadataFromStorage( [in] com::sun::star::embed::XStorage Storage, - [in] XURI BaseURI) - raises( com::sun::star::lang::IllegalArgumentException ); -// com::sun::star::io::IOException, -// com::sun::star::); + [in] XURI BaseURI, + [in] com::sun::star::task::XInteractionHandler InteractionHandler ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::WrappedTargetException ); //------------------------------------------------------------------------- /** store document metadata to a storage. @@ -474,28 +386,29 @@ interface XDocumentMetadataAccess <p> Note that to be stored correctly, a named graph must have a complete - entry in the manifest graph, with a <code>pkg:path</code> property - that denotes a legal stream name. + entry in the manifest graph. </p> @param Storage - a storage, representing e.g. an ODF package file + a storage, representing e.g. an ODF package file, or sub-document @throws com::sun::star::lang::IllegalArgumentException - if any argument is <NULL/> + if Storage argument is <NULL/> + + @throws com::sun::star::lang::WrappedTargetException + if an error occurs while loading */ -//FIXME error handling void storeMetadataToStorage( - [in] com::sun::star::embed::XStorage Storage) - raises( com::sun::star::lang::IllegalArgumentException ); -// com::sun::star::io::IOException, -// com::sun::star:: ); + [in] com::sun::star::embed::XStorage Storage ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::WrappedTargetException ); -//FIXME error handling for these? -//Note: any errors when accessing individual streams in the medium (including the manifest) will not be reported to the caller unless an XInteractionHandler is supplied. //------------------------------------------------------------------------- /** loads document metadata from a medium. + <p>If the Medium contains an InteractionHandler, it will be used for + error reporting.</p> + @param Medium the <type>com::sun::star::document::MediaDescriptor</type> representing the source @@ -504,18 +417,14 @@ interface XDocumentMetadataAccess if the argument does not contain a URL or Stream property @throws com::sun::star::lang::WrappedTargetException - if thrown when trying to access the medium - - @throws com::sun::star::io::IOException - if thrown when trying to access the medium + if an error occurs while loading @see com::sun::star::document::MediaDescriptor */ void loadMetadataFromMedium( [in] sequence < com::sun::star::beans::PropertyValue > Medium ) raises( com::sun::star::lang::IllegalArgumentException, - com::sun::star::lang::WrappedTargetException, - com::sun::star::io::IOException ); + com::sun::star::lang::WrappedTargetException ); //------------------------------------------------------------------------- /** stores document metadata to a medium. @@ -528,18 +437,14 @@ interface XDocumentMetadataAccess if the argument does not contain a URL or Stream property @throws com::sun::star::lang::WrappedTargetException - if thrown when trying to access the medium - - @throws com::sun::star::io::IOException - if thrown when trying to access the medium + if an error occurs while storing @see com::sun::star::document::MediaDescriptor */ void storeMetadataToMedium( [in] sequence < com::sun::star::beans::PropertyValue > Medium ) raises( com::sun::star::lang::IllegalArgumentException, - com::sun::star::lang::WrappedTargetException, - com::sun::star::io::IOException ); + com::sun::star::lang::WrappedTargetException ); }; diff --git a/offapi/com/sun/star/rdf/XDocumentRepository.idl b/offapi/com/sun/star/rdf/XDocumentRepository.idl index bd7f6d2259b6..d9131291d81a 100644 --- a/offapi/com/sun/star/rdf/XDocumentRepository.idl +++ b/offapi/com/sun/star/rdf/XDocumentRepository.idl @@ -31,10 +31,6 @@ #ifndef __com_sun_star_rdf_XDocumentRepository_idl__ #define __com_sun_star_rdf_XDocumentRepository_idl__ -#ifndef __com_sun_star_text_XTextRange_idl__ -#include <com/sun/star/text/XTextRange.idl> -#endif - #ifndef __com_sun_star_rdf_XMetadatable_idl__ #include <com/sun/star/rdf/XMetadatable.idl> #endif @@ -58,7 +54,7 @@ module com { module sun { module star { module rdf { which is stored as RDFa. </p> - @since OOo 3.0 + @since OOo 3.2 @see XRepositorySupplier @see XDocumentMetadataAccess @@ -73,22 +69,30 @@ interface XDocumentRepository : XRepository <p> This method will do the following steps: <ol> - <li>Remove all RDFa statements that involve the Object parameter from - the repository</li> + <li>Remove all previously set RDFa statements for the Object parameter + from the repository</li> <li>If the RDFaContent parameter is the empty <atom>string</atom>, + for every Predicate in the given list of Predicates, add the following RDF statement to an unspecified named graph: <ul> - <li><code>Subject Predicate XLiteral(Object->getText())</code></li> + <li><code>Subject Predicate + XLiteral(Object->getText()^^RDFaDatatype)</code></li> </ul> </li> <li>If the RDFaContent parameter is not the empty <atom>string</atom>, - add the following RDF statements to an unspecified named graph: + for every Predicate in the given list of Predicates, + add the following RDF statement to an unspecified named graph: <ul> <li> <code>Subject Predicate XLiteral(RDFaContent^^RDFaDatatype)</code> </li> + </ul> + Further, add the following RDF statement to the same unspecified + named graph: + <ul> <li> - <code>Subject rdfs:label XLiteral(Object->getText())</code></li> + <code>Subject rdfs:label XLiteral(Object->getText())</code> + </li> </ul> </li> </ol> @@ -97,22 +101,22 @@ interface XDocumentRepository : XRepository <p> RDFa statements are handled specially because they are not logically part of any named graph in the repository. - Also, they have rather unusual semantics. - Also, just using <method>XNamedGraph::addStatement</method> - for this would be ambiguous: - if the object is a XMetadatable, do we insert the object itself (URI) - or its literal content (RDFa)? + Also, they have rather unusual semantics; + just using <member>XNamedGraph::addStatement</member> would be + ambiguous: + if the object is a <type>XMetadatable</type>, do we insert + the object itself (URI) or its literal content (RDFa)? </p> -//FIXME: updates??? @param Subject - the subject of the RDF triple. + the subject of the RDF triple(s). - @param Predicate - the predicate of the RDF triple. + @param Predicates + the predicates of the RDF triple(s). @param Object - the object of the RDF triple is the text content of this parameter. + the object of the RDF triple(s) is the text content of this + parameter. @param RDFaContent the <code>rdfa:content</code> attribute (may be the empty @@ -122,16 +126,16 @@ interface XDocumentRepository : XRepository the <code>rdfa:datatype</code> attribute (may be <NULL/>) @throws com::sun::star::lang::IllegalArgumentException - if any parameter is <NULL/>, + if any parameter is <NULL/>, Predicates is empty, or Object is of a type that can not have RDFa metadata attached. @throws RepositoryException if an error occurs when accessing the repository. */ void setStatementRDFa( - [in] XURI Subject, - [in] XURI Predicate, - [in] com::sun::star::text::XTextRange Object, + [in] XResource Subject, + [in] sequence<XURI> Predicates, + [in] XMetadatable Object, [in] string RDFaContent, [in] XURI RDFaDatatype) raises( com::sun::star::lang::IllegalArgumentException, @@ -146,7 +150,7 @@ interface XDocumentRepository : XRepository part of any graph. </p> - @param Object + @param Element the element whose RDFa statement(s) should be removed @throws com::sun::star::lang::IllegalArgumentException @@ -156,7 +160,7 @@ interface XDocumentRepository : XRepository @throws RepositoryException if an error occurs when accessing the repository. */ - void removeStatementRDFa([in] com::sun::star::text::XTextRange Object) + void removeStatementRDFa([in] XMetadatable Element) raises( com::sun::star::lang::IllegalArgumentException, RepositoryException ); @@ -170,13 +174,14 @@ interface XDocumentRepository : XRepository <ul> <li>if the element has no RDFa meta-data attributes: the empty sequence.</li> - <li>if the element has RDFa meta-data attributes, + <li>if the element has RDFa meta-data attributes: and no <code>rdfa:content</code> attached: - a sequence with a single element: the RDFa-statement</li> + a sequence with the RDFa-statements corresponding to the + attributes</li> <li>if the element has RDFa meta-data attributes, and also <code>rdfa:content</code> attached: - a sequence with 2 elements: first the RDFa-statement, - then the RDFa-labels-statement</li> + a sequence with the RDFa-statements corresponding to the + attributes, including the RDFa-labels-statement</li> </ul> @throws com::sun::star::lang::IllegalArgumentException @@ -198,7 +203,7 @@ interface XDocumentRepository : XRepository <p> This method exists because RDFa statements are not part of any named graph, and thus they cannot be enumerated with - <method>XNamedGraph::getStatements</method>. + <member>XNamedGraph::getStatements</member>. </p> <p> @@ -230,7 +235,7 @@ interface XDocumentRepository : XRepository */ com::sun::star::container::XEnumeration/*<Statement>*/ getStatementsRDFa( [in] XResource Subject, - [in] XResource Predicate, + [in] XURI Predicate, [in] XNode Object) raises( RepositoryException ); diff --git a/offapi/com/sun/star/rdf/XMetadatable.idl b/offapi/com/sun/star/rdf/XMetadatable.idl index 9c702cfc4db7..19b25f8b58a0 100644 --- a/offapi/com/sun/star/rdf/XMetadatable.idl +++ b/offapi/com/sun/star/rdf/XMetadatable.idl @@ -35,8 +35,12 @@ #include <com/sun/star/lang/IllegalArgumentException.idl> #endif -#ifndef __com_sun_star_rdf_XResource_idl__ -#include <com/sun/star/rdf/XResource.idl> +#ifndef __com_sun_star_beans_StringPair_idl__ +#include <com/sun/star/beans/StringPair.idl> +#endif + +#ifndef __com_sun_star_rdf_XURI_idl__ +#include <com/sun/star/rdf/XURI.idl> #endif @@ -50,42 +54,52 @@ module com { module sun { module star { module rdf { <p> To make using ODF elements as part of RDF statements more convenient, - this interface inherits from XRDFResource. + this interface inherits from <type>XURI</type>. + The URI is constructed by concatenating the URI of the document, the + stream name, a fragment separator, and the XML ID. + </p> + + <p> + Note that using the <type>XURI</type> interface on an instance of + <type>XMetadatable</type> may have the side effect of creating a metadata + reference for the instance. </p> - @since OOo 3.0 + @since OOo 3.2 - @see XRDFRepository + @see XRepository + @see XDocumentMetadataAccess */ -interface XMetadatable : XResource +interface XMetadatable : XURI { //------------------------------------------------------------------------- - /** an XML ID, comprising the stream name and the xml:id attribute. + /** a metadata reference, comprising the stream name and the XML ID. <p> - Note that this ID must be unique for the ODF document. - This implies that the xml:id part must be unique for every stream. - The ID may be omitted, in which case the value is the empty string. - For Example: "content.xml#foo-element-1" + Note that this metadata reference must be unique for the ODF document. + This implies that the XML ID part must be unique for every stream. + A pair of two empty strings signifies "no metadata reference". + For example: Pair("content.xml", "foo-element-1") </p> @throws com::sun::star::lang::IllegalArgumentException - if the given XmlId is invalid, or not unique + if the given metadata reference is invalid, or not unique */ - [attribute] string XmlId { + [attribute] com::sun::star::beans::StringPair MetadataReference { set raises ( com::sun::star::lang::IllegalArgumentException ); }; //------------------------------------------------------------------------- - /** creates an XML ID for this object, if necessary. + /** creates a metadata reference for this object, if necessary. <p> - If this object already has an XML ID, do nothing; - otherwise, create a fresh, unique XML ID and assign it to the - XmlId attribute. + If this object already has a metadata reference, do nothing; + otherwise, create metadata reference with a fresh, unique XML ID + and assign it to the MetadataReference attribute. </p> */ - void ensureXmlId(); + void ensureMetadataReference(); + }; //============================================================================= diff --git a/offapi/com/sun/star/rdf/XNamedGraph.idl b/offapi/com/sun/star/rdf/XNamedGraph.idl index be7b67448e9f..33c09cdfceee 100644 --- a/offapi/com/sun/star/rdf/XNamedGraph.idl +++ b/offapi/com/sun/star/rdf/XNamedGraph.idl @@ -67,13 +67,13 @@ module com { module sun { module star { module rdf { <p> Note that instances may be destroyed via - <method>XRepository::destroyGraph</method>. - If a graph is destroyed, subsequent calls to <method>addStatement</method>, - <method>removeStatement</method> will fail with an + <member>XRepository::destroyGraph</member>. + If a graph is destroyed, subsequent calls to <member>addStatement</member>, + <member>removeStatements</member> will fail with an <type scope="com::sun::star::container">NoSuchElementException</type>. </p> - @since OOo 3.0 + @since OOo 3.2 @see XRepository */ @@ -134,7 +134,7 @@ interface XNamedGraph : XURI if an error occurs when accessing the repository. */ void addStatement([in] XResource Subject, - [in] XResource Predicate, + [in] XURI Predicate, [in] XNode Object) raises( com::sun::star::lang::IllegalArgumentException, com::sun::star::container::NoSuchElementException, @@ -172,7 +172,7 @@ interface XNamedGraph : XURI if an error occurs when accessing the repository. */ void removeStatements([in] XResource Subject, - [in] XResource Predicate, + [in] XURI Predicate, [in] XNode Object) raises( com::sun::star::container::NoSuchElementException, RepositoryException ); @@ -217,7 +217,7 @@ interface XNamedGraph : XURI */ com::sun::star::container::XEnumeration/*<Statement>*/ getStatements( [in] XResource Subject, - [in] XResource Predicate, + [in] XURI Predicate, [in] XNode Object) raises( com::sun::star::container::NoSuchElementException, RepositoryException ); diff --git a/offapi/com/sun/star/rdf/XQuerySelectResult.idl b/offapi/com/sun/star/rdf/XQuerySelectResult.idl index 9148b6b0db85..1d9641edf37d 100644 --- a/offapi/com/sun/star/rdf/XQuerySelectResult.idl +++ b/offapi/com/sun/star/rdf/XQuerySelectResult.idl @@ -51,7 +51,7 @@ module com { module sun { module star { module rdf { each being a list of bindings for the above variables</li> </ol> Note that each query result retrieved via - <method scope="com::sun::star::container">XEnumeration::nextElement</method> + <member scope="com::sun::star::container">XEnumeration::nextElement</member> has the type <type dim="[]">XNode</type>, the length of the sequence being the same as the number of query variables. </p> diff --git a/offapi/com/sun/star/rdf/XRepository.idl b/offapi/com/sun/star/rdf/XRepository.idl index 3c75b50b206f..6f6e12a2ea5b 100644 --- a/offapi/com/sun/star/rdf/XRepository.idl +++ b/offapi/com/sun/star/rdf/XRepository.idl @@ -126,7 +126,7 @@ module com { module sun { module star { module rdf { </p> - @since OOo 3.0 + @since OOo 3.2 @see XRepositorySupplier @see XDocumentRepository @@ -369,7 +369,7 @@ interface XRepository */ com::sun::star::container::XEnumeration/*<Statement>*/ getStatements( [in] XResource Subject, - [in] XResource Predicate, + [in] XURI Predicate, [in] XNode Object) raises( RepositoryException ); @@ -385,7 +385,7 @@ interface XRepository </p> @param Query - the SPARQL query string + the SPARQL query <atom>string</atom> @returns an enumeration, containing @@ -396,7 +396,7 @@ interface XRepository </ol> @throws QueryException - if the query string is malformed, or evaluation fails + if the query is malformed, or evaluation fails @throws RepositoryException if an error occurs when accessing the repository. @@ -416,14 +416,14 @@ interface XRepository </p> @param Query - the SPARQL query string + the SPARQL query <atom>string</atom> @returns an iterator over the query result graph, represented as an enumeration of <type>Statement</type> @throws QueryException - if the query string is malformed, or evaluation fails + if the query is malformed, or evaluation fails @throws RepositoryException if an error occurs when accessing the repository. @@ -444,13 +444,13 @@ interface XRepository </p> @param Query - the SPARQL query string + the SPARQL query <atom>string</atom> @returns the boolean query result @throws QueryException - if the query string is malformed, or evaluation fails + if the query is malformed, or evaluation fails @throws RepositoryException if an error occurs when accessing the repository. diff --git a/offapi/com/sun/star/report/XImageControl.idl b/offapi/com/sun/star/report/XImageControl.idl index 58d5ae46c240..df13e1a769cc 100644 --- a/offapi/com/sun/star/report/XImageControl.idl +++ b/offapi/com/sun/star/report/XImageControl.idl @@ -65,10 +65,18 @@ interface XImageControl */ [attribute,bound] string ImageURL; - /** specifies if the image is automatically scaled to the size of the - control. - */ - [attribute,bound] boolean ScaleImage; + /** defines how to scale the image + + <p>If this property is present, it supersedes the <member>ScaleImage</member> property.</p> + + <p>The value of this property is one of the <type scope="com::sun::star::awt">ImageScaleMode</type> constants.</p> + + @since OOo 3.2 + */ + [attribute,bound] short ScaleMode + { + set raises (com::sun::star::lang::IllegalArgumentException); + }; /** Specifies that the IRI given in the data field should be preserved, otherwise the content will be inserted in the resulting report document. If the data field contains something different as string then this attribute will be ignored. diff --git a/offapi/com/sun/star/report/XReportControlFormat.idl b/offapi/com/sun/star/report/XReportControlFormat.idl index cf82c064270f..5a8e2a159780 100644 --- a/offapi/com/sun/star/report/XReportControlFormat.idl +++ b/offapi/com/sun/star/report/XReportControlFormat.idl @@ -30,21 +30,14 @@ #ifndef __com_sun_star_report_XReportControlFormat_idl__ #define __com_sun_star_report_XReportControlFormat_idl__ -#ifndef __com_sun_star_awt_FontDescriptor_idl__ #include <com/sun/star/awt/FontDescriptor.idl> -#endif -#ifndef __com_sun_star_util_Color_idl__ -#include <com/sun/star/util/Color.idl> -#endif -#ifndef __com_sun_star_beans_XPropertySet_idl__ +#include <com/sun/star/awt/FontSlant.idl> #include <com/sun/star/beans/XPropertySet.idl> -#endif -#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ #include <com/sun/star/lang/IllegalArgumentException.idl> -#endif #include <com/sun/star/lang/Locale.idl> -#include <com/sun/star/awt/FontSlant.idl> - +#include <com/sun/star/style/ParagraphAdjust.idl> +#include <com/sun/star/style/VerticalAlignment.idl> +#include <com/sun/star/util/Color.idl> //============================================================================= module com { module sun { module star { module report { @@ -70,15 +63,8 @@ interface XReportControlFormat get raises ( com::sun::star::beans::UnknownPropertyException ); }; - /** specifies the horizontal alignment of the text in the control. - - <pre> - 0: left - 1: center - 2: right - </pre> - - @since OOo 2.0.0 + /** specifies the horizontal alignment of the text. + @see ::com::sun::star::style::ParagraphAdjust */ [attribute,bound] short ParaAdjust { @@ -414,11 +400,12 @@ interface XReportControlFormat }; /** specifies the vertical alignment of the text in the control. - @see com::sun::star::text::ParagraphVertAlign + @see com::sun::star::style::VerticalAlignment */ - [attribute,bound] short ParaVertAlignment + [attribute,bound] com::sun::star::style::VerticalAlignment VerticalAlign { - set raises ( com::sun::star::lang::IllegalArgumentException ); + set raises ( com::sun::star::lang::IllegalArgumentException,com::sun::star::beans::UnknownPropertyException ); + get raises ( com::sun::star::beans::UnknownPropertyException ); }; //------------------------------------------------------------------------- diff --git a/offapi/com/sun/star/report/XReportEngine.idl b/offapi/com/sun/star/report/XReportEngine.idl index 9cdb03eec80b..99aec07d3fd9 100644 --- a/offapi/com/sun/star/report/XReportEngine.idl +++ b/offapi/com/sun/star/report/XReportEngine.idl @@ -153,6 +153,13 @@ interface XReportEngine /** specifies the status indicator which shows the progress of the report generation process. */ [attribute] com::sun::star::task::XStatusIndicator StatusIndicator; + + /** defines the maximum number of rows which should be fetched for the report. + If the limit is exceeded, the excess rows are silently dropped. + <br/> + There is no limitation, if set to zero. + */ + [attribute,bound] long MaxRows; }; //============================================================================= diff --git a/offapi/com/sun/star/report/XShape.idl b/offapi/com/sun/star/report/XShape.idl index 22aa577002cc..2a2c60b5fb21 100644 --- a/offapi/com/sun/star/report/XShape.idl +++ b/offapi/com/sun/star/report/XShape.idl @@ -82,6 +82,10 @@ interface XShape com.sun.star.drawing.EnhancedCustomShapeGeometry */ [attribute,bound] sequence<::com::sun::star::beans::PropertyValue> CustomShapeGeometry; + + /** determines if the object is opaque or transparent for text. + */ + [attribute,bound] boolean Opaque; }; service Shape : XShape; diff --git a/offapi/com/sun/star/sdb/ErrorCondition.idl b/offapi/com/sun/star/sdb/ErrorCondition.idl index 0745739337c4..1a9ade6e83b5 100644 --- a/offapi/com/sun/star/sdb/ErrorCondition.idl +++ b/offapi/com/sun/star/sdb/ErrorCondition.idl @@ -141,6 +141,37 @@ constants ErrorCondition database, which did not exist at that time. */ const long DB_NOT_CONNECTED = 304; + + // ======================================================================== + // = section AB - address book access related error conditions + // = + // = next section should start with 550 + + /** used by the component implementing address book access to indicate that a requested address book could + not be accessed. + + <p>For instance, this error code is used when you try to access the address book + in a Thunderbird profile named <q>MyProfile</q>, but there does not exist a profile + with this name.</p> + */ + const long AB_ADDRESSBOOK_NOT_FOUND = 500; + + // ======================================================================== + // = section DATA - data retrieval related error conditions + // = + // = next section should start with 600 + + /** used to indicate that a <code>SELECT</code> operation on a table needs a filter. + + <p>Some database drivers are not able to <code>SELECT</code> from a table if the + statement does not contain a <code>WHERE</code> clause. In this case, a statement + like <code>SELECT * FROM "table"</cdeo> with fail with the error code + <code>DATA_CANNOT_SELECT_UNFILTERED</code>.</p> + + <p>It is also legitimate for the driver to report this error condition as warning, and provide + an empty result set, instead of ungracefull failing.</p> + */ + const long DATA_CANNOT_SELECT_UNFILTERED = 550; }; //============================================================================= diff --git a/offapi/com/sun/star/sdb/RowSet.idl b/offapi/com/sun/star/sdb/RowSet.idl index 01d3f0662919..fd860380fc28 100644 --- a/offapi/com/sun/star/sdb/RowSet.idl +++ b/offapi/com/sun/star/sdb/RowSet.idl @@ -216,7 +216,8 @@ published service RowSet the <type scope="com::sun::star::sdbc">XParameters</type> interface.<br/> However, you can also choose to let an interaction handler supply such data. For this, you may for instance instantiate an <type>InteractionHandler</type>, which asks the user for the - data, or you may write your own one, which supplies the data from somewhere else.</p> + data, or you may write your own one, which supplies the data from somewhere else. + The default implementation will only ask for parameters which aren't set before through the <type scope="com::sun::star::sdbc">XParameters</type> interface.</p> @see com::sun::star::sdb::InteractionHandler */ diff --git a/offapi/com/sun/star/sdb/XRowSetChangeBroadcaster.idl b/offapi/com/sun/star/sdb/XRowSetChangeBroadcaster.idl new file mode 100644 index 000000000000..2a853eae89ec --- /dev/null +++ b/offapi/com/sun/star/sdb/XRowSetChangeBroadcaster.idl @@ -0,0 +1,66 @@ +/************************************************************************* +* 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: code,v $ +* +* $Revision: 1.3 $ +* +* This file is part of OpenOffice.org. +* +* OpenOffice.org is free software: you can redistribute it and/or modify +* it under the terms of the GNU Lesser General Public License version 3 +* only, as published by the Free Software Foundation. +* +* OpenOffice.org is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU Lesser General Public License version 3 for more details +* (a copy is included in the LICENSE file that accompanied this code). +* +* You should have received a copy of the GNU Lesser General Public License +* version 3 along with OpenOffice.org. If not, see +* <http://www.openoffice.org/license.html> +* for a copy of the LGPLv3 License. +************************************************************************/ + +#ifndef __com_sun_star_sdb_XRowSetChangeBroadcaster_idl__ +#define __com_sun_star_sdb_XRowSetChangeBroadcaster_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +//============================================================================= + +module com { module sun { module star { module sdb { + +interface XRowSetChangeListener; + +//============================================================================= + +/** broadcasts changes in the <code>RowSet</code> supplied by a component + + @see XRowSetSupplier + @see XRowSetChangeListener + @since OOo 3.2 + */ +interface XRowSetChangeBroadcaster +{ + /** adds a listener to be notified when the <code>RowSet</code> supplied by the component changes. + */ + void addRowSetChangeListener( [in] XRowSetChangeListener i_Listener ); + + /** removes a previously added listener. + */ + void removeRowSetChangeListener( [in] XRowSetChangeListener i_Listener ); +}; + +//============================================================================= + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/offapi/com/sun/star/sdb/XRowSetChangeListener.idl b/offapi/com/sun/star/sdb/XRowSetChangeListener.idl new file mode 100644 index 000000000000..8f68ec70d1fe --- /dev/null +++ b/offapi/com/sun/star/sdb/XRowSetChangeListener.idl @@ -0,0 +1,62 @@ +/************************************************************************* +* 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: code,v $ +* +* $Revision: 1.3 $ +* +* This file is part of OpenOffice.org. +* +* OpenOffice.org is free software: you can redistribute it and/or modify +* it under the terms of the GNU Lesser General Public License version 3 +* only, as published by the Free Software Foundation. +* +* OpenOffice.org is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU Lesser General Public License version 3 for more details +* (a copy is included in the LICENSE file that accompanied this code). +* +* You should have received a copy of the GNU Lesser General Public License +* version 3 along with OpenOffice.org. If not, see +* <http://www.openoffice.org/license.html> +* for a copy of the LGPLv3 License. +************************************************************************/ + +#ifndef __com_sun_star_sdb_XRowSetChangeListener_idl__ +#define __com_sun_star_sdb_XRowSetChangeListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> + +//============================================================================= + +module com { module sun { module star { module sdb { + +//============================================================================= + +/** is implemented by components which want to be notified when the <code>RowSet</code> supplied + by a <type>XRowSetSupplier</type> changes. + + @see XRowSetChangeBroadcaster + @see XRowSetSupplier + @since OOo 3.2 + */ + interface XRowSetChangeListener : ::com::sun::star::lang::XEventListener +{ + /** notifies the listener that the <code>RowSet</code> associated with a <type>XRowSetSupplier</type> + has changed. + */ + [oneway] void onRowSetChanged( [in] ::com::sun::star::lang::EventObject i_Event ); +}; + +//============================================================================= + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/offapi/com/sun/star/sdb/XRowSetSupplier.idl b/offapi/com/sun/star/sdb/XRowSetSupplier.idl index 071750c915ab..0ab2b78c97a5 100644 --- a/offapi/com/sun/star/sdb/XRowSetSupplier.idl +++ b/offapi/com/sun/star/sdb/XRowSetSupplier.idl @@ -43,6 +43,8 @@ //============================================================================= /** uses a row set as datasource. + + @see XRowSetChangeBroadcaster */ published interface XRowSetSupplier: com::sun::star::uno::XInterface { diff --git a/offapi/com/sun/star/sdb/application/DefaultViewController.idl b/offapi/com/sun/star/sdb/application/DefaultViewController.idl index 47040d133736..2c9836b70b0c 100644 --- a/offapi/com/sun/star/sdb/application/DefaultViewController.idl +++ b/offapi/com/sun/star/sdb/application/DefaultViewController.idl @@ -44,7 +44,7 @@ module com { module sun { module star { module sdb { module application { //============================================================================= -/** is the default <type>Controller</type> implementation for OpenOffice.org's database application. +/** is the default controller implementation for OpenOffice.org's database application. */ service DefaultViewController { diff --git a/offapi/com/sun/star/sdb/application/XCopyTableWizard.idl b/offapi/com/sun/star/sdb/application/XCopyTableWizard.idl index 01f6fc783201..8a9bbf52b052 100644 --- a/offapi/com/sun/star/sdb/application/XCopyTableWizard.idl +++ b/offapi/com/sun/star/sdb/application/XCopyTableWizard.idl @@ -130,6 +130,14 @@ interface XCopyTableWizard : ::com::sun::star::ui::dialogs::XExecutableDialog set raises ( ::com::sun::star::lang::IllegalArgumentException ); }; + /** specifies that the first row should be used to identify column names. + + <p>This attribute is ignored when the source defines the column names which isn't the case when only a part of a table should be copied + e.g. in the RTF format or in the HTML format. + </p> + */ + [attribute] boolean UseHeaderLineAsColumnNames; + /** adds a listener which is to be notified of progress in the copy operation */ void addCopyTableListener( [in] XCopyTableListener Listener ); diff --git a/offapi/com/sun/star/sdb/makefile.mk b/offapi/com/sun/star/sdb/makefile.mk index d3358cf63fc5..b535584fc4b8 100644 --- a/offapi/com/sun/star/sdb/makefile.mk +++ b/offapi/com/sun/star/sdb/makefile.mk @@ -126,6 +126,8 @@ IDLFILES=\ XResultSetAccess.idl \ XRowSetApproveBroadcaster.idl \ XRowSetApproveListener.idl \ + XRowSetChangeBroadcaster.idl \ + XRowSetChangeListener.idl \ XRowSetSupplier.idl \ XSingleSelectQueryAnalyzer.idl \ XSingleSelectQueryComposer.idl \ diff --git a/offapi/com/sun/star/sheet/DDELinkInfo.idl b/offapi/com/sun/star/sheet/DDELinkInfo.idl index 4edba2eff4f2..9fdd218f99d2 100644 --- a/offapi/com/sun/star/sheet/DDELinkInfo.idl +++ b/offapi/com/sun/star/sheet/DDELinkInfo.idl @@ -41,42 +41,37 @@ module com { module sun { module star { module sheet { //============================================================================= /** describes all items of a DDE connection used in formulas. - A DDE connection consists of the DDE service name, the DDE topic and a - list of DDE items which may contain results cached from the last update. - - The formula that would need this information for example would contain - =[1]!'R1C1' or =[2]!'Sheet1.A1' where [1] is an external link with DDE - service name "excel" and topic "X:\PATH\[FILE.XLSX]Sheet1", and [2] - contains service "soffice" and topic "file:///X:/PATH/FILE.ODS". The - service name is stored in <member>DDELinkInfo::Service</member>, the topic - is stored in <member>DDELinkInfo::Topic</member>. Note that if the DDE - item contains single quotes they are escaped by doubling them, as usual. - For example =[2]!'''Sheet name''.A1' in a "soffice" service. + <p>A DDE connection consists of the DDE service name, the DDE topic and a + list of DDE items which may contain results cached from the last update.</p> + + <p>The formula that would need this information for example would contain + <code>=[1]!'R1C1'</code> or <code>=[2]!'Sheet1.A1'</code> where + <em>[1]</em> is an external link with DDE service name "excel" and the + topic "X:\PATH\[FILE.XLSX]Sheet1", and <em>[2]</em> contains service + "soffice" and topic "file:///X:/PATH/FILE.ODS". The service name is stored + in <member>DDELinkInfo::Service</member>, the topic is stored in + <member>DDELinkInfo::Topic</member>. Note that if the DDE item contains + single quotes they are escaped by doubling them, as usual, for example + <code>=[2]!'''Sheet name''.A1'</code> in a "soffice" service.</p> @since OOo3.1 */ struct DDELinkInfo { //------------------------------------------------------------------------- - /** The DDE service name. */ - string Service; //------------------------------------------------------------------------- - /** The DDE topic. */ - string Topic; //------------------------------------------------------------------------- - /** A list of DDE items. Each item may contain its results from the last update. */ - sequence< DDEItemInfo > Items; }; diff --git a/offapi/com/sun/star/sheet/DataPilotDescriptor.idl b/offapi/com/sun/star/sheet/DataPilotDescriptor.idl index a677303a7c54..f44655bd96aa 100644 --- a/offapi/com/sun/star/sheet/DataPilotDescriptor.idl +++ b/offapi/com/sun/star/sheet/DataPilotDescriptor.idl @@ -35,6 +35,10 @@ #include <com/sun/star/sheet/XDataPilotDescriptor.idl> #endif +#ifndef __com_sun_star_sheet_XDataPilotDataLayoutFieldSupplier_idl__ +#include <com/sun/star/sheet/XDataPilotDataLayoutFieldSupplier.idl> +#endif + #ifndef __com_sun_star_beans_XPropertySet_idl__ #include <com/sun/star/beans/XPropertySet.idl> #endif @@ -55,7 +59,7 @@ published service DataPilotDescriptor /** provides access to the layout settings of the data pilot table. */ - interface com::sun::star::sheet::XDataPilotDescriptor; + interface XDataPilotDescriptor; //------------------------------------------------------------------------- @@ -63,6 +67,13 @@ published service DataPilotDescriptor */ [optional] interface com::sun::star::beans::XPropertySet; + //------------------------------------------------------------------------- + + /** Provides access to the <type>DataPilotField</type> used to layout + multiple data fields. + */ + [optional] interface XDataPilotDataLayoutFieldSupplier; + //========================================================================= /** specifies the orientation of the field. diff --git a/offapi/com/sun/star/sheet/DataPilotField.idl b/offapi/com/sun/star/sheet/DataPilotField.idl index a4bf3c9a082d..83ae7892e0c2 100644 --- a/offapi/com/sun/star/sheet/DataPilotField.idl +++ b/offapi/com/sun/star/sheet/DataPilotField.idl @@ -83,9 +83,9 @@ module com { module sun { module star { module sheet { /** represents a single field in a data pilot table. - <p>If the data pilot table is based on a spreadsheet cell range, a - field is representred by a column of the range and is named using - the topmost cell of the column.</p> + <p>If the data pilot table is based on a spreadsheet cell range, a field + is representred by a column of the range and is named using the topmost + cell of the column.</p> */ published service DataPilotField { @@ -104,17 +104,21 @@ published service DataPilotField //------------------------------------------------------------------------- - [optional] interface com::sun::star::sheet::XDataPilotField; + [optional] interface XDataPilotField; //------------------------------------------------------------------------- - [optional] interface com::sun::star::sheet::XDataPilotFieldGrouping; + [optional] interface XDataPilotFieldGrouping; //========================================================================= /** specifies the orientation of the field. + + <p>If the orientation of a field has been changed using this property, + the field will be moved to the last position in the collection of all + fields with the specified orientation.</p> */ - [property] com::sun::star::sheet::DataPilotFieldOrientation Orientation; + [property] DataPilotFieldOrientation Orientation; //------------------------------------------------------------------------- @@ -125,21 +129,39 @@ published service DataPilotField For data fields, this is the function shown in the data pilot table.</p> */ - [property] com::sun::star::sheet::GeneralFunction Function; + [property] GeneralFunction Function; + + //------------------------------------------------------------------------- + + /** specifies the functions used to calculate subtotals for this field. + + <p>This property is supported by column and row fields only.</p> + <p>An empty sequence means no subtotals. The same effect can be + achieved by setting the property <member>Function</member> to the + value <const>GeneralFunction::NONE</const>. If the length of the + sequence is greater then 1, then the sequence MUST NOT contain one of + the values <const>GeneralFunction::NONE</const> or + <const>GeneralFunction::AUTO</const>.</p> + + <p>The order of the functions in this sequence is reflected in the + DataPilot table. Multiple entries of the same function are ignored + when setting the property.</p> + */ + [property, optional] sequence<GeneralFunction> Subtotals; //------------------------------------------------------------------------- /** specifies the selected page which is used to filter the data pilot. */ - [property,optional] string SelectedPage; + [property, optional] string SelectedPage; //------------------------------------------------------------------------- /** specifies whether to use the selected page to filter the data pilot or show all. */ - [property,optional] boolean UseSelectedPage; + [property, optional] boolean UseSelectedPage; //------------------------------------------------------------------------- @@ -147,73 +169,78 @@ published service DataPilotField @see com::sun::star::sheet::DataPilotSourceHierarchies */ - [property,optional] string UsedHierarchy; + [property, optional] string UsedHierarchy; //------------------------------------------------------------------------- /** specifies whether this field has sorting information. */ - [property,optional] boolean HasSortInfo; + [property, optional] boolean HasSortInfo; //------------------------------------------------------------------------- /** controls how the field's items are sorted. */ - [property,optional] com::sun::star::sheet::DataPilotFieldSortInfo SortInfo; + [property, optional] DataPilotFieldSortInfo SortInfo; //------------------------------------------------------------------------- /** specifies whether this field has layout information. */ - [property,optional] boolean HasLayoutInfo; + [property, optional] boolean HasLayoutInfo; //------------------------------------------------------------------------- /** controls how the field's items are laid out in the result table. */ - [property,optional] com::sun::star::sheet::DataPilotFieldLayoutInfo LayoutInfo; + [property, optional] DataPilotFieldLayoutInfo LayoutInfo; //------------------------------------------------------------------------- /** specifies whether this field has auto show information. */ - [property,optional] boolean HasAutoShowInfo; + [property, optional] boolean HasAutoShowInfo; //------------------------------------------------------------------------- /** enables the automatic inclusion of only a number of items with the highest or lowest result values. */ - [property,optional] com::sun::star::sheet::DataPilotFieldAutoShowInfo AutoShowInfo; + [property, optional] DataPilotFieldAutoShowInfo AutoShowInfo; //------------------------------------------------------------------------- /** specifies whether this field has a reference. */ - [property,optional] boolean HasReference; + [property, optional] boolean HasReference; //------------------------------------------------------------------------- /** controls how the results are shown in relation to a selected reference result. */ - [property,optional] com::sun::star::sheet::DataPilotFieldReference Reference; + [property, optional] DataPilotFieldReference Reference; //------------------------------------------------------------------------- /** specifies whether this field is a group field. */ - [property,optional] boolean IsGroupField; + [property, optional] boolean IsGroupField; //------------------------------------------------------------------------- - /** contains the grouping information of the Field + /** contains the grouping information of the DataPilot field. + + <p>By changing the value of this property it is possible to modify the + grouping settings of this field.</p> */ - [property,optional] com::sun::star::sheet::DataPilotFieldGroupInfo GroupInfo; + [property, optional] DataPilotFieldGroupInfo GroupInfo; + + //------------------------------------------------------------------------- /** specifies whether to show this field also if it is empty or not. */ - [property,optional] boolean ShowEmpty; + [property, optional] boolean ShowEmpty; }; //============================================================================= diff --git a/offapi/com/sun/star/sheet/DataPilotFieldGroup.idl b/offapi/com/sun/star/sheet/DataPilotFieldGroup.idl index f66ff0ce0ba5..f520e0d5644e 100644 --- a/offapi/com/sun/star/sheet/DataPilotFieldGroup.idl +++ b/offapi/com/sun/star/sheet/DataPilotFieldGroup.idl @@ -34,8 +34,8 @@ #ifndef __com_sun_star_container_XNamed_idl__ #include <com/sun/star/container/XNamed.idl> #endif -#ifndef __com_sun_star_container_XNameAccess_idl__ -#include <com/sun/star/container/XNameAccess.idl> +#ifndef __com_sun_star_container_XNameContainer_idl__ +#include <com/sun/star/container/XNameContainer.idl> #endif #ifndef __com_sun_star_container_XEnumerationAccess_idl__ #include <com/sun/star/container/XEnumerationAccess.idl> @@ -52,19 +52,28 @@ module com { module sun { module star { module sheet { /** represents a collection of members in a data pilot field group. - @see com::sun::star::sheet::DataPilotFieldGroupMember + <p>The members (also called items) of this collection are instances of + <type>DataPilotFieldGroupItem</type>.</p> + + @see DataPilotField + @see DataPilotFieldGroups + @see DataPilotFieldGroupItem */ published service DataPilotFieldGroup { //------------------------------------------------------------------------- /** provides access to the name of the data pilot field group. + + <p>It is possible to change the name of this field group as long as + the new name is not used in the collection of groups in the field.</p> */ interface com::sun::star::container::XNamed; //------------------------------------------------------------------------- - /** provides access to the data pilot field group members in the collection via index. + /** provides access to the data pilot field group members in the + collection via index. */ interface com::sun::star::container::XIndexAccess; @@ -72,16 +81,51 @@ published service DataPilotFieldGroup /** creates an enumeration of all data pilot field group members. - @see com::sun::star::sheet::DataPilotItemsEnumeration + @see DataPilotFieldGroupEnumeration */ interface com::sun::star::container::XEnumerationAccess; //------------------------------------------------------------------------- - /** provides access to the data pilot field group members in the collection via name. + /** provides access to the data pilot field group members in the + collection via name. */ interface com::sun::star::container::XNameAccess; + //------------------------------------------------------------------------- + + /** provides read/write access to the data pilot field group members in + the collection via name. + + <p>The <type scope="com::sun::star::container">XNameContainer</type> + and <type scope="com::sun::star::container">XNameReplace</type> + interfaces can be used to manage the members that this group contains. + It is possible to insert, remove, and replace members.</p> + + <p>The method <member scope="com::sun::star::container"> + XNameReplace::replaceByName</member> can be used to rename the + specified member. To do so, the new name has to be passed as second + argument. An implementation should support the following data types: + + <ul> + <li>a non-empty <atom>string</atom> specifying the new name of the + group member.</li> + <li>an object supporting the <type scope="com::sun::star::container"> + XNamed</type> interface, for example an instance of + <type>DataPilotFieldGroupItem</type> received from another group.</li> + </ul></p> + + <p>The method <member scope="com::sun::star::container"> + XNameContainer::insertByName</member> can be used to insert a new + member into this field group. An implementation should ignore the + second argument and insert the specified member name.</p> + + <p>The method <member scope="com::sun::star::container"> + XNameContainer::removeByName</member> can be used to remove an + existing member name.</p> + */ + [optional] interface com::sun::star::container::XNameContainer; + }; //============================================================================= diff --git a/offapi/com/sun/star/sheet/DataPilotFieldGroupBy.idl b/offapi/com/sun/star/sheet/DataPilotFieldGroupBy.idl index 18136dbb1e0f..77b2d12ee13e 100644 --- a/offapi/com/sun/star/sheet/DataPilotFieldGroupBy.idl +++ b/offapi/com/sun/star/sheet/DataPilotFieldGroupBy.idl @@ -37,17 +37,100 @@ module com { module sun { module star { module sheet { //============================================================================= -/** These constants select different types of DataPilotFieldGroups. +/** These constants select different types for grouping members of a DataPilot + field by date or time. + + @see DataPilotFieldGroupInfo */ published constants DataPilotFieldGroupBy { - const long SECONDS = 1; - const long MINUTES = 2; - const long HOURS = 4; - const long DAYS = 8; - const long MONTHS = 16; + // ----------------------------------------------------------------------- + /** Groups all members of a DataPilot field containing a date/time value + by their current value for seconds. + + <p>Example: The group <em>:02</em> will contain all members that + contain a time with a seconds value of 2, regardless of the date, + hours and minutes of the member, e.g. <em>2002-Jan-03 00:00:02</em> or + <em>1999-May-02 12:45:02</em>.</p> + */ + const long SECONDS = 1; + + // ----------------------------------------------------------------------- + /** Groups all members of a DataPilot field containing a date/time value + by their current value for minutes. + + <p>Example: The group <em>:02</em> will contain all members that + contain a time with a minutes value of 2, regardless of the date, + hours and seconds of the member, e.g. <em>2002-Jan-03 00:02:00</em> or + <em>1999-May-02 12:02:45</em>.</p> + */ + const long MINUTES = 2; + + // ----------------------------------------------------------------------- + /** Groups all members of a DataPilot field containing a date/time value + by their current value for hours. + + <p>Example: The group <em>02</em> will contain all members that + contain a time with a hour value of 2, regardless of the date, minutes + and seconds of the member, e.g. <em>2002-Jan-03 02:00:00</em> or + <em>1999-May-02 02:12:45</em>.</p> + */ + const long HOURS = 4; + + // ----------------------------------------------------------------------- + /** Groups all members of a DataPilot field containing a date/time value + by their calendar day, or by ranges of days. + + <p>Examples: + <ul> + <li>Calendar day grouping: The group <em>Jan 03</em> will contain all + members that contain the january 3rd, regardless of the year or time + of the member, e.g. <em>2002-Jan-03 00:00:00</em> or + <em>1999-Jan-03 02:12:45</em>.</li> + + <li>Day range grouping: The group <em>2002-Jan-03 - 2002-Jan-09</em> + will contain all members with a date/time in the range from + 2002-Jan-03 00:00:00 through 2002-Jan-09 23:59:59.</li> + </ul></p> + + <p>See descriptions for <member>XDataPilotFieldGrouping::createDateGroup + </member> for more details about day grouping.</p> + */ + const long DAYS = 8; + + // ----------------------------------------------------------------------- + /** Groups all members of a DataPilot field containing a date/time value + by their month. + + <p>Example: The group <em>Jan</em> will contain all members with a + date in the month january, regardless of the year, day, or time of the + member, e.g. <em>2002-Jan-03 00:00:00</em> or + <em>1999-Jan-02 02:12:45</em>.</p> + */ + const long MONTHS = 16; + + // ----------------------------------------------------------------------- + /** Groups all members of a DataPilot field containing a date/time value + by their quarter. + + <p>Example: The group <em>Q1</em> will contain all members with a + date in the first quarter of a year (i.e. the months january, + february, and march), regardless of the year, day, or time of the + member, e.g. <em>2002-Jan-03 00:00:00</em> or + <em>1999-Mar-02 02:12:45</em>.</p> + */ const long QUARTERS = 32; - const long YEARS = 64; + + // ----------------------------------------------------------------------- + /** Groups all members of a DataPilot field containing a date/time value + by their year. + + <p>Example: The group <em>1999</em> will contain all members with a + date in the year 1999, regardless of the month, day, or time of the + member, e.g. <em>1999-Jan-03 00:00:00</em> or + <em>1999-May-02 02:12:45</em>.</p> + */ + const long YEARS = 64; }; //============================================================================= diff --git a/offapi/com/sun/star/sheet/DataPilotFieldGroupEnumeration.idl b/offapi/com/sun/star/sheet/DataPilotFieldGroupEnumeration.idl new file mode 100644 index 000000000000..01d0d35e44c3 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotFieldGroupEnumeration.idl @@ -0,0 +1,67 @@ +/************************************************************************* + * + * 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: DataPilotItemsEnumeration.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 + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_sheet_DataPilotFieldGroupEnumeration_idl__ +#define __com_sun_star_sheet_DataPilotFieldGroupEnumeration_idl__ + +#ifndef __com_sun_star_container_XEnumeration_idl__ +#include <com/sun/star/container/XEnumeration.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module sheet { + +//============================================================================= + +/** represents an enumeration of members in a DataPilot field group. + + @see DataPilotFieldGroupItem + @see DataPilotFieldGroup + */ +service DataPilotFieldGroupEnumeration +{ + //------------------------------------------------------------------------- + + /** provides methods to access the group members in the enumeration. + + <p>The elements of the enumeration are instances of + <type>DataPilotFieldGroupItem</type>.</p> + */ + interface com::sun::star::container::XEnumeration; + +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/sheet/DataPilotFieldGroupInfo.idl b/offapi/com/sun/star/sheet/DataPilotFieldGroupInfo.idl index 1ecf58e013c9..690d9342a568 100644 --- a/offapi/com/sun/star/sheet/DataPilotFieldGroupInfo.idl +++ b/offapi/com/sun/star/sheet/DataPilotFieldGroupInfo.idl @@ -50,75 +50,113 @@ published struct DataPilotFieldGroupInfo { //------------------------------------------------------------------------- - /** specifies whether the start value for the grouping is taken automatically - */ - - boolean HasAutoStart; + /** specifies whether the start value for the grouping is taken + automatically from the minimum of the item values. + + <p><ul> + <li>If <FALSE/> is set, the value from <member>Start</member> will be + used as start value for the grouping.</li> + <li>If <TRUE/> is set, the start value for the grouping will be + calculated automatically from the minimum of all member values of the + DataPilot field.</li> + </ul></p> + */ + boolean HasAutoStart; //------------------------------------------------------------------------- - /** specifies whether the end value for the grouping is taken automatically - */ + /** specifies whether the end value for the grouping is taken + automatically from the maximum of the item values. - boolean HasAutoEnd; + <p><ul> + <li>If <FALSE/> is set, the value from <member>End</member> will be + used as end value for the grouping.</li> + <li>If <TRUE/> is set, the end value for the grouping will be + calculated automatically from the maximum of all member values of the + DataPilot field.</li> + </ul></p> + */ + boolean HasAutoEnd; //------------------------------------------------------------------------- - /** specifies whether date values are grouped - */ - - boolean HasDateValues; + /** specifies whether date values are grouped by ranges of days. + + <p><ul> + <li>If <FALSE/> is set, and <member>GroupBy</member> contains zero, + grouping is performed inplace on the item values.</li> + <li>If <FALSE/> is set, and <member>GroupBy</member> contains one or + more flags from <type>DataPilotFieldGroupBy</type>, grouping is + performed on date or time.</li> + <li>If <TRUE/> is set, <member>Step</member> contains a value greater + than or equal to 1, and <member>GroupBy</member> set to <const> + DataPilotFieldGroupBy::DAYS</const>, grouping is performed on ranges + of days (see descriptions for <member> + XDataPilotFieldGrouping::createDateGroup</member> for more details + about day grouping).</li> + </ul></p> + */ + boolean HasDateValues; //------------------------------------------------------------------------- - /** specifies the start value for the grouping if HasAutoStart is false - */ - - double Start; + /** specifies the start value for the grouping if <member>HasAutoStart + </member> is set to <FALSE/>. + */ + double Start; //------------------------------------------------------------------------- - /** specifies the end value for the grouping if HasAutoEnd is false - */ - - double End; + /** specifies the end value for the grouping if <member>HasAutoEnd + </member> is set to <FALSE/>. + */ + double End; //------------------------------------------------------------------------- - /** specifies the steps between the groups - */ + /** specifies the size of the ranges for numeric or day grouping. - double Step; + <p>Example: With <member>HasAutoStart</member> set to <FALSE/>, + <member>Start</member> set to 2, and <member>Step</member> set to 3, + the first group will contain all values greater than or equal to 2 and + less than 5. The second group will contain all values greater than or + equal to 5 and less then 8, and so on.</p> + */ + double Step; //------------------------------------------------------------------------- /** specifies the grouping of the date values. - @see com::sun::star::sheet::DataPilotFieldGroupBy - - */ - - long GroupBy; + @see DataPilotFieldGroupBy + */ + long GroupBy; //------------------------------------------------------------------------- - /** specifies the source field. - - @see com::sun::star::sheet::DataPilotField + /** contains the source DataPilot field grouping is based on. Will be + <NULL/> if this field is not grouped or contains numeric grouping. - */ - - com::sun::star::sheet::XDataPilotField SourceField; + @see DataPilotField + */ + XDataPilotField SourceField; //------------------------------------------------------------------------- - /** specifies the groups if there are some - - @see com::sun::star::sheet::DataPilotFieldGroups + /** specifies the named groups in this field if there are some. - */ + <p>The returned object is an instance of <type>DataPilotFieldGroups + </type>. The collection of groups can be modified by inserting, + removing, replacing, or renaming single groups or item names in the + groups. When writing back this struct containing such a changed + collection of groups to the <member>DataPilotField::GroupInfo</member> + property, the modified grouping settings are applied at the DataPilot + field.</p> - com::sun::star::container::XNameAccess Groups; + @see DataPilotField + @see DataPilotFieldGroups + */ + com::sun::star::container::XNameAccess Groups; }; //============================================================================= diff --git a/offapi/com/sun/star/sheet/DataPilotFieldGroups.idl b/offapi/com/sun/star/sheet/DataPilotFieldGroups.idl index 0c195e41dfd7..2c60d9a4b71b 100644 --- a/offapi/com/sun/star/sheet/DataPilotFieldGroups.idl +++ b/offapi/com/sun/star/sheet/DataPilotFieldGroups.idl @@ -31,8 +31,8 @@ #ifndef __com_sun_star_sheet_DataPilotFieldGroups_idl__ #define __com_sun_star_sheet_DataPilotFieldGroups_idl__ -#ifndef __com_sun_star_container_XNameAccess_idl__ -#include <com/sun/star/container/XNameAccess.idl> +#ifndef __com_sun_star_container_XNameContainer_idl__ +#include <com/sun/star/container/XNameContainer.idl> #endif #ifndef __com_sun_star_container_XEnumerationAccess_idl__ #include <com/sun/star/container/XEnumerationAccess.idl> @@ -49,13 +49,19 @@ module com { module sun { module star { module sheet { /** represents a collection of groups in a data pilot field. - @see com::sun::star::sheet::DataPilotFieldGroup + <p>The members of this collection are instances of <type>DataPilotFieldGroup</type> + containing the names of all items in the group.</p> + + @see DataPilotField + @see DataPilotFieldGroup + @see DataPilotFieldGroupInfo */ published service DataPilotFieldGroups { //------------------------------------------------------------------------- - /** provides access to the data pilot field groups in the collection via index. + /** provides access to the data pilot field groups in the collection via + index. */ interface com::sun::star::container::XIndexAccess; @@ -63,16 +69,57 @@ published service DataPilotFieldGroups /** creates an enumeration of all data pilot field groups. - @see com::sun::star::sheet::DataPilotItemsEnumeration + @see DataPilotFieldGroupsEnumeration */ interface com::sun::star::container::XEnumerationAccess; //------------------------------------------------------------------------- - /** provides access to the data pilot field groups in the collection via name. + /** provides access to the data pilot field groups in the collection via + name. */ interface com::sun::star::container::XNameAccess; + //------------------------------------------------------------------------- + + /** provides read/write access to the data pilot field groups in the + collection via name. + + <p>The <type scope="com::sun::star::container">XNameContainer</type> + and <type scope="com::sun::star::container">XNameReplace</type> + interfaces can be used to manage the item groups. It is possible to + insert, remove, and replace item groups.</p> + + <p>The method <member scope="com::sun::star::container"> + XNameReplace::replaceByName</member> can be used to replace the item + names in an existing group with a new collection of item names. An + implementation should support the following data types: + + <ul> + <li>an empty <atom>any</atom> to remove all items and leave the + group empty. The group can be filled later with new item names.</li> + <li>a <atom dim="[]">string</atom> containing all item names that will + be part of the group.</li> + <li>an object supporting <type scope="com::sun::star::container"> + XIndexAccess</type> containing elements that provide an item name per + element via the interface <type scope="com::sun::star::container"> + XNamed</type>, for example an instance of <type>DataPilotFieldGroup + </type>.</li> + </ul></p> + + <p>The method <member scope="com::sun::star::container"> + XNameContainer::insertByName</member> can be used to insert a new + field group with the passed collection of item names. An + implementation should support the same data types as described above + for the method <member scope="com::sun::star::container"> + XNameReplace::replaceByName</member>.</p> + + <p>The method <member scope="com::sun::star::container"> + XNameContainer::removeByName</member> can be used to remove an + existing field group.</p> + */ + [optional] interface com::sun::star::container::XNameContainer; + }; //============================================================================= diff --git a/offapi/com/sun/star/sheet/DataPilotFieldGroupsEnumeration.idl b/offapi/com/sun/star/sheet/DataPilotFieldGroupsEnumeration.idl new file mode 100644 index 000000000000..4b0f29b70108 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotFieldGroupsEnumeration.idl @@ -0,0 +1,67 @@ +/************************************************************************* + * + * 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: DataPilotItemsEnumeration.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 + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_sheet_DataPilotFieldGroupsEnumeration_idl__ +#define __com_sun_star_sheet_DataPilotFieldGroupsEnumeration_idl__ + +#ifndef __com_sun_star_container_XEnumeration_idl__ +#include <com/sun/star/container/XEnumeration.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module sheet { + +//============================================================================= + +/** represents an enumeration of member groups in a DataPilot field. + + @see DataPilotFieldGroup + @see DataPilotFieldGroups + */ +service DataPilotFieldGroupsEnumeration +{ + //------------------------------------------------------------------------- + + /** provides methods to access the field groups in the enumeration. + + <p>The elements of the enumeration are instances of + <type>DataPilotFieldGroup</type>.</p> + */ + interface com::sun::star::container::XEnumeration; + +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/sheet/DataPilotItem.idl b/offapi/com/sun/star/sheet/DataPilotItem.idl index b93746617514..89ca7e21c779 100644 --- a/offapi/com/sun/star/sheet/DataPilotItem.idl +++ b/offapi/com/sun/star/sheet/DataPilotItem.idl @@ -72,9 +72,9 @@ service DataPilotItem //========================================================================= - /** specifies whether the item is hidden. - */ - [property] boolean IsHidden; + /** specifies whether the item is hidden. + */ + [property] boolean IsHidden; //========================================================================= @@ -82,7 +82,7 @@ service DataPilotItem @since OOo 2.4.0 */ - [optional, property] boolean Position; + [optional, property] long Position; }; //============================================================================= diff --git a/offapi/com/sun/star/sheet/DataPilotItems.idl b/offapi/com/sun/star/sheet/DataPilotItems.idl index 0b773f981196..3cf5ad244717 100644 --- a/offapi/com/sun/star/sheet/DataPilotItems.idl +++ b/offapi/com/sun/star/sheet/DataPilotItems.idl @@ -47,7 +47,9 @@ module com { module sun { module star { module sheet { //============================================================================= -/** represents a collection of Items in a data pilot field. +/** represents a collection of items in a data pilot field. + + @see DataPilotItem */ service DataPilotItems { diff --git a/offapi/com/sun/star/sheet/DatabaseRange.idl b/offapi/com/sun/star/sheet/DatabaseRange.idl index b613b4eb74cd..eb2fe13d0262 100644 --- a/offapi/com/sun/star/sheet/DatabaseRange.idl +++ b/offapi/com/sun/star/sheet/DatabaseRange.idl @@ -160,7 +160,7 @@ published service DatabaseRange @see com::sun::star::sheet::FormulaToken @see com::sun::star::sheet::FormulaMapGroupSpecialOffset::DB_AREA - @since OOo 2.x + @since OOo 3.0 */ [optional, readonly, property] long TokenIndex; }; diff --git a/offapi/com/sun/star/sheet/ExternalLinkInfo.idl b/offapi/com/sun/star/sheet/ExternalLinkInfo.idl index 52758ec12474..2842b7077949 100644 --- a/offapi/com/sun/star/sheet/ExternalLinkInfo.idl +++ b/offapi/com/sun/star/sheet/ExternalLinkInfo.idl @@ -46,30 +46,29 @@ module com { module sun { module star { module sheet { struct ExternalLinkInfo { //------------------------------------------------------------------------- - /** Link type, one of <type>ExternalLinkType</type> constants. */ - long Type; //------------------------------------------------------------------------- - /** Location of this link type. - Modes used: - - 1. If <member>Type</member> is <const>ExternalLinkType::EXTERNAL</const>, - this member shall contain a string with the <b>URI</b> of a - document. The formula that would need this information for example - would contain =[1]Sheet1!A1 or ='[1]Sheet name'!A1 where [1] does - resolve to the URI contained in this Location member. Note that - the quotes cover both, the document name and the sheet name. - - 2. If <member>Type</member> is <type>ExternalLinkType::DDE</type>, - this member shall contain a <type>DDELinkType</type> describing - service name, topic, and all known items of a DDE link. + <p>Modes used: + + <ol> + <li>If <member>Type</member> is <const>ExternalLinkType::EXTERNAL + </const>, this member shall contain a <atom>string</atom> with the + <em>URI</em> of a document. The formula that would need this + information for example would contain <code>=[1]Sheet1!A1</code> or + <code>='[1]Sheet name'!A1</code> where <em>[1]</em> does resolve to + the URI contained in the member <member>Data</member>. Note that the + quotes cover both, the document name and the sheet name.</li> + + <li>If <member>Type</member> is <const>ExternalLinkType::DDE</const>, + this member shall contain a <type>DDELinkInfo</type> describing + service name, topic, and all known items of a DDE link.</li> + </ol></p> */ - any Data; }; diff --git a/offapi/com/sun/star/sheet/FilterFormulaParser.idl b/offapi/com/sun/star/sheet/FilterFormulaParser.idl new file mode 100644 index 000000000000..ed1a1d073e29 --- /dev/null +++ b/offapi/com/sun/star/sheet/FilterFormulaParser.idl @@ -0,0 +1,55 @@ +/************************************************************************* + * + * 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: FilterFormulaParser.idl,v $ + * $Revision: 1.1 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_sheet_FilterFormulaParser_idl__ +#define __com_sun_star_sheet_FilterFormulaParser_idl__ + +#include <com/sun/star/sheet/XFilterFormulaParser.idl> +#include <com/sun/star/lang/XComponent.idl> + +//============================================================================= + +module com { module sun { module star { module sheet { + +//============================================================================= + +/** A service used to implement parsing and printing formula strings in a + specific formula language. + */ +service FilterFormulaParser : XFilterFormulaParser +{ +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/sheet/FilterOperator2.idl b/offapi/com/sun/star/sheet/FilterOperator2.idl new file mode 100644 index 000000000000..94935979c8f5 --- /dev/null +++ b/offapi/com/sun/star/sheet/FilterOperator2.idl @@ -0,0 +1,164 @@ +/************************************************************************* + * + * 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: FilterOperator2.idl,v $ + * $Revision: 1.7 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_sheet_FilterOperator2_idl__ +#define __com_sun_star_sheet_FilterOperator2_idl__ + +//============================================================================= + +module com { module sun { module star { module sheet { + +//============================================================================= + +/** specifies the type of a single condition in a filter descriptor. + + <p>This constants group extends the <type>FilterOperator</type> enum by + additional filter operators.</p> + + @since OOo 3.2 + */ +published constants FilterOperator2 +{ + + //------------------------------------------------------------------------- + + /** selects empty entries. + */ + const long EMPTY = 0; + + //------------------------------------------------------------------------- + + /** selects non-empty entries. + */ + const long NOT_EMPTY = 1; + + //------------------------------------------------------------------------- + + /** value has to be equal to the specified value. + */ + const long EQUAL = 2; + + //------------------------------------------------------------------------- + + /** value must not be equal to the specified value. + */ + const long NOT_EQUAL = 3; + + //------------------------------------------------------------------------- + + /** value has to be greater than the specified value. + */ + const long GREATER = 4; + + //------------------------------------------------------------------------- + + /** value has to be greater than or equal to the specified value. + */ + const long GREATER_EQUAL = 5; + + //------------------------------------------------------------------------- + + /** value has to be less than the specified value. + */ + const long LESS = 6; + + //------------------------------------------------------------------------- + + /** value has to be less than or equal to the specified value. + */ + const long LESS_EQUAL = 7; + + //------------------------------------------------------------------------- + + /** selects a specified number of entries with the greatest values. + */ + const long TOP_VALUES = 8; + + //------------------------------------------------------------------------- + + /** selects a specified percentage of entries with the greatest values. + */ + const long TOP_PERCENT = 9; + + //------------------------------------------------------------------------- + + /** selects a specified number of entries with the lowest values. + */ + const long BOTTOM_VALUES = 10; + + //------------------------------------------------------------------------- + + /** selects a specified percentage of entries with the lowest values. + */ + const long BOTTOM_PERCENT = 11; + + //------------------------------------------------------------------------- + + /** selects contains entries. + */ + const long CONTAINS = 12; + + //------------------------------------------------------------------------- + + /** selects does-not-contain entries. + */ + const long DOES_NOT_CONTAIN = 13; + + //------------------------------------------------------------------------- + + /** selects begins-with entries. + */ + const long BEGINS_WITH = 14; + + //------------------------------------------------------------------------- + + /** selects does-not-begin-with entries. + */ + const long DOES_NOT_BEGIN_WITH = 15; + //------------------------------------------------------------------------- + + /** selects ends-with entries. + */ + const long ENDS_WITH = 16; + + //------------------------------------------------------------------------- + + /** selects does-not-end-with entries. + */ + const long DOES_NOT_END_WITH = 17; + +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl b/offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl index d205c1487536..c4b2babd7b4c 100644 --- a/offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl +++ b/offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl @@ -41,7 +41,7 @@ module com { module sun { module star { module sheet { <member>XFormulaOpCodeMapper::getAvailableMappings</member> when called for group <const>FormulaMapGroup::SPECIAL</const>. - The number of constants may grow in future versions! + <p>The number of constants may grow in future versions!</p> */ constants FormulaMapGroupSpecialOffset { @@ -56,26 +56,24 @@ constants FormulaMapGroupSpecialOffset <ul> <li>A value of type <atom>double</atom> for literal floating-point - constants.</li> + constants.</li> <li>A <atom>string</atom> for literal text.</li> - <li>A sequence of sequence of <atom>any</atom> for a literal array. - The contained values shall be of type <atom>double</atom> or - <atom>string</atom>. Floating-point values and strings may occur - together in an array.</li> + <li>A <atom dim="[][]">any</atom> for a literal array. The contained + values shall be of type <atom>double</atom> or atom>string</atom>. + Floating-point values and strings may occur together in an array.</li> <li>A struct of type <type>SingleReference</type> for a reference to a - single cell in the own document.</li> + single cell in the own document.</li> <li>A struct of type <type>ComplexReference</type> for a reference to - a range of cells in the own document.</li> + a range of cells in the own document.</li> <li>A struct of type <type>ExternalReference</type> for a reference to - a cell, a range of cells, or a defined name in an external - document.</li> + a cell, a range of cells, or a defined name in an external document.</li> </ul> */ - const long PUSH = 0; + const long PUSH = 0; // ----------------------------------------------------------------------- - const long CALL = 1; + const long CALL = 1; // ----------------------------------------------------------------------- @@ -86,7 +84,7 @@ constants FormulaMapGroupSpecialOffset <p>The <member>FormulaToken::Data</member> member is not used and should be empty.</p> */ - const long STOP = 2; + const long STOP = 2; // ----------------------------------------------------------------------- @@ -99,7 +97,7 @@ constants FormulaMapGroupSpecialOffset "com.sun.star.sheet.addin.Analysis.getEomonth" for the EOMONTH function from the Analsysis add-in.</p> */ - const long EXTERNAL = 3; + const long EXTERNAL = 3; // ----------------------------------------------------------------------- @@ -110,11 +108,11 @@ constants FormulaMapGroupSpecialOffset <p>The <member>FormulaToken::Data</member> member shall contain an integer value of type <atom>long</atom> specifying the index of the defined name. This index can be obtained from the defined name using - its <type>NamedRange::TokenIndex</type> property.</p> + its <member>NamedRange::TokenIndex</member> property.</p> @see NamedRange */ - const long NAME = 4; + const long NAME = 4; // ----------------------------------------------------------------------- @@ -124,20 +122,21 @@ constants FormulaMapGroupSpecialOffset <p>The <member>FormulaToken::Data</member> member is not used and should be empty.</p> */ - const long NO_NAME = 5; + const long NO_NAME = 5; // ----------------------------------------------------------------------- /** Formula tokens containing the op-code obtained from this offset describe an empty function parameter. - <p>Example: In the formula =SUM(1;;2) the second parameter is empty - and represented by a formula token containing the "empty" op-code.</p> + <p>Example: In the formula <code>=SUM(1;;2)</code> the second + parameter is empty and represented by a formula token containing the + "missing" op-code.</p> <p>The <member>FormulaToken::Data</member> member is not used and should be empty.</p> */ - const long MISSING = 6; + const long MISSING = 6; // ----------------------------------------------------------------------- @@ -147,17 +146,17 @@ constants FormulaMapGroupSpecialOffset <p>The <member>FormulaToken::Data</member> member shall contain a <atom>string</string> with the bad data. This string will be displayed - in the formula.</p> + literally in the formula.</p> */ - const long BAD = 7; + const long BAD = 7; // ----------------------------------------------------------------------- /** Formula tokens containing the op-code obtained from this offset - describe white-space characters within the string representation of a + describe whitespace characters within the string representation of a formula. - <p>White-space characters in formulas are used for readability and do + <p>Whitespace characters in formulas are used for readability and do not affect the result of the formula.</p> <p>The <member>FormulaToken::Data</member> member shall contain a @@ -168,11 +167,11 @@ constants FormulaMapGroupSpecialOffset characters than simple space characters (e.g. line feeds, horizontal tabulators, non-breakable spaces).</p> */ - const long SPACES = 8; + const long SPACES = 8; // ----------------------------------------------------------------------- - const long MAT_REF = 9; + const long MAT_REF = 9; // ----------------------------------------------------------------------- @@ -182,7 +181,7 @@ constants FormulaMapGroupSpecialOffset <p>The <member>FormulaToken::Data</member> member shall contain an integer value of type <atom>long</atom> specifying the index of the database range. This index can be obtained from the database range - using its <type>DatabaseRange::TokenIndex</type> property.</p> + using its <member>DatabaseRange::TokenIndex</member> property.</p> @see DatabaseRange */ diff --git a/offapi/com/sun/star/sheet/FormulaParser.idl b/offapi/com/sun/star/sheet/FormulaParser.idl index 7bc919286359..2f8be7e8ee9b 100644 --- a/offapi/com/sun/star/sheet/FormulaParser.idl +++ b/offapi/com/sun/star/sheet/FormulaParser.idl @@ -37,9 +37,6 @@ #ifndef __com_sun_star_sheet_XFormulaParser_idl__ #include <com/sun/star/sheet/XFormulaParser.idl> #endif -#ifndef __com_sun_star_table_CellAddress_idl__ -#include <com/sun/star/table/CellAddress.idl> -#endif #ifndef __com_sun_star_sheet_FormulaOpCodeMapEntry_idl__ #include <com/sun/star/sheet/FormulaOpCodeMapEntry.idl> #endif @@ -65,24 +62,20 @@ service FormulaParser // ------------------------------------------------------------------------ - [property] com::sun::star::table::CellAddress ReferencePosition; - - // ------------------------------------------------------------------------ - - /** Whether to use English parser and formatter. + /** specifies whether to use English parser and formatter. - Note: When changing this, an already existing - <member>OpCodeMap</member> needs to be recreated internally, so - for performance reasons set this _before_ setting the OpCodeMap. + <p>Note: When changing this, an already existing <member>OpCodeMap + </member> needs to be recreated internally, so for performance reasons + set this <em>before</em> setting the <member>OpCodeMap</member>. */ [property] boolean CompileEnglish; // ------------------------------------------------------------------------ - /** Specifies which address reference style convention to use when + /** specifies which address reference style convention to use when parsing a formula string. - @see com::sun::star::sheet::AddressConvention + @see AddressConvention */ [property] short FormulaConvention; @@ -96,22 +89,22 @@ service FormulaParser // ------------------------------------------------------------------------ - /** The complete mapping of Names to OpCodes. + /** contains the complete mapping of names to op-codes. - Names and symbols not defined here lead to a parser/print error. + <p>Names and symbols not defined here lead to a parser/print error.</p> */ [property] sequence< FormulaOpCodeMapEntry > OpCodeMap; // ------------------------------------------------------------------------ - /** List of external links referenced in formulas. + /** contains a list of external links referenced in formulas. - Use of this property depends on the - <member>FormulaConvention</member> in use. It is relevant only - for <type>AddressConvention::XL_OOX</type> to map indices to - external documents. The sequence must be in the order of indices - used. Note that indices are 1-based, the sequence must start - with an empty element. + <p>Use of this property depends on the <member>FormulaConvention + </member> in use. It is relevant only for <const> + AddressConvention::XL_OOX</const> to map indices to external + documents. The sequence must be in the order of indices used. Note + that indices are 1-based, the sequence must start with an empty + element.</p> @since OOo3.1 */ diff --git a/offapi/com/sun/star/sheet/NamedRange.idl b/offapi/com/sun/star/sheet/NamedRange.idl index 65c14dc2fcdf..c6f97c0f09e2 100644 --- a/offapi/com/sun/star/sheet/NamedRange.idl +++ b/offapi/com/sun/star/sheet/NamedRange.idl @@ -84,7 +84,7 @@ published service NamedRange @see com::sun::star::sheet::FormulaToken @see com::sun::star::sheet::FormulaMapGroupSpecialOffset::NAME - @since OOo 2.x + @since OOo 3.0 */ [optional, readonly, property] long TokenIndex; diff --git a/offapi/com/sun/star/sheet/TableFilterField2.idl b/offapi/com/sun/star/sheet/TableFilterField2.idl new file mode 100644 index 000000000000..1cf50ddd547b --- /dev/null +++ b/offapi/com/sun/star/sheet/TableFilterField2.idl @@ -0,0 +1,106 @@ +/************************************************************************* + * + * 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: TableFilterField2.idl,v $ + * $Revision: 1.7 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_sheet_TableFilterField2_idl__ +#define __com_sun_star_sheet_TableFilterField2_idl__ + + +#ifndef __com_sun_star_sheet_FilterConnection_idl__ +#include <com/sun/star/sheet/FilterConnection.idl> +#endif + +#ifndef __com_sun_star_sheet_FilterOperator2_idl__ +#include <com/sun/star/sheet/FilterOperator2.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module sheet { + +//============================================================================= + +/** describes a single condition in a filter descriptor. + + <p>This struct has the <type>FilterOperator2</type> constants group as + member, whereas the <type>TableFilterField</type> struct uses the + <type>FilterOperator</type> enum.</p> + + @see com::sun::star::sheet::SheetFilterDescriptor + @since OOo 3.2 + */ +published struct TableFilterField2 +{ + //------------------------------------------------------------------------- + + /** specifies how the condition is connected to the previous condition. + */ + com::sun::star::sheet::FilterConnection Connection; + + //------------------------------------------------------------------------- + + /** specifies which field (column) is used for the condition. + */ + long Field; + + //------------------------------------------------------------------------- + + /** specifies the type of the condition as defined in + <type>FilterOperator2</type>. + */ + long Operator; + + //------------------------------------------------------------------------- + + /** selects whether the <member>TableFilterField2::NumericValue</member> + or the <member>TableFilterField2::StringValue</member> is used. + */ + boolean IsNumeric; + + //------------------------------------------------------------------------- + + /** specifies a numeric value for the condition. + */ + double NumericValue; + + //------------------------------------------------------------------------- + + /** specifies a string value for the condition. + */ + string StringValue; + +}; + +//============================================================================= + +}; }; }; }; + + +#endif + diff --git a/offapi/com/sun/star/sheet/XDataPilotDataLayoutFieldSupplier.idl b/offapi/com/sun/star/sheet/XDataPilotDataLayoutFieldSupplier.idl new file mode 100644 index 000000000000..c74126aaf64e --- /dev/null +++ b/offapi/com/sun/star/sheet/XDataPilotDataLayoutFieldSupplier.idl @@ -0,0 +1,77 @@ +/************************************************************************* + * + * 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: XDataPilotDataLayoutFieldSupplier.idl,v $ + * $Revision: 1.1 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_sheet_XDataPilotDataLayoutFieldSupplier_idl__ +#define __com_sun_star_sheet_XDataPilotDataLayoutFieldSupplier_idl__ + +#ifndef __com_sun_star_sheet_XDataPilotField_idl__ +#include <com/sun/star/sheet/XDataPilotField.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module sheet { + +//============================================================================= + +/** Provides access to the <type>DataPilotField</type> used to layout + multiple data fields. + + <p>This data field can be inserted into the rows dimension or columns + dimension by changing its <member scope="DataPilotField">Orientation</member> + property. This interface can be used to access the data layout field + before multiple data fields are inserted into the DataPilot table. It + remains invisible as long as the DataPilot table contains at most one data + field.</p> + + @see com::sun::star::sheet::DataPilotDescriptor + @see com::sun::star::sheet::DataPilotTable + */ +published interface XDataPilotDataLayoutFieldSupplier +{ + //------------------------------------------------------------------------- + + /** Returns the <type>DataPilotField</type> used to layout multiple data + fields. + + <p>If the field does not exist yet, it will be created. It is possible + to insert this field into the rows or columns dimension by changing + its <member scope="DataPilotField">Orientation</member> property.</p> + */ + XDataPilotField getDataLayoutField(); + +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/sheet/XDataPilotDescriptor.idl b/offapi/com/sun/star/sheet/XDataPilotDescriptor.idl index 1a29dfcdf4b9..b1f4f32aa978 100644 --- a/offapi/com/sun/star/sheet/XDataPilotDescriptor.idl +++ b/offapi/com/sun/star/sheet/XDataPilotDescriptor.idl @@ -57,7 +57,7 @@ module com { module sun { module star { module sheet { <p>This interface extends the interface <type scope="com::sun::star::container">XNamed</type> which provides - access to the name of the data pilot table used i.e. in collections.</p> + access to the name of the data pilot table used e.g. in collections.</p> @see com::sun::star::sheet::DataPilotDescriptor @see com::sun::star::sheet::DataPilotTable diff --git a/offapi/com/sun/star/sheet/XDataPilotFieldGrouping.idl b/offapi/com/sun/star/sheet/XDataPilotFieldGrouping.idl index ffbb560a8930..03ff2a6bc182 100644 --- a/offapi/com/sun/star/sheet/XDataPilotFieldGrouping.idl +++ b/offapi/com/sun/star/sheet/XDataPilotFieldGrouping.idl @@ -48,43 +48,123 @@ module com { module sun { module star { module sheet { //============================================================================= -/** provides methods to control a data pilot field which has already - been created. +/** Provides methods to create new DataPilot fields where some or all items of + this DataPilot field are grouped in some way. - @see com::sun::star::sheet::DataPilotField + @see DataPilotField */ published interface XDataPilotFieldGrouping: com::sun::star::uno::XInterface { //------------------------------------------------------------------------- - /** Creates a new Field which contains a group containing the given Items. + /** Creates a new DataPilot field which contains a group containing the + given DataPilot field items (members). - @returns - the new created field if there is one created. + <p>It is possible to create multiple groups by calling this method + several times at the same DataPilot field. On subsequent calls, the + DataPilot field created at the first call is used to insert the new + groups.</p> - @see com::sun::star::sheet::DataPilotField + <p>The collection of groups can be accessed via the + <member>DataPilotField::GroupInfo</member> property. The returned + struct contains the sequence of groups in its member + <member>DataPilotFieldGroupInfo::Groups</member>.</p> @param aItems - A sequence containing the Item names which have to be in the new group. This - have to be Items of the current field. + a sequence containing the names of the items (members) which will + be part of the new group. Must be names of items contained in the + current field. + + @returns + the new created field if there is one created on the first call of + this method. <NULL/> is returned on subsequent calls. + + @see DataPilotField + @see DataPilotFieldGroupInfo */ - com::sun::star::sheet::XDataPilotField createNameGroup([in] sequence< string > aItems) + XDataPilotField createNameGroup([in] sequence< string > aItems) raises( com::sun::star::lang::IllegalArgumentException ); //------------------------------------------------------------------------- - /** Creates a new Field if the current field is grouped by dates. Doesn't create a new field - if the field contains no dates or it isn't grouped yet. + /** Groups the members of this field by dates, according to the passed + settings. + + <p>If this field is already grouped by dates, a new DataPilot field + will be created and returned. If this field is not grouped at all, the + date grouping is perfomed inside of this field (no new field will be + created). There must not be any other grouping (by member names or by + numeric ranges), otherwise an exception is thrown.</p> + + @param aInfo + contains the information how to group the items of the field. The + members of this struct have to fulfill the following requirements: + + <ul> + <li>If the member <member>DataPilotFieldGroupInfo::HasAutoStart + </member> is set to <FALSE/>, then the value of <member> + DataPilotFieldGroupInfo::Start</member> must be a floating-point + value representing a valid date/time value (if <member> + DataPilotFieldGroupInfo::HasAutoStart</member> is set to <TRUE/>, + the value of <member>DataPilotFieldGroupInfo::Start</member> will + be ignored).</li> + + <li>If the member <member>DataPilotFieldGroupInfo::HasAutoEnd + </member> is set to <FALSE/>, then the value of <member> + DataPilotFieldGroupInfo::End</member> must be a floating-point + value representing a valid date/time value( if <member> + DataPilotFieldGroupInfo::HasAutoEnd</member> is set to <TRUE/>, + the value of <member>DataPilotFieldGroupInfo::End</member> will be + ignored).</li> + + <li>If the members <member>DataPilotFieldGroupInfo::HasAutoStart + </member> and <member>DataPilotFieldGroupInfo::HasAutoEnd</member> + are set to <FALSE/> both, then the value of <member> + DataPilotFieldGroupInfo::Start</member> must be less than or equal + to the value of <member>DataPilotFieldGroupInfo::End</member>.</li> + + <li>The member <member>DataPilotFieldGroupInfo::HasDateValues</member> + must be set to <TRUE/>.</li> + + <li>The member <member>DataPilotFieldGroupInfo::Step</member> must + be zero, unless ranges of days have to be grouped (see the + description of the member GroupBy below), in that case the value + must be greater than or equal to 1 and less than or equal to 32767. + The fractional part of the value will be ignored.</li> + + <li>The member <member>DataPilotFieldGroupInfo::GroupBy</member> + must contain exactly one of the flags from <type>DataPilotFieldGroupBy</type>. + A combination of several flags will not be accepted. If + <const>DataPilotFieldGroupBy::DAYS</const> is specified, the + value of the member <member>DataPilotFieldGroupInfo::Step</member> + will specify the type of day grouping (see above). If that value + is zero, grouping is performed on all days of the year (e.g. the + members containing the 1st of January of any year are grouped + together). If that value is greater than zero, grouping is done on + ranges of days, and the value specifies the number of days grouped + into one range (e.g. a value of 7 groups the members of a week + into a range).</li> + + <li>The contents of the member <member> + DataPilotFieldGroupInfo::SourceField</member> will be ignored.</li> + + <li>The contents of the member <member> + DataPilotFieldGroupInfo::Groups</member> will be ignored.</li> + </ul> @returns - the new created field if there is one created. + the new created field if there is one created. <NULL/> is returned, + if date grouping is performed inside this field (i.e. this field + was not grouped by dates before). - @see com::sun::star::sheet::DataPilotField + @throws com::sun::star::lang::IllegalArgumentException + if the passed struct does not contain valid settings as described, + or if this field is already grouped by member names or numeric + ranges. - @param aInfo - contains the information how to group the field. + @see DataPilotField */ - com::sun::star::sheet::XDataPilotField createDateGroup([in] com::sun::star::sheet::DataPilotFieldGroupInfo aInfo) + XDataPilotField createDateGroup([in] DataPilotFieldGroupInfo aInfo) raises( com::sun::star::lang::IllegalArgumentException ); }; diff --git a/offapi/com/sun/star/sheet/XFilterFormulaParser.idl b/offapi/com/sun/star/sheet/XFilterFormulaParser.idl new file mode 100644 index 000000000000..300a0981d09d --- /dev/null +++ b/offapi/com/sun/star/sheet/XFilterFormulaParser.idl @@ -0,0 +1,62 @@ +/************************************************************************* + * + * 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: XFilterFormulaParser.idl,v $ + * $Revision: 1.1 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_sheet_XFilterFormulaParser_idl__ +#define __com_sun_star_sheet_XFilterFormulaParser_idl__ + +#include <com/sun/star/sheet/XFormulaParser.idl> + +//============================================================================= + +module com { module sun { module star { module sheet { + +//============================================================================= + +/** Extends the interface <type>XFormulaParser</type> by an attribute that + specifies the namespace URL of the supported formula language. + */ +interface XFilterFormulaParser : XFormulaParser +{ + //------------------------------------------------------------------------- + + /** Specifies the namespace URL of the formula language supported by this + implementation. + */ + [attribute, readonly] string SupportedNamespace; + + //------------------------------------------------------------------------- +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/sheet/XFormulaOpCodeMapper.idl b/offapi/com/sun/star/sheet/XFormulaOpCodeMapper.idl index 86d3a0758a57..2877c72b4440 100644 --- a/offapi/com/sun/star/sheet/XFormulaOpCodeMapper.idl +++ b/offapi/com/sun/star/sheet/XFormulaOpCodeMapper.idl @@ -53,10 +53,10 @@ interface XFormulaOpCodeMapper /** OpCode value used for external Add-In functions. - Needed to be able to identify which of the function names map to - an Add-In implementation where this OpCode is used in the - returned mapping and the programmatical name is available as - additional information. + <p>Needed to be able to identify which of the function names map to an + Add-In implementation where this OpCode is used in the returned + mapping and the programmatical name is available as additional + information.</p> */ [attribute, readonly] long OpCodeExternal; @@ -64,8 +64,8 @@ interface XFormulaOpCodeMapper /** OpCode value used for unknown functions. - Used to identify which of the function names queried with - <member>getMappings</member> are unknown to the implementation. + <p>Used to identify which of the function names queried with + <member>getMappings</member> are unknown to the implementation.</p> */ [attribute, readonly] long OpCodeUnknown; @@ -80,36 +80,35 @@ interface XFormulaOpCodeMapper knows. @param Language - Formula language to be used, one of - <type>FormulaLanguage</type> constants. If a constant - unknown to the implementation is passed, - <type>com::sun::star::lang::IllegalArgumentException</type> + Formula language to be used, one of <type>FormulaLanguage</type> + constants. If a constant unknown to the implementation is passed, + <type scope="com::sun::star::lang">IllegalArgumentException</type> is thrown. @returns - Sequence of <type>FormulaToken</type> matching the input + a sequence of <type>FormulaToken</type> matching the input sequence in order. - Each string element in <param>Names</param> according to the - formula language in <param>Language</param> is mapped to a - <type>FormulaToken</type> containing the internal OpCode used by - the spreadsheet application in - <member>FormulaToken.OpCode</member> and by contract maybe - additional information in <member>FormulaToken.Data</member>. - - The order of the FormulaToken sequence returned matches the - input order of the string sequence. - - An unknown Name string gets the OpCode value of - <member>OpCodeUnknown</member assigned. - - Additional information in <member>FormulaToken.Data</member> is - returned for: - - Add-In names: the programmatical name. The OpCode value used for - Add-Ins can be queried with the <member>OpCodeExternal</member> - getter method. - + <p>Each string element in parameter Names according to the formula + language in parameter Language is mapped to a <type>FormulaToken + </type> containing the internal OpCode used by the spreadsheet + application in <member>FormulaToken::OpCode</member> and by + contract maybe additional information in <member> + FormulaToken::Data</member>.</p> + + <p>The order of the FormulaToken sequence returned matches the + input order of the string sequence.</p> + + <p>An unknown Name string gets the OpCode value of <member> + OpCodeUnknown</member> assigned.</p> + + <p>Additional information in <member>FormulaToken::Data</member> + is returned for: + <ul> + <li>Add-in names: the programmatical name. The OpCode value used + for add-ins can be queried with the <member>OpCodeExternal</member> + getter method.</li> + </ul></p> */ sequence< FormulaToken > getMappings( [in] sequence< string > Names, @@ -122,26 +121,24 @@ interface XFormulaOpCodeMapper a given formula language. @param Language - Formula language to be used, one of - <type>FormulaLanguage</type> constants. If a constant - unknown to the implementation is passed, - <type>com::sun::star::lang::IllegalArgumentException</type> + Formula language to be used, one of <type>FormulaLanguage</type> + constants. If a constant unknown to the implementation is passed, + <type scope="com::sun::star::lang">IllegalArgumentException</type> is thrown. @param Groups - Group of mappings to be returned, a bit mask of - <type>FormulaMapGroup</type> constants. + Group of mappings to be returned, a bit mask of <type> + FormulaMapGroup</type> constants. @returns Sequence of <type>FormulaOpCodeMapEntry</type>. - Each element of the formula language in <param>Language</param> - is mapped to a <type>FormulaToken</type> containing the internal - OpCode used by the spreadsheet application in - <member>FormulaToken.OpCode</member> and by contract maybe - additional information in <member>FormulaToken.Data</member>. - See <member>getMappings</member>. - + <p>Each element of the formula language in parameter Language is + mapped to a <type>FormulaToken</type> containing the internal + OpCode used by the spreadsheet application in <member> + FormulaToken::OpCode</member> and by contract maybe additional + information in <member>FormulaToken::Data</member>. See <member> + getMappings</member> for more details.</p> */ sequence< FormulaOpCodeMapEntry > getAvailableMappings( [in] long Language, [in] long Groups ) diff --git a/offapi/com/sun/star/sheet/XFormulaParser.idl b/offapi/com/sun/star/sheet/XFormulaParser.idl index b4c02cea3bd1..de78f00f02dd 100644 --- a/offapi/com/sun/star/sheet/XFormulaParser.idl +++ b/offapi/com/sun/star/sheet/XFormulaParser.idl @@ -31,13 +31,9 @@ #ifndef __com_sun_star_sheet_XFormulaParser_idl__ #define __com_sun_star_sheet_XFormulaParser_idl__ -#ifndef __com_sun_star_uno_XInterface_idl__ #include <com/sun/star/uno/XInterface.idl> -#endif - -#ifndef __com_sun_star_sheet_FormulaToken_idl__ #include <com/sun/star/sheet/FormulaToken.idl> -#endif +#include <com/sun/star/table/CellAddress.idl> //============================================================================= @@ -53,13 +49,17 @@ interface XFormulaParser /** parses a formula into a sequence of tokens. */ - sequence< FormulaToken > parseFormula( [in] string aFormula ); + sequence< FormulaToken > parseFormula( + [in] string aFormula, + [in] ::com::sun::star::table::CellAddress aReferencePos ); //------------------------------------------------------------------------- /** converts a formula into a string. */ - string printFormula( [in] sequence< FormulaToken > aTokens ); + string printFormula( + [in] sequence< FormulaToken > aTokens, + [in] ::com::sun::star::table::CellAddress aReferencePos ); }; diff --git a/offapi/com/sun/star/sheet/XSheetFilterDescriptor2.idl b/offapi/com/sun/star/sheet/XSheetFilterDescriptor2.idl new file mode 100644 index 000000000000..cc26a73c1674 --- /dev/null +++ b/offapi/com/sun/star/sheet/XSheetFilterDescriptor2.idl @@ -0,0 +1,79 @@ +/************************************************************************* + * + * 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: XSheetFilterDescriptor2.idl,v $ + * $Revision: 1.9 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_sheet_XSheetFilterDescriptor2_idl__ +#define __com_sun_star_sheet_XSheetFilterDescriptor2_idl__ + +#ifndef __com_sun_star_sheet_TableFilterField2_idl__ +#include <com/sun/star/sheet/TableFilterField2.idl> +#endif + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module sheet { + +//============================================================================= + +/** provides access to a collection of filter conditions (filter fields). + + <p>This interface uses the <type>TableFilterField2</type> struct, + whereas the <type>XSheetFilterDescriptor</type> interface uses the + <type>TableFilterField</type> struct.</p> + + @see com::sun::star::sheet::SheetFilterDescriptor + @since OOo 3.2 + */ +published interface XSheetFilterDescriptor2: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** returns the collection of filter fields. + */ + sequence< com::sun::star::sheet::TableFilterField2 > getFilterFields2(); + + //------------------------------------------------------------------------- + + /** sets a new collection of filter fields. + */ + void setFilterFields2( + [in] sequence< com::sun::star::sheet::TableFilterField2 > aFilterFields ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/sheet/makefile.mk b/offapi/com/sun/star/sheet/makefile.mk index 61ab96c08477..468e96b9860b 100644 --- a/offapi/com/sun/star/sheet/makefile.mk +++ b/offapi/com/sun/star/sheet/makefile.mk @@ -84,9 +84,11 @@ IDLFILES=\ DataPilotFieldFilter.idl\ DataPilotFieldGroup.idl\ DataPilotFieldGroupBy.idl\ + DataPilotFieldGroupEnumeration.idl\ DataPilotFieldGroupInfo.idl\ DataPilotFieldGroupItem.idl\ DataPilotFieldGroups.idl\ + DataPilotFieldGroupsEnumeration.idl\ DataPilotFieldLayoutInfo.idl\ DataPilotFieldLayoutMode.idl\ DataPilotFieldOrientation.idl\ @@ -135,7 +137,9 @@ IDLFILES=\ FillDirection.idl\ FillMode.idl\ FilterConnection.idl\ + FilterFormulaParser.idl\ FilterOperator.idl\ + FilterOperator2.idl\ FormulaLanguage.idl\ FormulaMapGroup.idl\ FormulaMapGroupSpecialOffset.idl\ @@ -217,6 +221,7 @@ IDLFILES=\ TableConditionalEntryEnumeration.idl\ TableConditionalFormat.idl\ TableFilterField.idl\ + TableFilterField2.idl\ TableOperationMode.idl\ TablePageBreakData.idl\ TablePageStyle.idl\ @@ -251,6 +256,7 @@ IDLFILES=\ XDDELink.idl\ XDDELinkResults.idl\ XDDELinks.idl\ + XDataPilotDataLayoutFieldSupplier.idl\ XDataPilotDescriptor.idl\ XDataPilotField.idl\ XDataPilotFieldGrouping.idl\ @@ -271,6 +277,7 @@ IDLFILES=\ XExternalSheetCache.idl\ XExternalSheetName.idl\ XFillAcrossSheet.idl\ + XFilterFormulaParser.idl\ XFormulaOpCodeMapper.idl\ XFormulaParser.idl\ XFormulaQuery.idl\ @@ -312,6 +319,7 @@ IDLFILES=\ XSheetConditionalEntries.idl\ XSheetConditionalEntry.idl\ XSheetFilterDescriptor.idl\ + XSheetFilterDescriptor2.idl\ XSheetFilterable.idl\ XSheetFilterableEx.idl\ XSheetLinkable.idl\ diff --git a/offapi/com/sun/star/style/Style.idl b/offapi/com/sun/star/style/Style.idl index a3492e492130..0965f849576d 100644 --- a/offapi/com/sun/star/style/Style.idl +++ b/offapi/com/sun/star/style/Style.idl @@ -165,7 +165,7 @@ published service Style </ul> - @since OOo 2.0.1. + @since OOo 2.0.1 */ [optional, property] sequence< com::sun::star::beans::NamedValue > ParaStyleConditions; diff --git a/offapi/com/sun/star/task/DocumentMSPasswordRequest.idl b/offapi/com/sun/star/task/DocumentMSPasswordRequest.idl new file mode 100644 index 000000000000..6e4adec10720 --- /dev/null +++ b/offapi/com/sun/star/task/DocumentMSPasswordRequest.idl @@ -0,0 +1,67 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright IBM Corporation 2009. + * Copyright 2009 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: DocumentMSPasswordRequest.idl,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 + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_task_DocumentMSPasswordRequest_idl__ +#define __com_sun_star_task_DocumentMSPasswordRequest_idl__ + +#ifndef __com_sun_star_task_PasswordRequest_idl__ +#include <com/sun/star/task/PasswordRequest.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module task { + +//============================================================================= +/** this request specifies the mode in which the password for Microsoft Office file format encryption should be asked + + <P> + It is supported by <type>InteractionHandler</type> service, and can + be used to interact for a document password. Continuations for using with + the mentioned service are Abort and Approve. + </P> + + @since OOo 3.x.x +*/ +published exception DocumentMSPasswordRequest: PasswordRequest +{ + //------------------------------------------------------------------------- + /** the name of the document + */ + string Name; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/task/makefile.mk b/offapi/com/sun/star/task/makefile.mk index 366d531fc847..1559901f740c 100644 --- a/offapi/com/sun/star/task/makefile.mk +++ b/offapi/com/sun/star/task/makefile.mk @@ -3,6 +3,7 @@ # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # Copyright 2008 by Sun Microsystems, Inc. +# Copyright IBM Corporation 2009. # # OpenOffice.org - a multi-platform office productivity suite # @@ -45,6 +46,7 @@ IDLFILES=\ ClassifiedInteractionRequest.idl\ DocumentMacroConfirmationRequest.idl\ DocumentPasswordRequest.idl\ + DocumentMSPasswordRequest.idl\ ErrorCodeRequest.idl\ ErrorCodeIOException.idl\ FutureDocumentVersionProductUpdateRequest.idl\ diff --git a/offapi/com/sun/star/text/DocumentSettings.idl b/offapi/com/sun/star/text/DocumentSettings.idl index 43fd5eff8f40..171a5caebb9f 100644 --- a/offapi/com/sun/star/text/DocumentSettings.idl +++ b/offapi/com/sun/star/text/DocumentSettings.idl @@ -129,8 +129,6 @@ published service DocumentSettings /** specifies if the former (till OpenOffice.org 1.1) or the new line spacing formatting is applied. - @since OOo 2.0.0 - <p>This property controls how a set line spacing at a paragraph influences the formatting of the text lines and the spacing between paragraphs. @@ -144,14 +142,13 @@ published service DocumentSettings a proportional line spacing is only applied below a text line and it's always added to the paragraph spacing between two paragraphs.</p> + @since OOo 2.0.0 */ [optional, property] boolean UseFormerLineSpacing; // ------------------------------------------------------------ /** specifies if paragraph and table spacing is added at the bottom of table cells - @since OOo 2.0.0 - <p>This property controls, if the spacing of the last paragraph respectively table of a table cell is added at the bottom of this table cells @@ -162,14 +159,13 @@ published service DocumentSettings the spacing of the last paragraph respectively table of a table cell isn't added at the bottom of this table cell.</p> + @since OOo 2.0.0 */ [optional, property] boolean AddParaSpacingToTableCells; // ------------------------------------------------------------ /** specifies if the former (till OpenOffice.org 1.1) or the new object positioning is applied. - @since OOo 2.0.0 - <p>This property controls how floating screen objects (Writer fly frames and drawing objects are positioned. If <TRUE/>, the object positioning till OpenOffice.org 1.1 is @@ -181,6 +177,7 @@ published service DocumentSettings its vertical position, doesn't include the lower spacing and the line spacing of the previous paragraph.</p> + @since OOo 2.0.0 */ [optional, property] boolean UseFormerObjectPositioning; @@ -188,8 +185,6 @@ published service DocumentSettings /** specifies if the text wrap of floating screen objects are considered in a specified way in the positioning algorithm. - @since OOo 2.0.0 - <p>This property controls how floating screen objects (Writer fly frames and drawing objects) are positioned. If <TRUE/>, the object positioning algorithm will consider @@ -199,6 +194,7 @@ published service DocumentSettings If <FALSE/> (default value), the former object positioning algorithm (known from OpenOffice.org 1.1) is applied.</p> + @since OOo 2.0.0 */ [optional, property] boolean ConsiderTextWrapOnObjPos; diff --git a/offapi/com/sun/star/text/NumberingLevel.idl b/offapi/com/sun/star/text/NumberingLevel.idl index 987dfa53f565..46b014d9cd71 100644 --- a/offapi/com/sun/star/text/NumberingLevel.idl +++ b/offapi/com/sun/star/text/NumberingLevel.idl @@ -201,8 +201,6 @@ published service NumberingLevel /** position and space mode - @since OOo 3.0 - <p> Specifies the position and space mode of the numbering level. For valid values see com::sun::star::text::PositionAndSpaceMode. @@ -211,53 +209,55 @@ published service NumberingLevel If it equals LABEL_ALIGNMENT, properties Adjust, LabelFollowedBy, ListtabStopPosition, FirstLineIndent, IndentAt are used. </p> + + @since OOo 3.0 */ [optional, property] short PositionAndSpaceMode; /** character following the list label - @since OOo 3.0 - <p> Specifies the character following the list label. For valid values see com::sun::star::text::LabelFollow. Only of relevance, if PositionAndSpaceMode equals LABEL_ALIGNMENT. </p> + + @since OOo 3.0 */ [optional, property] short LabelFollowedBy; /** list tab position - @since OOo 3.0 - <p> Specifies the position of the list tab stop - only non-negative values are allowed. Only of relevance, if PositionAndSpaceMode equals LABEL_ALIGNMENT and LabelFollowedBy equal LABELFOLLOW_LISTTAB </p> + + @since OOo 3.0 */ [optional, property] long ListtabStopPosition; /** additional line indent for the first text line - @since OOo 3.0 - <p> Specifies the first line indent. Only of relevance, if PositionAndSpaceMode equals LABEL_ALIGNMENT. </p> + + @since OOo 3.0 */ [optional, property] long FirstLineIndent; /** indentation of the text lines - @since OOo 3.0 - <p> Specifies the indent of the text lines Only of relevance, if PositionAndSpaceMode equals LABEL_ALIGNMENT. </p> + + @since OOo 3.0 */ [optional, property] long IndentAt; }; diff --git a/offapi/com/sun/star/text/ReferenceFieldPart.idl b/offapi/com/sun/star/text/ReferenceFieldPart.idl index c58679fada90..2ac96da25ee2 100644 --- a/offapi/com/sun/star/text/ReferenceFieldPart.idl +++ b/offapi/com/sun/star/text/ReferenceFieldPart.idl @@ -88,8 +88,6 @@ published constants ReferenceFieldPart /** The numbering label and depending of the reference field context numbering lables of superior list levels of the reference are displayed. - @since OOo 3.0 - <p>This option is only valid, if the source of the reference is a bookmark or a set reference.</p> <p>The contents of the list label of the paragraph, at which the bookmark respectively the set reference starts - named "referenced item" in the following - is displayed. To unambiguous @@ -102,23 +100,23 @@ published constants ReferenceFieldPart be the level of the most superior level, then no list label content of superior levels greater or equal than X are added. If the referenced item isn't numbered, nothing is displayed.</p> + + @since OOo 3.0 */ const short NUMBER = 8; //------------------------------------------------------------------------- /** The numbering label of the reference is displayed. - @since OOo 3.0 - <p>This option is only valid, if the source of the reference is a bookmark or a set reference.</p> <p>The contents of the list label of the paragraph, at which the bookmark respectively the set reference starts, is displayed. If this paragraph isn't numbered, nothing is displayed.</p> + + @since OOo 3.0 */ const short NUMBER_NO_CONTEXT = 9; //------------------------------------------------------------------------- /** The numbering label and numbering lables of superior list levels of the reference are displayed. - @since OOo 3.0 - <p>This option is only valid, if the source of the reference is a bookmark or a set reference.</p> <p>The contents of the list label of the paragraph, at which the bookmark respectively the set reference starts - named "referenced item" in the following - is displayed and the contents @@ -128,6 +126,8 @@ published constants ReferenceFieldPart be the level of the most superior level, then no list label content of superior levels greater or equal than X are added. If the referenced item is numbered nothing is displayed.</p> + + @since OOo 3.0 */ const short NUMBER_FULL_CONTEXT = 10; }; diff --git a/offapi/com/sun/star/text/TextPortion.idl b/offapi/com/sun/star/text/TextPortion.idl index 10b1cc05175d..26ad5bd5ba6c 100644 --- a/offapi/com/sun/star/text/TextPortion.idl +++ b/offapi/com/sun/star/text/TextPortion.idl @@ -31,18 +31,10 @@ #define __com_sun_star_text_TextPortion_idl__ -#ifndef __com_sun_star_style_ParagraphProperties_idl__ -#include <com/sun/star/style/ParagraphProperties.idl> -#endif - #ifndef __com_sun_star_beans_XTolerantMultiPropertySet_idl__ #include <com/sun/star/beans/XTolerantMultiPropertySet.idl> #endif -#ifndef __com_sun_star_style_CharacterProperties_idl__ -#include <com/sun/star/style/CharacterProperties.idl> -#endif - #ifndef __com_sun_star_container_XContentEnumerationAccess_idl__ #include <com/sun/star/container/XContentEnumerationAccess.idl> #endif @@ -50,10 +42,20 @@ #ifndef __com_sun_star_text_TextRange_idl__ #include <com/sun/star/text/TextRange.idl> #endif + #ifndef __com_sun_star_text_XTextContent_idl__ #include <com/sun/star/text/XTextContent.idl> #endif +#ifndef __com_sun_star_text_XTextField_idl__ +#include <com/sun/star/text/XTextField.idl> +#endif + +#ifndef __com_sun_star_text_XFootnote_idl__ +#include <com/sun/star/text/XFootnote.idl> +#endif + + //============================================================================= module com { module sun { module star { module text { @@ -61,65 +63,107 @@ module com { module sun { module star { module text { //============================================================================= /** A TextPortion is a piece of text within a paragraph that does not contain changes of its attributes inside. - <p>It is created by an enumaration implemented in a paragraph service. - It is used to export the content of the paragraph to an external document format.</p> + <p> + It is created by an enumeration implemented in a paragraph service. + It may be used to export the content of the paragraph to an external + document format. + </p> + + @see com::sun::star::text::TextPortionEnumeration + @see com::sun::star::text::XTextPortionEnumeration */ published service TextPortion { - service com::sun::star::text::TextRange; + service ::com::sun::star::text::TextRange; //------------------------------------------------------------------------- /** contains text frames, graphic objects, embedded objects or - shapes that are anchored at or as character. + shapes that are anchored at or as character. @see com.sun.star.text.TextFrame @see com.sun.star.text.TextGraphicObject */ - [optional] interface ::com::sun::star::container::XContentEnumerationAccess; + [optional] + interface ::com::sun::star::container::XContentEnumerationAccess; //------------------------------------------------------------------------- /** gives access to a sequence of properties. @since OOo 2.0.0 */ - [optional] interface ::com::sun::star::beans::XTolerantMultiPropertySet; + [optional] + interface ::com::sun::star::beans::XTolerantMultiPropertySet; //------------------------------------------------------------------------- /** contains the type of the text portion. + <p> Valid content type names are:</p> - <UL> - <LI><P>Text - string content</P> - <LI><P>TextField - TextField content</P> - <LI><P>TextContent - text content - supplied via the interface XContentEnumerationAccess</P> - <LI><P>Footnote - a footnote or an endnote</P> - <LI><P>ControlCharacter - a control character</P> - <LI><P>ReferenceMark - a reference mark </P> - <LI><P>DocumentIndexMark - a document index mark</P> - <LI><P>Bookmark - a bookmark</P> - <LI><P>Redline - a redline portion which is a result of the change tracking feature.</P> - <LI><P>Ruby - a ruby attribute which is used in Asian text</P> - <LI><P>Frame - a frame.</P> - </UL> - <p>The text portions for reference marks and document index marks are generated twice for - each mark since they may include string content.</p> + <dl> + <dt>Text</dt><dd>string content</dd> + <dt>TextField</dt><dd>a text field</dd> + <dt>TextContent</dt><dd>text content - supplied via the + interface <type scope="com::sun::star::container"> + XContentEnumerationAccess</type></dd> + <dt>ControlCharacter</dt><dd>a control character</dd> + <dt>Footnote</dt><dd>a footnote or an endnote</dd> + <dt>ReferenceMark</dt><dd>a reference mark</dd> + <dt>DocumentIndexMark</dt><dd>a document index mark</dd> + <dt>Bookmark</dt><dd>a bookmark</dd> + <dt>Redline</dt><dd>a redline portion which is a result + of the change tracking feature</dd> + <dt>Ruby</dt><dd>a ruby attribute which is used in Asian text</dd> + <dt>Frame</dt><dd>a frame</dd> + <dt>SoftPageBreak</dt><dd>a soft page break</dd> + </dl> + <p>For Reference marks, document index marks, etc., 2 text portions + will be generated, one for the start position and one for the + end position.</p> */ [readonly, property] string TextPortionType; //------------------------------------------------------------------------- - /** returns the control character if the text portion contains a ControlCharacter*/ + /** contains the control character of a text portion of type + ControlCharacter. + */ [readonly, property] short ControlCharacter; //------------------------------------------------------------------------- - /** contains the bookmark if the portion is of the type */ - [optional, property] com::sun::star::text::XTextContent Bookmark; + /** contains the bookmark of a text portion of type Bookmark. */ + [optional, readonly, property] + ::com::sun::star::text::XTextContent Bookmark; + + //------------------------------------------------------------------------- + /** contains the document index mark of a text portion of type + DocumentIndexMark. */ + [optional, readonly, property] + ::com::sun::star::text::XTextContent DocumentIndexMark; + + //------------------------------------------------------------------------- + /** contains the bookmark of a text portion of type ReferenceMark. */ + [optional, readonly, property] + ::com::sun::star::text::XTextContent ReferenceMark; + + //------------------------------------------------------------------------- + /** contains the footnote of a text portion of type Footnote. */ + [optional, readonly, property] + ::com::sun::star::text::XFootnote Footnote; + + //------------------------------------------------------------------------- + /** contains the text field of a text portion of type TextField. */ + [optional, readonly, property] + ::com::sun::star::text::XTextField TextField; //------------------------------------------------------------------------- - /** determines whether the portion is a point only.*/ - [optional, property] boolean IsCollapsed; + /** contains whether the portion is a point only. */ + [optional, readonly, property] boolean IsCollapsed; //------------------------------------------------------------------------- - /** determines whether the portion is a start portion if two portions are needed to include an - object (i.e. DocmentIndexMark)*/ - [optional, property] boolean IsStart; + /** contains whether the portion is the start of the portion. + + <p>This is used for portions which are represented by + 2 TextPortion objects (e.g., DocmentIndexMark).</p> + */ + [optional, readonly, property] boolean IsStart; + }; //============================================================================= diff --git a/offapi/com/sun/star/text/ViewSettings.idl b/offapi/com/sun/star/text/ViewSettings.idl index f9e356f64732..88d87ccb4798 100644 --- a/offapi/com/sun/star/text/ViewSettings.idl +++ b/offapi/com/sun/star/text/ViewSettings.idl @@ -342,14 +342,18 @@ published service ViewSettings [optional, property] boolean ShowNonprintingCharacters; //------------------------------------------------------------------------- /** metric unit of the horizontal ruler + + <p>Uses values <type scope="com::sun::star::awt">FieldUnit</type></p> + @since OOo 3.1.0 - <p>Uses values from com::sun::star::awt::FieldUnit</p> */ [optional, property] long HorizontalRulerMetric; //------------------------------------------------------------------------- /** metric unit of the vertical ruler + + <p>Uses values from <type scope="com::sun::star::awt">FieldUnit</type></p> + @since OOo 3.1.0 - <p>Uses values from com::sun::star::awt::FieldUnit</p> */ [optional, property] long VerticalRulerMetric; }; diff --git a/offapi/com/sun/star/text/XFormField.idl b/offapi/com/sun/star/text/XFormField.idl index 5215e381bcdb..f1f2d1bab9b9 100644 --- a/offapi/com/sun/star/text/XFormField.idl +++ b/offapi/com/sun/star/text/XFormField.idl @@ -7,6 +7,8 @@ module com { module sun { module star { module text { +/** @deprecated + */ interface XFormField: com::sun::star::uno::XInterface { short getType(); diff --git a/offapi/com/sun/star/text/XMultiTextMarkup.idl b/offapi/com/sun/star/text/XMultiTextMarkup.idl index 661038152bb4..f380797d0eb8 100644 --- a/offapi/com/sun/star/text/XMultiTextMarkup.idl +++ b/offapi/com/sun/star/text/XMultiTextMarkup.idl @@ -68,8 +68,8 @@ interface XMultiTextMarkup @param aMarkups a sequence of single text markups. - @see som::sun::star:text::XTextMarkup - @see som::sun::star:text::TextMarkupType + @see com::sun::star::text::XTextMarkup + @see com::sun::star::text::TextMarkupType */ void commitMultiTextMarkup( diff --git a/offapi/com/sun/star/text/XTextTable.idl b/offapi/com/sun/star/text/XTextTable.idl index 88cffcaa60f7..a2161a2a0cbc 100644 --- a/offapi/com/sun/star/text/XTextTable.idl +++ b/offapi/com/sun/star/text/XTextTable.idl @@ -59,7 +59,7 @@ /** manages a text table. - @see som::sun::star:text::TextTable + @see com::sun::star::text::TextTable @see com::sun::star::text::Cell */ published interface XTextTable: com::sun::star::text::XTextContent diff --git a/offapi/com/sun/star/text/fieldmaster/Bibliography.idl b/offapi/com/sun/star/text/fieldmaster/Bibliography.idl index a43e9e16e7c6..9fc3dbdf0e43 100644 --- a/offapi/com/sun/star/text/fieldmaster/Bibliography.idl +++ b/offapi/com/sun/star/text/fieldmaster/Bibliography.idl @@ -37,7 +37,7 @@ //============================================================================= -module com { module sun { module star { module text { module FieldMaster { +module com { module sun { module star { module text { module fieldmaster { //============================================================================= /** specifies service of a Bibliography field master. diff --git a/offapi/com/sun/star/text/fieldmaster/DDE.idl b/offapi/com/sun/star/text/fieldmaster/DDE.idl index 82049858eea7..1f1da82de47a 100644 --- a/offapi/com/sun/star/text/fieldmaster/DDE.idl +++ b/offapi/com/sun/star/text/fieldmaster/DDE.idl @@ -36,7 +36,7 @@ //============================================================================= -module com { module sun { module star { module text { module FieldMaster { +module com { module sun { module star { module text { module fieldmaster { //============================================================================= /** specifies service of a DDE field master. diff --git a/offapi/com/sun/star/text/fieldmaster/Database.idl b/offapi/com/sun/star/text/fieldmaster/Database.idl index 95ce53e6fe42..d8554d7b4d69 100644 --- a/offapi/com/sun/star/text/fieldmaster/Database.idl +++ b/offapi/com/sun/star/text/fieldmaster/Database.idl @@ -36,7 +36,7 @@ //============================================================================= -module com { module sun { module star { module text { module FieldMaster { +module com { module sun { module star { module text { module fieldmaster { //============================================================================= /** specifies service of a Database field master. @@ -85,7 +85,7 @@ published service Database //------------------------------------------------------------------------ /** contains the DataColumnName but it enables the fieldmaster and its depending fields to work without setting DataSourceName, DataTableName and CommandType - @since OOo 2.x + @since OOo 2.3 */ [optional, property] string Name; diff --git a/offapi/com/sun/star/text/fieldmaster/SetExpression.idl b/offapi/com/sun/star/text/fieldmaster/SetExpression.idl index 1407f29906c4..1e5f1e783a6a 100644 --- a/offapi/com/sun/star/text/fieldmaster/SetExpression.idl +++ b/offapi/com/sun/star/text/fieldmaster/SetExpression.idl @@ -36,7 +36,7 @@ //============================================================================= -module com { module sun { module star { module text { module FieldMaster { +module com { module sun { module star { module text { module fieldmaster { //============================================================================= /** Specifies the service of a set expression field master. diff --git a/offapi/com/sun/star/text/fieldmaster/User.idl b/offapi/com/sun/star/text/fieldmaster/User.idl index 305682b75156..c973c8ba8ffa 100644 --- a/offapi/com/sun/star/text/fieldmaster/User.idl +++ b/offapi/com/sun/star/text/fieldmaster/User.idl @@ -36,7 +36,7 @@ //============================================================================= -module com { module sun { module star { module text { module FieldMaster { +module com { module sun { module star { module text { module fieldmaster { //============================================================================= /** Specifies the service of a user field master. diff --git a/offapi/com/sun/star/ui/dialogs/FilePicker.idl b/offapi/com/sun/star/ui/dialogs/FilePicker.idl index b2f4d8ed258c..c15ab0287631 100644 --- a/offapi/com/sun/star/ui/dialogs/FilePicker.idl +++ b/offapi/com/sun/star/ui/dialogs/FilePicker.idl @@ -60,6 +60,11 @@ module com { module sun { module star { module ui { module dialogs { //============================================================================= /** A FilePicker. + It is <strong>NOT</strong> recommended to cache a reference to a file + picker instance. Due to restrictions by the underlying system there can + be specific limitations possible. To overcome these problems it' + s recommended to create a new instance on demand. + @see XFilePicker */ diff --git a/offapi/com/sun/star/util/MeasureUnit.idl b/offapi/com/sun/star/util/MeasureUnit.idl index 6d7915a5774c..6cb8d3e7c883 100644 --- a/offapi/com/sun/star/util/MeasureUnit.idl +++ b/offapi/com/sun/star/util/MeasureUnit.idl @@ -106,3 +106,4 @@ published constants MeasureUnit }; }; }; }; #endif + diff --git a/offapi/com/sun/star/xml/sax/XFastShapeContextHandler.idl b/offapi/com/sun/star/xml/sax/XFastShapeContextHandler.idl index 3def460ed435..c125e55ddd2e 100644 --- a/offapi/com/sun/star/xml/sax/XFastShapeContextHandler.idl +++ b/offapi/com/sun/star/xml/sax/XFastShapeContextHandler.idl @@ -32,7 +32,7 @@ #include <com/sun/star/xml/sax/XFastContextHandler.idl> #include <com/sun/star/drawing/XShape.idl> -#include <com/sun/star/drawing/XShapes.idl> +#include <com/sun/star/drawing/XDrawPage.idl> #include <com/sun/star/frame/XModel.idl> #include <com/sun/star/io/XInputStream.idl> @@ -50,7 +50,7 @@ module com { module sun { module star { module xml { module sax { interface XFastShapeContextHandler: com::sun::star::xml::sax::XFastContextHandler { [attribute, readonly] com::sun::star::drawing::XShape Shape; - [attribute] com::sun::star::drawing::XShapes Shapes; + [attribute] com::sun::star::drawing::XDrawPage DrawPage; [attribute] com::sun::star::frame::XModel Model; [attribute] com::sun::star::io::XInputStream InputStream; [attribute] string RelationFragmentPath; diff --git a/offapi/com/sun/star/xml/sax/XFastTokenHandler.idl b/offapi/com/sun/star/xml/sax/XFastTokenHandler.idl index 691474f5d6e3..71ebdd4abd25 100644 --- a/offapi/com/sun/star/xml/sax/XFastTokenHandler.idl +++ b/offapi/com/sun/star/xml/sax/XFastTokenHandler.idl @@ -57,7 +57,7 @@ interface XFastTokenHandler: com::sun::star::uno::XInterface /** returns a integer token for the given string identifier. @returns - a unique integer token for the given String or <const>FastToken::DONTKNOW</const + a unique integer token for the given String or <const>FastToken::DONTKNOW</const> if the identifier is not known to this instance. */ long getToken( [in] string Identifier ); diff --git a/offapi/prj/build.lst b/offapi/prj/build.lst index 094ca718a124..ede720d44540 100644 --- a/offapi/prj/build.lst +++ b/offapi/prj/build.lst @@ -1,4 +1,4 @@ -oa offapi : udkapi solenv NULL +oa offapi : udkapi idlc solenv NULL oa offapi usr1 - all oa_mkout NULL oa offapi\com\sun\star\script nmake - all oa_script oa_embed NULL oa offapi\com\sun\star\script\browse nmake - all oa_sfbrowse NULL diff --git a/offapi/type_reference/typelibrary_history.txt b/offapi/type_reference/typelibrary_history.txt index 830cb806f03d..70f0e1d0cb35 100644 --- a/offapi/type_reference/typelibrary_history.txt +++ b/offapi/type_reference/typelibrary_history.txt @@ -135,3 +135,16 @@ 04/12/08 (JSC): TaskID=i96902 update reference rdb with the released version from OO.org 3.0 (ooo300m9) + +04/17/09 (tl, JSC): TaskID=i96846 + changed old and not longer used properties in css.linguistic2.LinguProperties + to maybevoid and deprecate. They should be removed in a future version. The + implementation will never return them. + +25/02/09 (MST, JSC): TaskID=i96209 + rename module css.text.FieldMaster to css.text.fieldmaster. + the implementation handles both variants. + +15/05/09 (MST, JSC): TaskID=i101965 + fix read-only status of properties of css.text.TextPortion + diff --git a/offapi/type_reference/types.rdb b/offapi/type_reference/types.rdb Binary files differindex b75cd71a7290..f9a30cdbbd53 100644 --- a/offapi/type_reference/types.rdb +++ b/offapi/type_reference/types.rdb diff --git a/pyuno/prj/d.lst b/pyuno/prj/d.lst index c8efd4d786b8..16631ada6fbd 100644 --- a/pyuno/prj/d.lst +++ b/pyuno/prj/d.lst @@ -15,7 +15,7 @@ mkdir: %_DEST%\lib%_EXT%\pyuno ..\%__SRC%\bin\pythonloader.py %_DEST%\bin%_EXT%\pyuno\pythonloader.py ..\%__SRC%\bin\uno.py %_DEST%\bin%_EXT%\pyuno\uno.py ..\%__SRC%\bin\pyuno_services.rdb %_DEST%\bin%_EXT%\pyuno_services.rdb -..\%__SRC%\bin\pyuno.dll %_DEST%\bin%_EXT%\pyuno.dll +..\%__SRC%\bin\pyuno.pyd %_DEST%\bin%_EXT%\pyuno.pyd ..\%__SRC%\bin\pythonl*.dll %_DEST%\bin%_EXT%\pythonl*.dll ..\%__SRC%\misc\pyunorc %_DEST%\lib%_EXT%\pyunorc diff --git a/pyuno/source/loader/makefile.mk b/pyuno/source/loader/makefile.mk index 67fbe81e482e..11ece4796301 100644 --- a/pyuno/source/loader/makefile.mk +++ b/pyuno/source/loader/makefile.mk @@ -110,7 +110,7 @@ $(DLLDEST)$/%.py: %.py $(DLLDEST)$/pyuno_services.rdb : makefile.mk $(DLLDEST)$/$(DLLPRE)$(TARGET)$(DLLPOST) -rm -f $@ $(DLLDEST)$/pyuno_services.tmp $(DLLDEST)$/pyuno_services.rdb .IF "$(GUI)$(COM)"=="WNTGCC" - cd $(DLLDEST) && sh -c "export PATH='$(PATH):$(OUT)$/bin'; regcomp -register -r pyuno_services.tmp -wop $(foreach,i,$(COMPONENTS) -c $(i))" + cd $(DLLDEST) && sh -c "export PATH='$(PATH):$(OUT)$/bin'; $(REGCOMP) -register -r pyuno_services.tmp -wop $(foreach,i,$(COMPONENTS) -c $(i))" .ELSE cd $(DLLDEST) && $(REGCOMP) -register -r pyuno_services.tmp -wop $(foreach,i,$(COMPONENTS) -c $(i)) .ENDIF # "$(GUI)$(COM)"=="WNTGCC" diff --git a/pyuno/source/module/makefile.mk b/pyuno/source/module/makefile.mk index 23d7a07f3700..94de195e750f 100644 --- a/pyuno/source/module/makefile.mk +++ b/pyuno/source/module/makefile.mk @@ -59,6 +59,7 @@ PYUNORC=pyunorc .ELSE .INCLUDE : pyversion.mk PYUNORC=pyuno.ini +DLLPOST=.pyd .ENDIF .IF "$(SYSTEM_PYTHON)" == "YES" @@ -108,11 +109,23 @@ DEFLIB1NAME=$(TARGET) # --- Targets ------------------------------------------------------ +.IF "$(GUI)$(COM)"=="WNTGCC" +ALLTAR : \ + $(DLLDEST)$/uno.py \ + $(DLLDEST)$/unohelper.py \ + $(PYUNO_MODULE) \ + $(MISC)$/$(PYUNORC) \ + $(LB)$/lib$(TARGET).a + +$(LB)$/lib$(TARGET).a: $(MISC)$/$(TARGET).def + dlltool --dllname $(TARGET)$(DLLPOST) --input-def=$(MISC)$/$(TARGET).def --kill-at --output-lib=$(LB)$/lib$(TARGET).a +.ELSE ALLTAR : \ $(DLLDEST)$/uno.py \ $(DLLDEST)$/unohelper.py \ $(PYUNO_MODULE) \ $(MISC)$/$(PYUNORC) +.ENDIF .INCLUDE : target.mk diff --git a/pyuno/source/module/uno.py b/pyuno/source/module/uno.py index e35cdd0133c6..f136b21a0b70 100644 --- a/pyuno/source/module/uno.py +++ b/pyuno/source/module/uno.py @@ -250,19 +250,16 @@ def invoke( object, methodname, argTuple ): #--------------------------------------------------------------------------------------- # don't use any functions beyond this point, private section, likely to change #--------------------------------------------------------------------------------------- -def _uno_import( name, *optargs ): +#def _uno_import( name, globals={}, locals={}, fromlist=[], level=-1 ): +def _uno_import( name, *optargs, **kwargs ): try: # print "optargs = " + repr(optargs) - if len(optargs) == 0: - return _g_delegatee( name ) - #print _g_delegatee - return _g_delegatee( name, *optargs ) + return _g_delegatee( name, *optargs, **kwargs ) except ImportError: - if len(optargs) != 3 or not optargs[2]: - raise - globals = optargs[0] - locals = optargs[1] - fromlist = optargs[2] + # process optargs + globals, locals, fromlist = list(optargs)[:3] + [kwargs.get('globals',{}), kwargs.get('locals',{}), kwargs.get('fromlist',[])][len(optargs):] + if not fromlist: + raise modnames = name.split( "." ) mod = None d = sys.modules diff --git a/pyuno/zipcore/makefile.mk b/pyuno/zipcore/makefile.mk index b2797630633f..f46106dc8afe 100755 --- a/pyuno/zipcore/makefile.mk +++ b/pyuno/zipcore/makefile.mk @@ -51,8 +51,12 @@ DESTROOT=$(BIN)$/$(PYDIRNAME) .IF "$(GUI)" == "UNX" PYTHONBINARY=$(BIN)$/python$(EXECPOST).bin .ELSE +.IF "$(COM)" == "GCC" +PYTHONBINARY=$(DESTROOT)$/bin$/python.bin +.ELSE PYTHONBINARY=$(DESTROOT)$/bin$/python$(EXECPOST) .ENDIF +.ENDIF FINDLIBFILES_TMP:=$(subst,/,$/ \ $(shell @$(FIND) $(SOLARLIBDIR)$/python -type f| $(GREP) -v .pyc |$(GREP) -v .py\~ |$(GREP) -v .orig )) @@ -114,7 +118,11 @@ $(BIN)$/python$(EXECPOST).bin : $(SOLARBINDIR)$/python$(EXECPOST) .ENDIF chmod +x $@ .ELSE +.IF "$(COM)" == "GCC" +$(DESTROOT)$/bin$/python.bin : $(SOLARBINDIR)$/python$(EXECPOST) +.ELSE $(DESTROOT)$/bin$/python$(EXECPOST) : $(SOLARBINDIR)$/python$(EXECPOST) +.ENDIF -$(MKDIRHIER) $(@:d) -rm -f $@ cat $< > $@ diff --git a/pyuno/zipcore/python.cxx b/pyuno/zipcore/python.cxx index 355921805dbb..2e0e1ea0acb4 100644 --- a/pyuno/zipcore/python.cxx +++ b/pyuno/zipcore/python.cxx @@ -133,6 +133,22 @@ int wmain(int argc, wchar_t ** argv, wchar_t **) { if (pythonpath3End == NULL) { exit(EXIT_FAILURE); } +#ifdef __MINGW32__ + wchar_t pythonpath4[MAX_PATH]; + wchar_t * pythonpath4End = tools::buildPath( + pythonpath4, path, pathEnd, + MY_STRING(L"\\program\\python-core-" MY_PYVERSION L"\\lib\\lib-dynload")); + if (pythonpath4End == NULL) { + exit(EXIT_FAILURE); + } + wchar_t pythonpath5[MAX_PATH]; + wchar_t * pythonpath5End = tools::buildPath( + pythonpath5, path, pathEnd, + MY_STRING(L"\\program\\python-core-" MY_PYVERSION L"\\lib\\lib-dynload")); + if (pythonpath5End == NULL) { + exit(EXIT_FAILURE); + } +#endif wchar_t pythonhome[MAX_PATH]; wchar_t * pythonhomeEnd = tools::buildPath( pythonhome, path, pathEnd, @@ -143,8 +159,13 @@ int wmain(int argc, wchar_t ** argv, wchar_t **) { wchar_t pythonexe[MAX_PATH]; wchar_t * pythonexeEnd = tools::buildPath( pythonexe, path, pathEnd, +#ifdef __MINGW32__ + MY_STRING( + L"\\program\\python-core-" MY_PYVERSION L"\\bin\\python.bin")); +#else MY_STRING( L"\\program\\python-core-" MY_PYVERSION L"\\bin\\python.exe")); +#endif if (pythonexeEnd == NULL) { exit(EXIT_FAILURE); } @@ -231,6 +252,18 @@ int wmain(int argc, wchar_t ** argv, wchar_t **) { exit(EXIT_FAILURE); } } +#ifdef __MINGW32__ + value = new wchar_t[ + (path1End - path1) + MY_LENGTH(L";") + (pythonpath2End - pythonpath2) + + MY_LENGTH(L";") + (pythonpath4End - pythonpath4) + + MY_LENGTH(L";") + (pythonpath5End - pythonpath5) + + MY_LENGTH(L";") + (pythonpath3End - pythonpath3) + + (n == 0 ? 0 : MY_LENGTH(L";") + (n - 1)) + 1]; //TODO: overflow + wsprintfW( + value, L"%s;%s;%s;%s;%s%s%s", path1, pythonpath2, pythonpath4, + pythonpath5, pythonpath3, + n == 0 ? L"" : L";", orig); +#else value = new wchar_t[ (path1End - path1) + MY_LENGTH(L";") + (pythonpath2End - pythonpath2) + MY_LENGTH(L";") + (pythonpath3End - pythonpath3) + @@ -238,6 +271,7 @@ int wmain(int argc, wchar_t ** argv, wchar_t **) { wsprintfW( value, L"%s;%s;%s%s%s", path1, pythonpath2, pythonpath3, n == 0 ? L"" : L";", orig); +#endif if (!SetEnvironmentVariableW(L"PYTHONPATH", value)) { exit(EXIT_FAILURE); } diff --git a/rdbmaker/source/rdbmaker/makefile.mk b/rdbmaker/source/rdbmaker/makefile.mk index 03225a6ee2b1..8d29743a5607 100644 --- a/rdbmaker/source/rdbmaker/makefile.mk +++ b/rdbmaker/source/rdbmaker/makefile.mk @@ -53,7 +53,6 @@ APP1TARGET= $(TARGET) APP1OBJS= $(OBJFILES) APP1STDLIBS=\ - $(STORELIB)\ $(SALLIB) \ $(SALHELPERLIB) \ $(REGLIB) \ diff --git a/registry/tools/makefile.mk b/registry/tools/makefile.mk index a97a47a9964e..e4cd82e8679c 100644 --- a/registry/tools/makefile.mk +++ b/registry/tools/makefile.mk @@ -51,9 +51,7 @@ APP1OBJS= $(OBJ)$/regmerge.obj APP1RPATH= UREBIN APP1STDLIBS=\ - $(STORELIB)\ $(SALLIB) \ - $(SALHELPERLIB) \ $(REGLIB) APP2TARGET= regview @@ -61,9 +59,7 @@ APP2OBJS= $(OBJ)$/regview.obj APP2RPATH= UREBIN APP2STDLIBS=\ - $(STORELIB)\ $(SALLIB) \ - $(SALHELPERLIB) \ $(REGLIB) APP3TARGET= regcompare @@ -71,7 +67,6 @@ APP3OBJS= $(OBJ)$/regcompare.obj APP3RPATH= SDK APP3STDLIBS=\ - $(STORELIB)\ $(SALLIB) \ $(SALHELPERLIB) \ $(REGLIB) @@ -80,7 +75,6 @@ APP4TARGET= checksingleton APP4OBJS= $(OBJ)$/checksingleton.obj APP4STDLIBS=\ - $(STORELIB)\ $(SALLIB) \ $(SALHELPERLIB) \ $(REGLIB) diff --git a/registry/util/makefile.mk b/registry/util/makefile.mk index 09590a3a1981..44961787106b 100644 --- a/registry/util/makefile.mk +++ b/registry/util/makefile.mk @@ -60,7 +60,6 @@ SHL1TARGET= $(TARGET) SHL1IMPLIB= ireg SHL1STDLIBS= \ $(SALLIB) \ - $(SALHELPERLIB) \ $(STORELIB) SHL1VERSIONMAP= $(TARGET).map diff --git a/ridljar/com/sun/star/lib/uno/typedesc/TypeDescription.java b/ridljar/com/sun/star/lib/uno/typedesc/TypeDescription.java index aa40e7cd69bc..e5c44083ffec 100644 --- a/ridljar/com/sun/star/lib/uno/typedesc/TypeDescription.java +++ b/ridljar/com/sun/star/lib/uno/typedesc/TypeDescription.java @@ -46,7 +46,6 @@ import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.HashMap; -import java.util.Iterator; /** * Supplies information about UNO types. diff --git a/sal/inc/osl/diagnose.h b/sal/inc/osl/diagnose.h index cd5fd5b6ed6d..908d5a10bbfb 100644 --- a/sal/inc/osl/diagnose.h +++ b/sal/inc/osl/diagnose.h @@ -80,6 +80,26 @@ pfunc_osl_printDetailedDebugMessage SAL_CALL osl_setDetailedDebugMessageFunc( pf #define OSL_THIS_FILE __FILE__ +/* the macro OSL_THIS_FUNC is intended to be an office internal macro for now */ +#ifdef __func__ +#define OSL_THIS_FUNC __func__ +#elifdef __PRETTY_FUNCTION__ +#define OSL_THIS_FUNC __PRETTY_FUNCTION__ +#elifdef __FUNCTION__ +#define OSL_THIS_FUNC __FUNCTION__ +#else +#define OSL_THIS_FUNC " " +#endif + +/* the macro OSL_TO_STRING is intended to be an office internal macro for now */ +#define OSL_TO_STRING( x ) #x + +/* the macro OSL_MACRO_VALUE_TO_STRING is intended to be an office internal macro for now */ +#define OSL_MACRO_VALUE_TO_STRING( x ) OSL_TO_STRING( x ) + +/* the macro OSL_LOG_PREFIX is intended to be an office internal macro for now */ +#define OSL_LOG_PREFIX OSL_THIS_FILE ":" OSL_THIS_FUNC ":" OSL_MACRO_VALUE_TO_STRING( __LINE__ ) "; " + #define OSL_DEBUG_ONLY(s) _OSL_DEBUG_ONLY(s) #define OSL_TRACE _OSL_TRACE #define OSL_ASSERT(c) _OSL_ASSERT(c, OSL_THIS_FILE, __LINE__) diff --git a/sal/inc/rtl/logfile.h b/sal/inc/rtl/logfile.h index 232232a4c3ed..66789d92426e 100644 --- a/sal/inc/rtl/logfile.h +++ b/sal/inc/rtl/logfile.h @@ -67,6 +67,14 @@ void SAL_CALL rtl_logfile_trace( const sal_Char* pszFormat, ... ); */ void SAL_CALL rtl_logfile_longTrace(char const * format, ...); +/** Return if a log file is written. + + @return true if a log file is written + + @since UDK 3.2.11 +*/ +sal_Bool SAL_CALL rtl_logfile_hasLogFile( void ); + #ifdef __cplusplus } #endif diff --git a/sal/inc/rtl/logfile.hxx b/sal/inc/rtl/logfile.hxx index 7ce33f3ea28a..5eae13b62952 100644 --- a/sal/inc/rtl/logfile.hxx +++ b/sal/inc/rtl/logfile.hxx @@ -189,12 +189,19 @@ namespace rtl #define RTL_LOGFILE_PRODUCT_TRACE( string ) \ rtl_logfile_longTrace( "| : %s\n", string ) -#define RTL_LOGFILE_PRODUCT_CONTEXT( instance, name ) \ - ::rtl::Logfile instance( name ) #define RTL_LOGFILE_PRODUCT_TRACE1( frmt, arg1 ) \ rtl_logfile_longTrace( "| : " ); \ rtl_logfile_trace( frmt, arg1 ); \ rtl_logfile_trace( "\n" ) +#define RTL_LOGFILE_PRODUCT_CONTEXT( instance, name ) \ + ::rtl::Logfile instance( name ) +#define RTL_LOGFILE_PRODUCT_CONTEXT_TRACE1( instance, frmt, arg1 ) \ + rtl_logfile_longTrace( "| %s : ", \ + instance.getName() ); \ + rtl_logfile_trace( frmt, arg1 ); \ + rtl_logfile_trace( "\n" ) +#define RTL_LOGFILE_HASLOGFILE() \ + rtl_logfile_hasLogFile() #endif diff --git a/sal/inc/rtl/textenc.h b/sal/inc/rtl/textenc.h index 9225521a02f6..33b5101a8b45 100644 --- a/sal/inc/rtl/textenc.h +++ b/sal/inc/rtl/textenc.h @@ -149,6 +149,7 @@ typedef sal_uInt16 rtl_TextEncoding; #define RTL_TEXTENCODING_ADOBE_STANDARD (RTL_TEXTENC_CAST( 91 )) #define RTL_TEXTENCODING_ADOBE_SYMBOL (RTL_TEXTENC_CAST( 92 )) #define RTL_TEXTENCODING_PT154 (RTL_TEXTENC_CAST( 93 )) +#define RTL_TEXTENCODING_ADOBE_DINGBATS (RTL_TEXTENC_CAST( 94 )) /* ATTENTION! Whenever some encoding is added here, make sure to update * rtl_isOctetTextEncoding in tencinfo.c. */ diff --git a/sal/inc/systools/win32/snprintf.h b/sal/inc/systools/win32/snprintf.h index 254726e2f37b..79441f032fee 100644 --- a/sal/inc/systools/win32/snprintf.h +++ b/sal/inc/systools/win32/snprintf.h @@ -1,4 +1,4 @@ -#ifndef _SMPRINTF_H +#ifndef _SNPRINTF_H #define _SNPRINTF_H #if !defined(_WIN32) @@ -77,4 +77,4 @@ _SNPRINTF_DLLIMPORT int __cdecl vsnprintf( char *buffer, size_t count, const cha } #endif -#endif /* _SMPRINTF_H */ +#endif /* _SNPRINTF_H */ diff --git a/sal/osl/os2/util.c b/sal/osl/os2/util.c index 4dd08c00aed3..217c71878838 100644 --- a/sal/osl/os2/util.c +++ b/sal/osl/os2/util.c @@ -32,11 +32,6 @@ -extern sal_Bool osl_getEtherAddr(sal_Char* pszAddr, sal_uInt16 BufferSize) -{ - return sal_False; -} - extern sal_Bool osl_getEthernetAddress( sal_uInt8 * pTargetAddress ) { return sal_False; diff --git a/sal/osl/unx/file.cxx b/sal/osl/unx/file.cxx index 9296cb1ef966..bd5b54a6d8c3 100644 --- a/sal/osl/unx/file.cxx +++ b/sal/osl/unx/file.cxx @@ -131,6 +131,42 @@ static const sal_Char* MOUNTTAB="/etc/mtab"; #endif +#ifdef _DIRENT_HAVE_D_TYPE +#include "file_impl.hxx" + oslDirectoryItemImpl* oslDirectoryItemImpl_CreateNew( rtl_uString* _ustrFilePath, bool _bHasDType, unsigned char _DType ) + { + oslDirectoryItemImpl *pItemObject = (oslDirectoryItemImpl*) malloc( sizeof( oslDirectoryItemImpl ) ); + pItemObject->RefCount = 1; + pItemObject->bHasType = _bHasDType; + pItemObject->DType = _DType; + pItemObject->ustrFilePath = _ustrFilePath; + + return pItemObject; + } + + void oslDirectoryItemImpl_Destroy( oslDirectoryItemImpl* pItem ) + { + if( pItem->ustrFilePath ) { + rtl_uString_release( pItem->ustrFilePath ); + pItem->ustrFilePath = NULL; + } + free( pItem ); + } + + void oslDirectoryItemImpl_acquire( oslDirectoryItemImpl* pItem ) + { + pItem->RefCount ++; + } + + void oslDirectoryItemImpl_release( oslDirectoryItemImpl* pItem ) + { + pItem->RefCount --; + + if( pItem->RefCount <= 0 ) + oslDirectoryItemImpl_Destroy( pItem ); + } +#endif + #if OSL_DEBUG_LEVEL > 1 extern void debug_ustring(rtl_uString*); @@ -467,8 +503,15 @@ oslFileError SAL_CALL osl_getNextDirectoryItem(oslDirectory Directory, oslDirect osl_systemPathMakeAbsolutePath(pDirImpl->ustrPath, ustrFileName, &ustrFilePath); rtl_uString_release( ustrFileName ); - /* use path as directory item */ - *pItem = (oslDirectoryItem) ustrFilePath; +#ifdef _DIRENT_HAVE_D_TYPE + if(*pItem) + oslDirectoryItemImpl_release( ( oslDirectoryItemImpl* )( *pItem ) ); + + *pItem = (oslDirectoryItem) oslDirectoryItemImpl_CreateNew( ustrFilePath, true, pEntry->d_type ); +#else + /* use path as directory item */ + *pItem = (oslDirectoryItem) ustrFilePath; +#endif return osl_File_E_None; } @@ -497,7 +540,11 @@ oslFileError SAL_CALL osl_getDirectoryItem( rtl_uString* ustrFileURL, oslDirecto if (0 == access_u(ustrSystemPath, F_OK)) { +#ifdef _DIRENT_HAVE_D_TYPE + *pItem = (oslDirectoryItem) oslDirectoryItemImpl_CreateNew( ustrSystemPath, false ); +#else *pItem = (oslDirectoryItem)ustrSystemPath; +#endif osl_error = osl_File_E_None; } else @@ -515,12 +562,21 @@ oslFileError SAL_CALL osl_getDirectoryItem( rtl_uString* ustrFileURL, oslDirecto oslFileError osl_acquireDirectoryItem( oslDirectoryItem Item ) { +#ifdef _DIRENT_HAVE_D_TYPE + oslDirectoryItemImpl* pImpl = (oslDirectoryItemImpl*) Item; +#else rtl_uString* ustrFilePath = (rtl_uString *) Item; +#endif OSL_ASSERT( Item ); +#ifdef _DIRENT_HAVE_D_TYPE + if( pImpl ) + oslDirectoryItemImpl_acquire( pImpl ); +#else if( ustrFilePath ) rtl_uString_acquire( ustrFilePath ); +#endif return osl_File_E_None; } @@ -531,12 +587,21 @@ oslFileError osl_acquireDirectoryItem( oslDirectoryItem Item ) oslFileError osl_releaseDirectoryItem( oslDirectoryItem Item ) { +#ifdef _DIRENT_HAVE_D_TYPE + oslDirectoryItemImpl* pImpl = (oslDirectoryItemImpl*) Item; +#else rtl_uString* ustrFilePath = (rtl_uString *) Item; +#endif OSL_ASSERT( Item ); +#ifdef _DIRENT_HAVE_D_TYPE + if( pImpl ) + oslDirectoryItemImpl_release( pImpl ); +#else if( ustrFilePath ) rtl_uString_release( ustrFilePath ); +#endif return osl_File_E_None; } @@ -695,7 +760,7 @@ oslFileError osl_openFile( rtl_uString* ustrFileURL, oslFileHandle* pHandle, sal /* remove the NONBLOCK flag again */ flags = fcntl(fd, F_GETFL, NULL); flags &= ~O_NONBLOCK; - if( 0 > fcntl(fd, F_GETFL, flags) ) + if( 0 > fcntl(fd, F_SETFL, flags) ) { close(fd); return oslTranslateFileError(OSL_FET_ERROR, errno); diff --git a/sal/osl/unx/file_impl.hxx b/sal/osl/unx/file_impl.hxx new file mode 100644 index 000000000000..ae9d56ca85f3 --- /dev/null +++ b/sal/osl/unx/file_impl.hxx @@ -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: $ + * $Revision: $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied 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. + * + ************************************************************************/ + +#ifdef __cplusplus +extern "C" { +#endif +typedef struct +{ + rtl_uString* ustrFilePath; /* holds native file name */ + unsigned char DType; + bool bHasType; + sal_uInt32 RefCount; +} oslDirectoryItemImpl; + + oslDirectoryItemImpl* oslDirectoryItemImpl_CreateNew( rtl_uString* _ustrFilePath, bool _bHasDType, unsigned char _DType=0 ); + void oslDirectoryItemImpl_Destroy( oslDirectoryItemImpl* pItem ); + void oslDirectoryItemImpl_acquire( oslDirectoryItemImpl* pItem ); + void oslDirectoryItemImpl_release( oslDirectoryItemImpl* pItem ); +#ifdef __cplusplus +} /* extern "C" */ +#endif diff --git a/sal/osl/unx/file_path_helper.cxx b/sal/osl/unx/file_path_helper.cxx index 0f6ad9e216ad..434a5a516e5c 100644 --- a/sal/osl/unx/file_path_helper.cxx +++ b/sal/osl/unx/file_path_helper.cxx @@ -125,16 +125,6 @@ } /****************************************** - * osl_systemPathIsAbsolutePath - *****************************************/ - - sal_Bool SAL_CALL osl_systemPathIsAbsolutePath(const rtl_uString* pustrPath) - { - OSL_PRECOND(pustrPath, "osl_systemPathIsAbsolutePath: Invalid parameter"); - return (!osl_systemPathIsRelativePath(pustrPath)); - } - - /****************************************** osl_systemPathMakeAbsolutePath *****************************************/ diff --git a/sal/osl/unx/file_path_helper.h b/sal/osl/unx/file_path_helper.h index 17c6f0b71fba..3a89077e5633 100644 --- a/sal/osl/unx/file_path_helper.h +++ b/sal/osl/unx/file_path_helper.h @@ -105,23 +105,6 @@ const rtl_uString* pustrPath); /****************************************** - osl_systemPathIsAbsolutePath - Returns true if the given path is an - absolute path and so starts with a '/' - - @param pustrPath [in] a system path - pustrPath must not be NULL - - @returns sal_True if the given path - start's with a separator else - sal_False will be returned - - *****************************************/ - - sal_Bool SAL_CALL osl_systemPathIsAbsolutePath( - const rtl_uString* pustrPath); - - /****************************************** osl_systemPathMakeAbsolutePath Append a relative path to a base path diff --git a/sal/osl/unx/file_path_helper.hxx b/sal/osl/unx/file_path_helper.hxx index ee38c14648c2..2a1d74687493 100644 --- a/sal/osl/unx/file_path_helper.hxx +++ b/sal/osl/unx/file_path_helper.hxx @@ -106,25 +106,6 @@ namespace osl } /****************************************** - systemPathIsAbsolutePath - Returns true if the given path is an - absolute path and so starts with a '/' - - @param pustrPath [in] a system path - pustrPath must not be NULL - - @returns sal_True if the given path - start's with a separator else - sal_False will be returned - - *****************************************/ - - inline bool systemPathIsAbsolutePath(const rtl::OUString& Path) - { - return osl_systemPathIsAbsolutePath(Path.pData); - } - - /****************************************** systemPathMakeAbsolutePath Append a relative path to a base path diff --git a/sal/osl/unx/file_stat.cxx b/sal/osl/unx/file_stat.cxx index ec8cead84620..3a710743a1b2 100644 --- a/sal/osl/unx/file_stat.cxx +++ b/sal/osl/unx/file_stat.cxx @@ -42,6 +42,11 @@ #ifndef _UNISTD_H #include <unistd.h> #endif + +#ifndef _DIRENT_H +#include <dirent.h> +#endif + #include <osl/file.h> #ifndef _ERRNO_H @@ -56,6 +61,9 @@ #include "file_path_helper.hxx" #include "file_error_transl.h" +#ifdef _DIRENT_HAVE_D_TYPE +#include "file_impl.hxx" +#endif namespace /* private */ { @@ -223,9 +231,19 @@ namespace /* private */ /* we only need to call stat or lstat if one of the following flags is set */ +#ifdef _DIRENT_HAVE_D_TYPE + inline bool is_stat_call_necessary(sal_uInt32 field_mask, oslDirectoryItemImpl *pImpl) +#else inline bool is_stat_call_necessary(sal_uInt32 field_mask) +#endif { - return ((field_mask & osl_FileStatus_Mask_Type) || + return ( +/* on linux the dirent might have d_type */ +#ifdef _DIRENT_HAVE_D_TYPE + ((field_mask & osl_FileStatus_Mask_Type) && (!pImpl->bHasType || pImpl->DType == DT_UNKNOWN)) || +#else + (field_mask & osl_FileStatus_Mask_Type) || +#endif (field_mask & osl_FileStatus_Mask_Attributes) || (field_mask & osl_FileStatus_Mask_CreationTime) || (field_mask & osl_FileStatus_Mask_AccessTime) || @@ -254,7 +272,11 @@ namespace /* private */ if ((NULL == Item) || (NULL == pStat)) return osl_File_E_INVAL; +#ifdef _DIRENT_HAVE_D_TYPE + file_path = rtl::OUString(reinterpret_cast<rtl_uString*>(((oslDirectoryItemImpl* ) Item)->ustrFilePath)); +#else file_path = rtl::OUString(reinterpret_cast<rtl_uString*>(Item)); +#endif OSL_ASSERT(file_path.getLength() > 0); @@ -285,10 +307,18 @@ oslFileError SAL_CALL osl_getFileStatus(oslDirectoryItem Item, oslFileStatus* pS #else struct stat file_stat; #endif - if (is_stat_call_necessary(uFieldMask) && (0 != osl::lstat(file_path, file_stat))) + +#ifdef _DIRENT_HAVE_D_TYPE + oslDirectoryItemImpl* pImpl = (oslDirectoryItemImpl*) Item; + bool bStatNeeded = is_stat_call_necessary(uFieldMask, pImpl); +#else + bool bStatNeeded = is_stat_call_necessary(uFieldMask); +#endif + + if (bStatNeeded && (0 != osl::lstat(file_path, file_stat))) return oslTranslateFileError(OSL_FET_ERROR, errno); - if (is_stat_call_necessary(uFieldMask)) + if (bStatNeeded) { // we set all these attributes because it's cheap set_file_type(file_stat, pStat); @@ -305,6 +335,40 @@ oslFileError SAL_CALL osl_getFileStatus(oslDirectoryItem Item, oslFileStatus* pS return osl_error; } } +#ifdef _DIRENT_HAVE_D_TYPE + else if (uFieldMask & osl_FileStatus_Mask_Type) + { + OSL_ASSERT(pImpl->bHasType); + + switch(pImpl->DType) + { + case DT_LNK: + pStat->eType = osl_File_Type_Link; + break; + case DT_DIR: + pStat->eType = osl_File_Type_Directory; + break; + case DT_REG: + pStat->eType = osl_File_Type_Regular; + break; + case DT_FIFO: + pStat->eType = osl_File_Type_Fifo; + break; + case DT_SOCK: + pStat->eType = osl_File_Type_Socket; + break; + case DT_CHR: + case DT_BLK: + pStat->eType = osl_File_Type_Special; + break; + default: + OSL_ASSERT(0); + pStat->eType = osl_File_Type_Unknown; + } + + pStat->uValidFields |= osl_FileStatus_Mask_Type; + } +#endif if (uFieldMask & osl_FileStatus_Mask_FileURL) { diff --git a/sal/osl/unx/file_url.cxx b/sal/osl/unx/file_url.cxx index 602e8a98beac..1d6b9172bc6d 100644 --- a/sal/osl/unx/file_url.cxx +++ b/sal/osl/unx/file_url.cxx @@ -462,39 +462,6 @@ namespace /* private */ /********************************************* ********************************************/ - sal_Unicode* ustrcpy(const sal_Unicode* s, sal_Unicode* d) - { - const sal_Unicode* sc = s; - sal_Unicode* dc = d; - - while ((*dc++ = *sc++)) - /**/; - - return d; - } - - /********************************************* - - ********************************************/ - - sal_Unicode* ustrncpy(const sal_Unicode* s, sal_Unicode* d, unsigned int n) - { - const sal_Unicode* sc = s; - sal_Unicode* dc = d; - unsigned int i = n; - - while (i--) - *dc++ = *sc++; - - if (n) - *dc = 0; - - return d; - } - - /********************************************* - - ********************************************/ sal_Unicode* ustrchrcat(const sal_Unicode chr, sal_Unicode* d) { @@ -504,17 +471,6 @@ namespace /* private */ return d; } - /********************************************* - - ********************************************/ - - sal_Unicode* ustrcat(const sal_Unicode* s, sal_Unicode* d) - { - sal_Unicode* dc = ustrtoend(d); - ustrcpy(s, dc); - return d; - } - /****************************************************** * ******************************************************/ @@ -528,18 +484,6 @@ namespace /* private */ } /****************************************************** - * Ensure that the given string has the specified last - * character if necessary append it - ******************************************************/ - - sal_Unicode* _strensurelast(sal_Unicode* pStr, sal_Unicode Chr) - { - if (!_islastchr(pStr, Chr)) - ustrchrcat(Chr, pStr); - return pStr; - } - - /****************************************************** * Remove the last part of a path, a path that has * only a '/' or no '/' at all will be returned * unmodified diff --git a/sal/osl/unx/process.c b/sal/osl/unx/process.c index a163436031d2..e5faf46548a6 100644 --- a/sal/osl/unx/process.c +++ b/sal/osl/unx/process.c @@ -650,6 +650,18 @@ static void ChildStatusProc(void *pData) close( stdOutput[0] ); close( stdError[0] ); + //if pid > 0 then a process was created, even if it later failed + //e.g. bash searching for a command to execute, and we still + //need to clean it up to avoid "defunct" processes + if (pid > 0) + { + pid_t child_pid; + do + { + child_pid = waitpid(pid, &status, 0); + } while ( 0 > child_pid && EINTR == errno ); + } + /* notify (and unblock) parent thread */ osl_setCondition(pdata->m_started); } diff --git a/sal/osl/unx/security.c b/sal/osl/unx/security.c index 53dd452e220b..5b601ee138a9 100644 --- a/sal/osl/unx/security.c +++ b/sal/osl/unx/security.c @@ -801,7 +801,14 @@ sal_Bool SAL_CALL osl_getConfigDir(oslSecurity Security, rtl_uString **pustrDire static sal_Bool SAL_CALL osl_psz_getConfigDir(oslSecurity Security, sal_Char* pszDirectory, sal_uInt32 nMax) { - return (osl_psz_getHomeDir(Security, pszDirectory, nMax)); + sal_Char *pStr = getenv("XDG_CONFIG_HOME"); + + if ((pStr == NULL) || (strlen(pStr) == 0) || + (access(pStr, 0) != 0)) + return (osl_psz_getHomeDir(Security, pszDirectory, nMax)); + + strncpy(pszDirectory, pStr, nMax); + return sal_True; } #else diff --git a/sal/osl/unx/util.c b/sal/osl/unx/util.c index c0b9e3c5aa09..66746fd3ff44 100644 --- a/sal/osl/unx/util.c +++ b/sal/osl/unx/util.c @@ -51,11 +51,10 @@ static int osl_getHWAddr(const char *ifname, char* hard_addr); static int osl_checkAddr(const char* addr); -static char* osl_decodeEtherAddr(const char *ptr, char* buff); /*****************************************************************************/ -/* osl_getEtherAddr */ +/* osl_getEthernetAddress */ /*****************************************************************************/ sal_Bool SAL_CALL osl_getEthernetAddress( sal_uInt8 * pAddr ) @@ -124,68 +123,6 @@ sal_Bool SAL_CALL osl_getEthernetAddress( sal_uInt8 * pAddr ) } -extern sal_Bool osl_getEtherAddr(sal_Char* pszAddr, sal_uInt16 BufferSize) -{ - char buff[1024]; - char hard_addr[64]; - struct ifconf ifc; - struct ifreq *ifr; - int i; - int so; - - (void) BufferSize; /* unused */ - - if ( pszAddr == 0 ) - { - return sal_False; - } - - - /* - * All we need is ... a network file descriptor. - * Normally, this is a very socket. - */ - - so = socket(AF_INET, SOCK_DGRAM, 0); - - - /* - * The first thing we have to do, get the interface configuration. - * It is a list of attached/configured interfaces - */ - - ifc.ifc_len = sizeof(buff); - ifc.ifc_buf = buff; - if ( ioctl(so, SIOCGIFCONF, &ifc) < 0 ) - { -/* fprintf(stderr, "SIOCGIFCONF: %s\n", strerror(errno));*/ - close(so); - return sal_False; - } - - close(so); - - /* - * For each of the interfaces in the interface list, - * try to get the hardware address - */ - - ifr = ifc.ifc_req; - for ( i = ifc.ifc_len / sizeof(struct ifreq) ; --i >= 0 ; ifr++ ) - { - int nRet=0; - nRet = osl_getHWAddr(ifr->ifr_name,hard_addr); - if ( nRet > 0 ) - { - osl_decodeEtherAddr(hard_addr,pszAddr); - return sal_True; - } - } - - return sal_False; -} - - /*****************************************************************************/ /* osl_getHWAddr */ /*****************************************************************************/ @@ -285,18 +222,6 @@ static int osl_checkAddr(const char* addr) } -/*****************************************************************************/ -/* osl_decodeEtherAddr */ -/*****************************************************************************/ - -static char* osl_decodeEtherAddr(const char *ptr, char* buff) -{ - sprintf(buff, "%02X:%02X:%02X:%02X:%02X:%02X", - (ptr[0] & 0377), (ptr[1] & 0377), (ptr[2] & 0377), - (ptr[3] & 0377), (ptr[4] & 0377), (ptr[5] & 0377)); - return(buff); -} - #if defined (SPARC) #if defined (SOLARIS) && !defined(__sparcv8plus) && !defined(__sparcv9) diff --git a/sal/osl/w32/conditn.c b/sal/osl/w32/conditn.c index c87d161137b4..7af4398284be 100644 --- a/sal/osl/w32/conditn.c +++ b/sal/osl/w32/conditn.c @@ -107,8 +107,7 @@ oslConditionResult SAL_CALL osl_waitCondition(oslCondition Condition, while ( 1 ) { /* Only wake up if a SendMessage call to the threads message loop is detected */ - - switch( MsgWaitForMultipleObjects( 1, &(HANDLE)Condition, FALSE, timeout, QS_SENDMESSAGE ) ) + switch( MsgWaitForMultipleObjects( 1, (HANDLE *)(&Condition), FALSE, timeout, QS_SENDMESSAGE ) ) { case WAIT_OBJECT_0 + 1: { diff --git a/sal/osl/w32/diagnose.c b/sal/osl/w32/diagnose.c index af1b67eff5ac..6a67c1aa5b0f 100644 --- a/sal/osl/w32/diagnose.c +++ b/sal/osl/w32/diagnose.c @@ -73,6 +73,7 @@ void SAL_CALL osl_breakDebug(void) void SAL_CALL osl_trace(const sal_Char* lpszFormat, ...) { va_list args; + int written = 0; va_start(args, lpszFormat); @@ -90,7 +91,8 @@ void SAL_CALL osl_trace(const sal_Char* lpszFormat, ...) { sal_Char szMessage[512]; szMessage[sizeof(szMessage)-1] = 0; - _vsnprintf( szMessage, sizeof(szMessage) -1, lpszFormat, args ); + written = _vsnprintf( szMessage, sizeof(szMessage) - 2, lpszFormat, args ); + szMessage[ written == -1 ? sizeof(szMessage) - 2 : written ] = '\n'; OutputDebugString( szMessage ); } diff --git a/sal/osl/w32/file.cxx b/sal/osl/w32/file.cxx index b25ed7735d36..7ba66ed3e69c 100644 --- a/sal/osl/w32/file.cxx +++ b/sal/osl/w32/file.cxx @@ -1460,7 +1460,7 @@ namespace /* private */ void parse_UNC_path(const sal_Unicode* path, UNCComponents* puncc) { OSL_PRECOND(is_UNC_path(path), "Precondition violated: No UNC path"); - OSL_PRECOND(!wcschr(path, SLASH), "Path must not contain slashes"); + OSL_PRECOND(rtl_ustr_indexOfChar(path, SLASH) != -1, "Path must not contain slashes"); const sal_Unicode* pend = path + rtl_ustr_getLength(path); const sal_Unicode* ppos = path + 2; @@ -1580,7 +1580,7 @@ namespace /* private */ e.g. 'c:\' or '\\Share' have no more parents */ int path_make_parent(sal_Unicode* path) { - OSL_PRECOND(!wcschr(path, SLASH), "Path must not contain slashes"); + OSL_PRECOND(rtl_ustr_indexOfChar(path, SLASH) != -1, "Path must not contain slashes"); OSL_PRECOND(has_path_parent(path), "Path must have a parent"); sal_Unicode* pos_last_backslash = path + rtl_ustr_lastIndexOfChar(path, BACKSLASH); @@ -1833,7 +1833,7 @@ namespace /* private */ oslDirectoryCreationCallbackFunc aDirectoryCreationCallbackFunc, void* pData) { - OSL_PRECOND(wcslen(dir_path) > 0 && (wcsrchr(dir_path, BACKSLASH) != (dir_path + (wcslen(dir_path) - 1))), \ + OSL_PRECOND(rtl_ustr_getLength(dir_path) > 0 && (rtl_ustr_lastIndexOfChar(dir_path, BACKSLASH) != rtl_ustr_getLength(dir_path) - 1), \ "Path must not end with a backslash"); DWORD w32_error = create_dir_with_callback( @@ -2678,7 +2678,7 @@ oslFileError SAL_CALL osl_getFileSize(oslFileHandle Handle, sal_uInt64 *pSize) oslFileError SAL_CALL osl_setFileSize(oslFileHandle Handle, sal_uInt64 uSize) { - oslFileError error = error = osl_setFilePos( Handle, osl_Pos_Absolut, uSize ); + oslFileError error = osl_setFilePos( Handle, osl_Pos_Absolut, uSize ); if ( osl_File_E_None == error ) { if ( !SetEndOfFile( (HANDLE)Handle ) ) diff --git a/sal/osl/w32/util.c b/sal/osl/w32/util.c index a952de1dba8c..34c7b7ada53d 100644 --- a/sal/osl/w32/util.c +++ b/sal/osl/w32/util.c @@ -32,15 +32,6 @@ -extern sal_Bool osl_getEtherAddr(sal_Char* pszAddr, sal_uInt16 BufferSize) -{ - /* avoid warnings */ - pszAddr = pszAddr; - BufferSize = BufferSize; - - return sal_False; -} - extern sal_Bool SAL_CALL osl_getEthernetAddress( sal_uInt8 *pAddr ) { pAddr = pAddr; /* avoid warnings */ diff --git a/sal/prj/d.lst b/sal/prj/d.lst index 7ba02fb47a06..bcd9c0e2c95a 100644 --- a/sal/prj/d.lst +++ b/sal/prj/d.lst @@ -14,10 +14,13 @@ mkdir: %_DEST%\inc%_EXT%\systools\win32 ..\inc\systools\win32\*.h %_DEST%\inc%_EXT%\systools\win32\*.h ..\inc\systools\win32\*.hxx %_DEST%\inc%_EXT%\systools\win32\*.hxx -..\%__SRC%\lib\lib*.so* %_DEST%\lib%_EXT% +..\%__SRC%\lib\libsalalloc_malloc.so.3 %_DEST%\lib%_EXT%\libsalalloc_malloc.so.3 +symlink: %_DEST%\lib%_EXT%\libsalalloc_malloc.so.3 %_DEST%\lib%_EXT%\libsalalloc_malloc.so +..\%__SRC%\lib\libuno_sal.so.3 %_DEST%\lib%_EXT%\libuno_sal.so.3 +symlink: %_DEST%\lib%_EXT%\libuno_sal.so.3 %_DEST%\lib%_EXT%\libuno_sal.so +..\%__SRC%\lib\libuno_sal.dylib.3 %_DEST%\lib%_EXT%\libuno_sal.dylib.3 +symlink: %_DEST%\lib%_EXT%\libuno_sal.dylib.3 %_DEST%\lib%_EXT%\libuno_sal.dylib ..\%__SRC%\lib\*.sl %_DEST%\lib%_EXT%\*.sl -..\%__SRC%\lib\*.dylib %_DEST%\lib%_EXT%\*.dylib -..\%__SRC%\lib\*.dylib.* %_DEST%\lib%_EXT%\*.dylib.* ..\%__SRC%\lib\*.a %_DEST%\lib%_EXT%\*.a ..\%__SRC%\slb\sal.lib %_DEST%\lib%_EXT%\xsal.lib diff --git a/sal/qa/rtl/textenc/rtl_textcvt.cxx b/sal/qa/rtl/textenc/rtl_textcvt.cxx index 8750037a845f..0e4a1a306949 100644 --- a/sal/qa/rtl/textenc/rtl_textcvt.cxx +++ b/sal/qa/rtl/textenc/rtl_textcvt.cxx @@ -1175,7 +1175,7 @@ void Test::testSingleByte() { 0xFFFF,0x00E6,0xFFFF,0xFFFF,0xFFFF,0x0131,0xFFFF,0xFFFF, 0x0142,0x00F8,0x0153,0x00DF,0xFFFF,0xFFFF,0xFFFF,0xFFFF } }, { RTL_TEXTENCODING_ADOBE_SYMBOL, - { 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, + { 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, @@ -1207,6 +1207,46 @@ void Test::testSingleByte() { 0x239D,0x23A1,0x23A2,0x23A3,0x23A7,0x23A8,0x23A9,0x23AA, 0xFFFF,0x232A,0x222B,0x2320,0x23AE,0x2321,0x239E,0x239F, 0x23A0,0x23A4,0x23A5,0x23A6,0x23AB,0x23AC,0x23AD,0xFFFF } }, + { RTL_TEXTENCODING_ADOBE_DINGBATS, + { 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, + 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, + 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, + 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +// 20 + 0x0020,0x2701,0x2702,0x2703,0x2704,0x260E,0x2706,0x2707, + 0x2708,0x2709,0x261B,0x261E,0x270C,0x270D,0x270E,0x270F, + 0x2710,0x2711,0x2712,0x2713,0x2714,0x2715,0x2716,0x2717, + 0x2718,0x2719,0x271A,0x271B,0x271C,0x271D,0x271E,0x271F, +// 40 + 0x2720,0x2721,0x2722,0x2723,0x2724,0x2725,0x2726,0x2727, + 0x2605,0x2729,0x272A,0x272B,0x272C,0x272D,0x272E,0x272F, + 0x2730,0x2731,0x2732,0x2733,0x2734,0x2735,0x2736,0x2737, + 0x2738,0x2739,0x273A,0x273B,0x273C,0x273D,0x273E,0x273F, +// 60 + 0x2740,0x2741,0x2742,0x2743,0x2744,0x2745,0x2746,0x2747, + 0x2748,0x2749,0x274A,0x274B,0x27CF,0x274D,0x25A0,0x274F, + 0x2750,0x2751,0x2752,0x25B2,0x25BC,0x25C6,0x2756,0x25D7, + 0x2758,0x2759,0x275A,0x275B,0x275C,0x275D,0x275E,0xFFFF, +// 80 + 0xF8D7,0xF8D8,0xF8D9,0xF8DA,0xF8DB,0xF8DC,0xF8DD,0xF8DE, + 0xF8DF,0xF8E0,0xF8E1,0xF8E2,0xF8E3,0xF8E4,0xFFFF,0xFFFF, + 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, + 0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF, +// A0 + 0xFFFF,0x2761,0x2762,0x2763,0x2764,0x2765,0x2766,0x2767, + 0x2663,0x2666,0x2665,0x2660,0x2460,0x2461,0x2462,0x2463, + 0x2464,0x2465,0x2466,0x2467,0x2468,0x2469,0x2776,0x2777, + 0x2778,0x2779,0x277A,0x277B,0x277C,0x277D,0x277E,0x277F, +// C0 + 0x2780,0x2781,0x2782,0x2783,0x2784,0x2785,0x2786,0x2787, + 0x2788,0x2789,0x278A,0x278B,0x278C,0x278D,0x278E,0x278F, + 0x2790,0x2791,0x2792,0x2793,0x2794,0x2795,0x2796,0x2797, + 0x2798,0x2799,0x279A,0x279B,0x279C,0x279D,0x279E,0x279F, +// E0 + 0x27A0,0x27A1,0x27A2,0x27A3,0x27A4,0x27A5,0x27A6,0x27A7, + 0x27A8,0x27A9,0x27AA,0x27AB,0x27AC,0x27AD,0x27AE,0x27AF, + 0xFFFF,0x27B1,0x27B2,0x27B3,0x27B4,0x27B5,0x27B6,0x27B7, + 0x27B8,0x27B9,0x27BA,0x27BB,0x27BC,0x27BD,0x27BE,0xFFFF } }, { RTL_TEXTENCODING_PT154, { 0x0000,0x0001,0x0002,0x0003,0x0004,0x0005,0x0006,0x0007, 0x0008,0x0009,0x000A,0x000B,0x000C,0x000D,0x000E,0x000F, diff --git a/sal/rtl/source/logfile.cxx b/sal/rtl/source/logfile.cxx index 9bd0a939513b..476dea11393d 100644 --- a/sal/rtl/source/logfile.cxx +++ b/sal/rtl/source/logfile.cxx @@ -250,3 +250,8 @@ extern "C" void SAL_CALL rtl_logfile_longTrace(char const * format, ...) { va_end(args); } } + +extern "C" sal_Bool SAL_CALL rtl_logfile_hasLogFile( void ) { + init(); + return g_buffer != 0; +} diff --git a/sal/rtl/source/strtmpl.c b/sal/rtl/source/strtmpl.c index c6277f23348b..99e53dea91a4 100644 --- a/sal/rtl/source/strtmpl.c +++ b/sal/rtl/source/strtmpl.c @@ -276,7 +276,7 @@ sal_Int32 SAL_CALL IMPL_RTL_STRNAME( hashCode_WithLength )( const IMPL_RTL_STRCO { sal_Int32 h = nLen; - if ( nLen < 16 ) + if ( nLen < 256 ) { while ( nLen > 0 ) { diff --git a/sal/systools/win32/uwinapi/makefile.mk b/sal/systools/win32/uwinapi/makefile.mk index 1e6c419a0c92..e2a91cf3fd03 100644 --- a/sal/systools/win32/uwinapi/makefile.mk +++ b/sal/systools/win32/uwinapi/makefile.mk @@ -48,7 +48,6 @@ CXXFLAGS+= $(LFS_CFLAGS) .IF "$(GUI)"=="WNT" .IF "$(COM)"=="GCC" -CDEFS+=-UWINVER -DWINVER=0x0500 CFLAGSCXX+=-Wno-unused-parameter -Wno-return-type .ENDIF diff --git a/sal/textenc/convertadobe.tab b/sal/textenc/convertadobe.tab index 32e1ebdf187a..11a17a9a5751 100644 --- a/sal/textenc/convertadobe.tab +++ b/sal/textenc/convertadobe.tab @@ -110,7 +110,7 @@ adobeStandardEncodingConverterData = { / sizeof unicodeToAdobeStandardEncoding[0]), unicodeToAdobeStandardEncoding }; -// RTL_TEXTENCODING_ADOBE_STANDARD is based on +// RTL_TEXTENCODING_ADOBE_SYMBOL is based on // <http://www.unicode.org/Public/MAPPINGS/VENDORS/ADOBE/symbol.txt> revision // "v0.2, 30 March 1999," with the modification that some mappings go to code // points newly assigned in Unicode 3.2/4.0, instead of to PUA: @@ -231,6 +231,68 @@ adobeSymbolEncodingConverterData = { / sizeof unicodeToAdobeSymbolEncoding[0]), unicodeToAdobeSymbolEncoding }; +// RTL_TEXTENCODING_ADOBE_DINGBATS is based on +// <http://www.unicode.org/Public/MAPPINGS/VENDORS/ADOBE/zdingbat.txt> revision +// "v0.2, 30 March 1999" + +//TODO: Contains Unicode PUA mappings +rtl::textenc::BmpUnicodeToSingleByteRange const unicodeToAdobeDingbatsEncoding[] += { { 0x0020, 0x0020 - 0x0020, 0x20 }, { 0x00A0, 0x00A0 - 0x00A0, 0x20 }, + { 0x2192, 0x2192 - 0x2192, 0xD5 }, { 0x2194, 0x2195 - 0x2194, 0xD6 }, + { 0x2460, 0x2469 - 0x2460, 0xAB }, + { 0x25A0, 0x25A0 - 0x25A0, 0x6E }, + { 0x25B2, 0x25B2 - 0x25B2, 0x73 }, { 0x25BC, 0x25BC - 0x25BC, 0x74 }, + { 0x25C6, 0x25C6 - 0x25C6, 0x75 }, { 0x25CF, 0x25CF - 0x25CF, 0x6C }, + { 0x25D7, 0x25D7 - 0x25D7, 0x77 }, + { 0x2605, 0x2605 - 0x2605, 0x48 }, { 0x260E, 0x260E - 0x260E, 0x25 }, + { 0x261B, 0x261B - 0x261B, 0x2A }, { 0x261E, 0x261E - 0x261E, 0x2B }, + { 0x2660, 0x2660 - 0x2660, 0xAB }, { 0x2663, 0x2663 - 0x2663, 0xA8 }, + { 0x2665, 0x2665 - 0x2665, 0xAA }, { 0x2666, 0x2666 - 0x2666, 0xA9 }, + { 0x2701, 0x2704 - 0x2701, 0x21 }, { 0x2706, 0x2709 - 0x2706, 0x26 }, + { 0x270C, 0x2727 - 0x270C, 0x2C }, { 0x2729, 0x274B - 0x2729, 0x49 }, + { 0x274D, 0x274D - 0x274D, 0x6D }, { 0x274F, 0x2752 - 0x274F, 0x6F }, + { 0x2756, 0x2756 - 0x2756, 0x76 }, { 0x2758, 0x275E - 0x2758, 0x78 }, + { 0x2761, 0x2767 - 0x2761, 0xA1 }, { 0x2776, 0x2794 - 0x2776, 0xB6 }, + { 0x2798, 0x27AF - 0x2798, 0xD8 }, { 0x27B1, 0x27BE - 0x27B1, 0xF1 }, + { 0xF8D7, 0xF8E4 - 0xF8D7, 0x80 }}; + +rtl::textenc::BmpUnicodeToSingleByteConverterData const +adobeDingbatsEncodingConverterData = { + { 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, // 0x00 + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, // 0x10 + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0x0020, 0x2701, 0x2702, 0x2703, 0x2704, 0x260E, 0x2706, 0x2707, // 0x20 + 0x2708, 0x2709, 0x261B, 0x261E, 0x270C, 0x270D, 0x270E, 0x270F, + 0x2710, 0x2711, 0x2712, 0x2713, 0x2714, 0x2715, 0x2716, 0x2717, // 0x30 + 0x2718, 0x2719, 0x271A, 0x271B, 0x271C, 0x271D, 0x271E, 0x271F, + 0x2720, 0x2721, 0x2722, 0x2723, 0x2724, 0x2725, 0x2726, 0x2727, // 0x40 + 0x2605, 0x2729, 0x272A, 0x272B, 0x272C, 0x272D, 0x272E, 0x272F, + 0x2730, 0x2731, 0x2732, 0x2733, 0x2734, 0x2735, 0x2736, 0x2737, // 0x50 + 0x2738, 0x2739, 0x273A, 0x273B, 0x273C, 0x273D, 0x273E, 0x273F, + 0x2740, 0x2741, 0x2742, 0x2743, 0x2744, 0x2745, 0x2746, 0x2747, // 0x60 + 0x2748, 0x2749, 0x274A, 0x274B, 0x27CF, 0x274D, 0x25A0, 0x274F, + 0x2750, 0x2751, 0x2752, 0x25B2, 0x25BC, 0x25C6, 0x2756, 0x25D7, // 0x70 + 0x2758, 0x2759, 0x275A, 0x275B, 0x275C, 0x275D, 0x275E, 0xFFFF, + 0xF8D7, 0xF8D8, 0xF8D9, 0xF8DA, 0xF8DB, 0xF8DC, 0xF8DD, 0xF8DE, // 0x80 + 0xF8DF, 0xF8E0, 0xF8E1, 0xF8E2, 0xF8E3, 0xF8E4, 0xFFFF, 0xFFFF, + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, // 0x090 + 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, + 0xFFFF, 0x2761, 0x2762, 0x2763, 0x2764, 0x2765, 0x2766, 0x2767, // 0xA0 + 0x2663, 0x2666, 0x2665, 0x2660, 0x2460, 0x2461, 0x2462, 0x2463, + 0x2464, 0x2465, 0x2466, 0x2467, 0x2468, 0x2469, 0x2776, 0x2777, // 0xB0 + 0x2778, 0x2779, 0x277A, 0x277B, 0x277C, 0x277D, 0x277E, 0x277F, + 0x2780, 0x2781, 0x2782, 0x2783, 0x2784, 0x2785, 0x2786, 0x2787, // 0xC0 + 0x2788, 0x2789, 0x278A, 0x278B, 0x278C, 0x278D, 0x278E, 0x278F, + 0x2790, 0x2791, 0x2792, 0x2793, 0x2794, 0x2795, 0x2796, 0x2797, // 0xD0 + 0x2798, 0x2799, 0x279A, 0x279B, 0x279C, 0x279D, 0x279E, 0x279F, + 0x27A0, 0x27A1, 0x27A2, 0x27A3, 0x27A4, 0x27A5, 0x27A6, 0x27A7, // 0xE0 + 0x27A8, 0x27A9, 0x27AA, 0x27AB, 0x27AC, 0x27AD, 0x27AE, 0x27AF, + 0xFFFF, 0x27B1, 0x27B2, 0x27B3, 0x27B4, 0x27B5, 0x27B6, 0x27B7, // 0xF0 + 0x27B8, 0x27B9, 0x27BA, 0x27BB, 0x27BC, 0x27BD, 0x27BE, 0xFFFF }, + (sizeof(unicodeToAdobeDingbatsEncoding) / sizeof(*unicodeToAdobeDingbatsEncoding)), + unicodeToAdobeDingbatsEncoding }; + ImplTextEncodingData const adobeStandardEncodingData = { { &adobeStandardEncodingConverterData, &rtl_textenc_convertSingleByteToBmpUnicode, @@ -253,4 +315,15 @@ ImplTextEncodingData const adobeSymbolEncodingData 0, 0, "Adobe-Symbol-Encoding", RTL_TEXTENCODING_INFO_SYMBOL | RTL_TEXTENCODING_INFO_MIME }; +ImplTextEncodingData const adobeDingbatsEncodingData += { { &adobeDingbatsEncodingConverterData, + &rtl_textenc_convertSingleByteToBmpUnicode, + &rtl_textenc_convertBmpUnicodeToSingleByte, + 0, 0, 0, + ImplCreateUnicodeToTextContext, ImplDestroyContext, + ImplResetUnicodeToTextContext }, + 1, 1, 1, + 0, 0, "Adobe-ZapfDingbats-Encoding", + 0 }; // TODO: RTL_TEXTENCODING_INFO_DINGBATS + } diff --git a/sal/textenc/convertiso2022cn.c b/sal/textenc/convertiso2022cn.c index 4ef47783cb90..0f9404d71e96 100644 --- a/sal/textenc/convertiso2022cn.c +++ b/sal/textenc/convertiso2022cn.c @@ -484,8 +484,8 @@ ImplIso2022CnTranslateTo116431(sal_uInt8 const * pCns116431992Data, nPlane = pCns116431992Data[nOffset++]; if (nPlane != 1) return 0; - return (0x20 + pCns116431992Data[nOffset++]) << 8 - | (0x20 + pCns116431992Data[nOffset]); + return (0x20 + pCns116431992Data[nOffset]) << 8 + | (0x20 + pCns116431992Data[nOffset + 1]); } sal_Size ImplConvertUnicodeToIso2022Cn(ImplTextConverterData const * pData, diff --git a/sal/textenc/tencinfo.c b/sal/textenc/tencinfo.c index 76cb5be2c1c7..a2a05a157e63 100644 --- a/sal/textenc/tencinfo.c +++ b/sal/textenc/tencinfo.c @@ -49,7 +49,7 @@ sal_Bool SAL_CALL rtl_isOctetTextEncoding(rtl_TextEncoding nEncoding) { return (sal_Bool) (nEncoding > RTL_TEXTENCODING_DONTKNOW - && nEncoding <= RTL_TEXTENCODING_PT154 + && (nEncoding <= RTL_TEXTENCODING_ADOBE_DINGBATS) /* always update this! */ && nEncoding != 9); /* RTL_TEXTENCODING_SYSTEM */ } diff --git a/sal/textenc/textenc.cxx b/sal/textenc/textenc.cxx index 8afc35dba4d5..02c2031b7b8b 100644 --- a/sal/textenc/textenc.cxx +++ b/sal/textenc/textenc.cxx @@ -222,7 +222,8 @@ Impl_getTextEncodingData(rtl_TextEncoding nEncoding) SAL_THROW_EXTERN_C() &aImplJavaUtf8TextEncodingData, /* JAVA_UTF8 */ &adobeStandardEncodingData, /* ADOBE_STANDARD */ &adobeSymbolEncodingData, /* ADOBE_SYMBOL */ - &aImplPT154TextEncodingData }; /* PT154 */ + &aImplPT154TextEncodingData, /* PT154 */ + &adobeDingbatsEncodingData }; /* ADOBE_DINGBATS */ return nEncoding < sizeof aData / sizeof aData[0] ? aData[nEncoding] : NULL; } diff --git a/sal/util/sal.map b/sal/util/sal.map index 03af5c114aa1..ad063f3794d4 100755 --- a/sal/util/sal.map +++ b/sal/util/sal.map @@ -588,6 +588,11 @@ UDK_3.9 { # OOo 3.1 rtl_math_atanh; } UDK_3.8; +UDK_3.10 { # OOo 3.2 + global: + rtl_logfile_hasLogFile; +} UDK_3.9; + PRIVATE_1.0 { global: osl_detail_ObjectRegistry_storeAddresses; diff --git a/stoc/source/invocation/invocation.cxx b/stoc/source/invocation/invocation.cxx index 37e0e23cd701..aaa6cbe81f65 100644 --- a/stoc/source/invocation/invocation.cxx +++ b/stoc/source/invocation/invocation.cxx @@ -64,14 +64,10 @@ #include <com/sun/star/lang/XTypeProvider.hpp> #include <com/sun/star/registry/XRegistryKey.hpp> +#include <boost/scoped_array.hpp> #include <rtl/ustrbuf.hxx> #include <rtl/strbuf.hxx> -#include <stdlib.h> -#ifndef MACOSX -#include <search.h> -#endif - #define SERVICENAME "com.sun.star.script.Invocation" #define IMPLNAME "com.sun.star.comp.stoc.Invocation" @@ -774,16 +770,6 @@ struct MemberItem sal_Int32 nIndex; }; -// qsort compare function for MemberItem -//int __cdecl compare(const void *elem1, const void *elem2 ) -extern "C" int SAL_CALL compare(const void *elem1, const void *elem2 ) -{ - MemberItem* pItem1 = *(MemberItem**)elem1; - MemberItem* pItem2 = *(MemberItem**)elem2; - return (int)pItem1->aName.compareTo( pItem2->aName ); -} - - // Implementation of getting name or info // String sequence will be filled when pStringSeq != NULL // Info sequence will be filled when pInfoSeq != NULL @@ -823,14 +809,11 @@ void Invocation_Impl::getInfoSequenceImpl sal_Int32 nTotalCount = nNameAccessCount + nPropertyCount + nMethodCount; // Create and fill array of MemberItems - MemberItem* pItems = new MemberItem[ nTotalCount ]; + boost::scoped_array< MemberItem > pItems( new MemberItem[ nTotalCount ] ); const OUString* pStrings = aNameAccessNames.getConstArray(); const Property* pProps = aPropertySeq.getConstArray(); const Reference< XIdlMethod >* pMethods = aMethodSeq.getConstArray(); - // Create array of MemberItem* for sorting - MemberItem** ppItems = new MemberItem*[ nTotalCount ]; - // Fill array of MemberItems sal_Int32 i, iTotal = 0; @@ -838,7 +821,6 @@ void Invocation_Impl::getInfoSequenceImpl for( i = 0 ; i < nNameAccessCount ; i++, iTotal++ ) { MemberItem& rItem = pItems[ iTotal ]; - ppItems[ iTotal ] = &rItem; rItem.aName = pStrings[ i ]; rItem.eMode = MemberItem::NAMEACCESS; rItem.nIndex = i; @@ -848,7 +830,6 @@ void Invocation_Impl::getInfoSequenceImpl for( i = 0 ; i < nPropertyCount ; i++, iTotal++ ) { MemberItem& rItem = pItems[ iTotal ]; - ppItems[ iTotal ] = &rItem; rItem.aName = pProps[ i ].Name; rItem.eMode = MemberItem::PROPERTYSET; rItem.nIndex = i; @@ -858,16 +839,12 @@ void Invocation_Impl::getInfoSequenceImpl for( i = 0 ; i < nMethodCount ; i++, iTotal++ ) { MemberItem& rItem = pItems[ iTotal ]; - ppItems[ iTotal ] = &rItem; Reference< XIdlMethod > xMethod = pMethods[ i ]; rItem.aName = xMethod->getName(); rItem.eMode = MemberItem::METHOD; rItem.nIndex = i; } - // Sort pointer array - qsort( ppItems, (size_t)nTotalCount, sizeof( MemberItem* ), compare ); - // Setting up result sequences OUString* pRetStrings = NULL; if( pStringSeq ) diff --git a/stoc/source/servicemanager/servicemanager.cxx b/stoc/source/servicemanager/servicemanager.cxx index 78dffbcb9c32..9076a01d7bd5 100644 --- a/stoc/source/servicemanager/servicemanager.cxx +++ b/stoc/source/servicemanager/servicemanager.cxx @@ -270,29 +270,6 @@ static Sequence< OUString > retrieveAsciiValueList( return seq; } - -/***************************************************************************** - helper functions -*****************************************************************************/ -OUString Point2Slash(const OUString& s) -{ - OUStringBuffer ret; - - sal_Int32 nIndex = 0; - do - { - OUString token( s.getToken(0, '.', nIndex) ); - - if (token.getLength()) - { - ret.append( (sal_Unicode)'/' ); - ret.append( token ); - } - } while( nIndex != -1 ); - - return ret.makeStringAndClear(); -} - /***************************************************************************** Enumeration by ServiceName *****************************************************************************/ diff --git a/store/workben/makefile.mk b/store/workben/makefile.mk index 636006eaea7b..334585710522 100644 --- a/store/workben/makefile.mk +++ b/store/workben/makefile.mk @@ -46,14 +46,22 @@ NO_DEFAULT_STL=TRUE .IF "$(GUI)" == "UNX" STORELIB= -lstore .ELSE # unx +.IF "$(GUI)$(COM)"=="WNTGCC" +STORELIB= -lstore$(UDK_MAJOR) +.ELSE STORELIB= $(LB)$/istore.lib +.ENDIF .ENDIF # unx .ENDIF # storelib .IF "$(GUI)" == "UNX" STOREDBGLIB= $(LB)$/libstoredbg.a .ELSE # unx +.IF "$(GUI)$(COM)"=="WNTGCC" +STOREDBGLIB= $(LB)$/libstoredbg.a +.ELSE STOREDBGLIB= $(LB)$/storedbg.lib +.ENDIF .ENDIF # unx CFLAGS+= -I..$/source diff --git a/udkapi/com/sun/star/container/EnumerableMap.idl b/udkapi/com/sun/star/container/EnumerableMap.idl new file mode 100644 index 000000000000..c683a5abf210 --- /dev/null +++ b/udkapi/com/sun/star/container/EnumerableMap.idl @@ -0,0 +1,139 @@ +/************************************************************************* +* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +* +* Copyright 2009 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 +* <http://www.openoffice.org/license.html> +* for a copy of the LGPLv3 License. +************************************************************************/ +
+#ifndef __com_sun_star_container_Map_idl__ +#define __com_sun_star_container_Map_idl__ + +#include <com/sun/star/beans/IllegalTypeException.idl> +#include <com/sun/star/beans/Pair.idl> +#include <com/sun/star/container/XEnumerableMap.idl> + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** provides a default <type>XEnumerableMap</type> implementation + + <p>For the keys put into the map using <member>XMap::put</member> or <member>createImmutable</member>, + the following rules apply: + <a name="keyrules"></a> + <ul><li>A <VOID/> key is not allowed.</li> + <li>If the key type is <code>BOOLEAN</code>, <code>CHAR</code>, <code>FLOAT</code>, <code>DOUBLE</code>, + <code>STRING</code>, <code>TYPE</code>, or <code>UNSIGNED HYPER</code>, then only keys of exactly this + type are accepted.</li> + <li>If the key type is <code>DOUBLE</code> or <code>FLOAT</code>, then <code>Double.NaN</code> respectively + <code>Float.NaN</code> is not accepted as key.</li> + <li>If the key type's class is <member scope="com::sun::star::uno">TypeClass::ENUM</member>, then only keys + of exactly this type are accepted.</li> + <li>If the key type is any of <code>BYTE</code>, <code>SHORT</code>, <code>UNSIGNED SHORT</code>, + <code>LONG</code>, <code>UNSIGNED LONG</code>, or <code>HYPER</code>, then all keys which can losslessly + be converted to this type (possibly using widening conversions) are accepted.</li> + <li>If the key type is an interface type, then all key values denoting objects which can be queried for + the given interface are accepted.</li> + <li>All other key types are rejected.</li> + </ul></p> + + <p>For the values put into the map using <member>XMap::put</member> or <member>createImmutable</member>, + the following rules apply: + <a name="valuerules"></a> + <ul><li>The <VOID/> value will be accepted to be put into the map.</p> + <li>If the value type's class is <member scope="com::sun::star::uno">TypeClass::ANY</member>, any value + will be accepted.</li> + <li>If the value type is an interface type, then all values denoting objects which can be queried for + the given interface are accepted.</li> + <li>If the value type's class is <member scope="com::sun::star::uno">TypeClass::EXCEPTION</member> + or <member scope="com::sun::star::uno">TypeClass::STRUCT</member>, then values whose type equals the + value type, or is a sub class of the value type, are accepted.</li> + <li>For all other value types, only values whose type matches exactly are accepted.</li> + <li>If the value type is <code>DOUBLE</code> or <code>FLOAT</code>, then <code>Double.NaN</code> respectively + <code>Float.NaN</code> is not accepted.</li> + </ul></p> + + <p>The factory methods of the <code>XEnumerableMap</code> interface support both <em>isolated</em> + and <em>non-isolated</em> enumerators. The latter one will be automatically disposed when the map changes + after enumerator creation, so every attempt to use them will result in a + <type scope="com::sun::star::lang">DisposedException</type> being thrown.</p> + + @see http://udk.openoffice.org/common/man/typesystem.html +*/ +service EnumerableMap : XEnumerableMap +{ + /** creates an instance mapping from the given key type to the given value type + + @param KeyType + denotes the type of the keys in the to-be-created map + @param ValueType + denotes the type of the values in the to-be-created map + + @throws ::com::sun::star::beans::IllegalTypeException + if <arg>KeyType</arg> or <arg>ValueType</arg> are unsupported types. + For values, all type classes except <member scope="com::sun::star::uno">TypeClass::VOID</member> + and <member scope="com::sun::star::uno">TypeClass::UNKNOWN</member> are accepted. + For keys, scalar types, strings, <type scope="com::sun::star::uno">Type</type> itself, and interface + types are accepted. + */ + create( [in] type KeyType, [in] type ValueType ) + raises( ::com::sun::star::beans::IllegalTypeException ); + + /** creates an instance mapping from the given key type to the given value type + + <p>The resulting map is immutable, so later alter operations on it will fail + with a <type scope="com::sun::star::lang">NoSupportException</type>.</p> + + @param KeyType + denotes the type of the keys in the to-be-created map + @param ValueType + denotes the type of the values in the to-be-created map + @param Values + denote the values contained in the to-be-created map + + @throws ::com::sun::star::beans::IllegalTypeException + if <arg>KeyType</arg> or <arg>ValueType</arg> are unsupported types. + For values, all type classes except <member scope="com::sun::star::uno">TypeClass::VOID</member> + are accepted.<br/> + For keys, scalar types, strings, <type scope="com::sun::star::uno">Type</type> itself, and interface + types are accepted. + @throws ::com::sun::star::lang::IllegalArgumentException + if any of the given values or keys violates the <a href="#keyrules">key rules</a> or + <a href="#valuerules">value rules</a>. + */ + createImmutable( + [in] type KeyType, + [in] type ValueType, + [in] sequence< ::com::sun::star::beans::Pair< any, any > > Values + ) + raises( ::com::sun::star::beans::IllegalTypeException, + ::com::sun::star::lang::IllegalArgumentException ); +}; + +//============================================================================= + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/udkapi/com/sun/star/container/XEnumerableMap.idl b/udkapi/com/sun/star/container/XEnumerableMap.idl new file mode 100644 index 000000000000..eac4222fc3f4 --- /dev/null +++ b/udkapi/com/sun/star/container/XEnumerableMap.idl @@ -0,0 +1,108 @@ +/************************************************************************* +* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +* +* Copyright 2009 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 +* <http://www.openoffice.org/license.html> +* for a copy of the LGPLv3 License. +************************************************************************/ +
+#ifndef __com_sun_star_container_XEnumerableMap_idl__ +#define __com_sun_star_container_XEnumerableMap_idl__ + +#include <com/sun/star/container/XMap.idl> +#include <com/sun/star/container/XEnumeration.idl> +#include <com/sun/star/lang/NoSupportException.idl> + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** extends <type>XMap</type> with enumeration capabilities. + + <p>No assumption should be made about the ordering of the elements returned by the various enumerators. + In particular, you cannot assume the elements are returned in the same order as they were inserted. Also, + you should not expect the <code>XMap</code> implementation to make use of a possibly existing strict ordering + defined on the domain of all possible key values.</p> + + <p>You can create enumerators for the keys of the map, its values, and its key-value pairs.</p> + + <p>In all cases, you can create an <em>isolated</em> enumerator, which works on a copy of the + map's content. Such an iterator is not affected by changes done to the map after creation of + the enumerator.</p> + + <p>On the contrary, an enumerator which is <em>non-isolated</em> works directly on the map data. + This is less expensive than an <em>isolated</em> enumerator, but means that changes to the map while + an enumeration is running potentially invalidate your enumerator. The concrete behavior in this + case is undefined, it's up to the service implementing the <code>XEnumerableMap</code> interface + to specify it in more detail.</p> + + <p>Implementations of this interface might decide to support only <em>isolated</em> enumerators, or + only <em>non-isolated</em> enumerators. Again, it's up to the service to specify this. Requesting an + enumerator type which is not supported will generally result in an <type scope="com::sun::star::lang">NoSupportException</type> + being thrown.</p> + */ +interface XEnumerableMap : XMap +{ + /** creates a enumerator for the keys of the map + + @param Isolated + controls whether the newly create enumerator should be isolated from the map. + + @throws ::com::sun::star::lang::NoSupportException + if the specified enumerator method is not supported by the implementation. + */ + XEnumeration createKeyEnumeration( [in] boolean Isolated ) + raises ( ::com::sun::star::lang::NoSupportException ); + + /** creates a enumerator for the values of the map + + @param Isolated + controls whether the newly create enumerator should be isolated from the map. + + @throws ::com::sun::star::lang::NoSupportException + if the specified enumerator method is not supported by the implementation. + */ + XEnumeration createValueEnumeration( [in] boolean Isolated ) + raises ( ::com::sun::star::lang::NoSupportException ); + + /** creates a enumerator for the key-value pairs of the map + + <p>The elements returned by the enumerator are instances of <type scope="com::sun::star::beans">Pair</type>, + holding the key-value-pairs which are part of the map.</p> + + @param Isolated + controls whether the newly create enumerator should be isolated from the map. + + @throws ::com::sun::star::lang::NoSupportException + if the specified enumerator method is not supported by the implementation. + */ + XEnumeration createElementEnumeration( [in] boolean Isolated ) + raises ( ::com::sun::star::lang::NoSupportException ); +}; + +//============================================================================= + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/udkapi/com/sun/star/container/XMap.idl b/udkapi/com/sun/star/container/XMap.idl new file mode 100644 index 000000000000..df05cf9f8c7b --- /dev/null +++ b/udkapi/com/sun/star/container/XMap.idl @@ -0,0 +1,201 @@ +/************************************************************************* +* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +* +* Copyright 2009 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 +* <http://www.openoffice.org/license.html> +* for a copy of the LGPLv3 License. +************************************************************************/ +
+#ifndef __com_sun_star_container_XMap_idl__ +#define __com_sun_star_container_XMap_idl__ + +#include <com/sun/star/beans/IllegalTypeException.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/container/NoSuchElementException.idl> +#include <com/sun/star/lang/NoSupportException.idl> +#include <com/sun/star/container/XElementAccess.idl> + +//============================================================================= + +module com { module sun { module star { module container { + +//============================================================================= + +/** describes a map between keys and values. + + <p>Keys in the map are unique, and each key maps to exactly one value.</p> + + <p>Locating elements in the map, both values and keys, requires a notion of equality of two objects. + In conformance with the <a href="http://udk.openoffice.org/common/man/typesystem.html">UNO type system</a>, + two values are said to be equal if and only if they have the same type, and both denote the same element of this + type's value set.</p> + + @see <type>Map</type> for a default implementation of this interface +*/ +interface XMap +{ + interface XElementAccess; + + /** denotes the type of the keys in the map. + + <p>Implementations are free to accept any supertype of <code>KeyType</code> as keys.</p> + */ + [attribute, readonly] type KeyType; + + /** denotes the type of the values in the map. + + <p>Implementations are free to accept any supertype of the <code>ValueType</code> as values.</p> + */ + [attribute, readonly] type ValueType; + + /** clears the map, removing all key-value pairs from it. + + @throws ::com::sun::star::beans::NoSupportException + if the map is not mutable. + */ + void clear() + raises( ::com::sun::star::lang::NoSupportException ); + + /** determines whether a mapping for he given key exists in the map + + @param Key + is the key whose presence in the map is to be tested. + @return + <TRUE/> if and only if the map contains a mapping for the given key. + + @throws ::com::sun::star::beans::IllegalTypeException + if the given key is not of a type which is accepted by the map + @throws ::com::sun::star::lang::IllegalArgumentException + if the given key is not supported to be put into the map. It's up to the service + implementing the <code>XMap</code> interface to specify which special values are not + supported. For instances, implementations might decide to not allow <VOID/> keys, or + to reject <code>Double.NaN</code> (<em>not a number</em>) to due its problematic + behavior with respect to equality. + */ + boolean containsKey( [in] any Key ) + raises( ::com::sun::star::beans::IllegalTypeException, + ::com::sun::star::lang::IllegalArgumentException ); + + /** determines whether the map contains a mapping to a given value. + + @param Value + is the value whose presence in the map is to be tested. + @return + <TRUE/> if and only one or more keys map to the given value. + + @throws ::com::sun::star::beans::IllegalTypeException + if the given value is not of a type which is accepted by the map. It's up to the service + implementing the <code>XMap</code> interface to specify which special values are not + supported. For instances, implementations might decide to not allow <code>Double.NaN</code> + (<em>not a number</em>) to due its problematic behavior with respect to equality. + @throws ::com::sun::star::lang::IllegalArgumentException + if the given value is not supported to be put into the map. + */ + boolean containsValue( [in] any Value ) + raises( ::com::sun::star::beans::IllegalTypeException, + ::com::sun::star::lang::IllegalArgumentException ); + + /** gets the value to which a given key maps. + + @param Key + they key whose associated value is to be returned. + @return + the value which is associated with the given key. + + @throws ::com::sun::star::beans::IllegalTypeException + if the given key is not of a type which is accepted by the map + @throws ::com::sun::star::beans::IllegalArgumentException + if the given key is not supported to be put into the map. It's up to the service + implementing the <code>XMap</code> interface to specify which special values are not + supported. For instances, implementations might decide to not allow <VOID/> keys, or + to reject <code>Double.NaN</code> (<em>not a number</em>) to due its problematic + behavior with respect to equality. + @throws ::com::sun::star::container::NoSuchElementException + if there is no value associated with the given key + */ + any get( [in] any Key ) + raises( ::com::sun::star::beans::IllegalTypeException, + ::com::sun::star::lang::IllegalArgumentException, + ::com::sun::star::container::NoSuchElementException ); + + /** associates a given key with a given value + + <p>If the map already contains a mapping for the given key, then the old value is replaced by the + given new value.</p> + + @param Key + is the key which the given value should be associated with + @param Value + is the value which should be associated with the given key + @return + the value which was previously associated with the given key, or <VOID/> + if there was no such previous association. + + @throws ::com::sun::star::beans::IllegalTypeException + if the given key is not of a type which is accepted by the map + @throws ::com::sun::star::lang::IllegalArgumentException + if the given key, or the given value, is not supported to be put into the map. It's up to + the service implementing the <code>XMap</code> interface to specify which special values + are not supported.<br/> + For instances, implementations might decide to not allow <VOID/> keys or values, or to + reject <code>Double.NaN</code> (<em>not a number</em>) to due its problematic behavior + with respect to equality. + @throws ::com::sun::star::beans::NoSupportException + if the map does not support putting new mappings into it + */ + any put( [in] any Key, [in] any Value ) + raises( ::com::sun::star::lang::NoSupportException, + ::com::sun::star::beans::IllegalTypeException, + ::com::sun::star::lang::IllegalArgumentException ); + + /** removes a key-value mapping, given by key, from the map. + + @param Key + is the key whose mapping should be removed from the map + @return + the value which was associated with the given key before the removal + + @throws ::com::sun::star::beans::IllegalTypeException + if the given key is not of a type which is accepted by the map + @throws ::com::sun::star::lang::IllegalArgumentException + if the given key is not supported to be put into the map. It's up to the service + implementing the <code>XMap</code> interface to specify which special values are not + supported. For instances, implementations might decide to not allow <VOID/> keys, or + to reject <code>Double.NaN</code> (<em>not a number</em>) to due its problematic + behavior with respect to equality. + @throws ::com::sun::star::beans::NoSupportException + if the map does not support removing mappings + @throws ::com::sun::star::container::NoSuchElementException + if there is no value associated with the given key + */ + any remove( [in] any Key ) + raises( ::com::sun::star::lang::NoSupportException, + ::com::sun::star::beans::IllegalTypeException, + ::com::sun::star::lang::IllegalArgumentException, + ::com::sun::star::container::NoSuchElementException ); +}; + +//============================================================================= + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/udkapi/com/sun/star/container/makefile.mk b/udkapi/com/sun/star/container/makefile.mk index f78f3385670b..07b43627a00a 100644 --- a/udkapi/com/sun/star/container/makefile.mk +++ b/udkapi/com/sun/star/container/makefile.mk @@ -47,6 +47,7 @@ IDLFILES=\ XIdentifierContainer.idl\ ContainerEvent.idl\ ElementExistException.idl\ + EnumerableMap.idl\ NoSuchElementException.idl\ XChild.idl\ XUniqueIDAccess.idl\ @@ -59,6 +60,7 @@ IDLFILES=\ XContainerQuery.idl\ XContentEnumerationAccess.idl\ XElementAccess.idl\ + XEnumerableMap.idl\ XEnumeration.idl\ XEnumerationAccess.idl\ XHierarchicalName.idl\ @@ -71,6 +73,7 @@ IDLFILES=\ XIndexAccess.idl\ XIndexContainer.idl\ XIndexReplace.idl\ + XMap.idl\ XNameAccess.idl\ XNameContainer.idl\ XNamed.idl\ diff --git a/unoil/climaker/makefile.mk b/unoil/climaker/makefile.mk index 991a79b9b1a8..c72291afa489 100644 --- a/unoil/climaker/makefile.mk +++ b/unoil/climaker/makefile.mk @@ -69,7 +69,7 @@ RDB = $(SOLARBINDIR)$/offapi.rdb EXTRA_RDB = $(SOLARBINDIR)$/udkapi.rdb $(BIN)/cli_oootypes.dll : $(RDB) $(EXTRA_RDB) version.txt - $(WRAPCMD) $(SOLARBINDIR)$/climaker.exe $(CLIMAKERFLAGS) \ + $(CLIMAKER) $(CLIMAKERFLAGS) \ --out $@ \ --assembly-version $(CLI_OOOTYPES_NEW_VERSION) \ --assembly-company "OpenOffice.org" \ diff --git a/unoil/climaker/version.txt b/unoil/climaker/version.txt index bdab589b865d..867c3d411c64 100644 --- a/unoil/climaker/version.txt +++ b/unoil/climaker/version.txt @@ -29,8 +29,8 @@ # #************************************************************************* -CLI_OOOTYPES_NEW_VERSION=1.0.2.0 -CLI_OOOTYPES_OLD_VERSION=1.0.0.0-1.0.1.0 -CLI_OOOTYPES_POLICY_VERSION=2.0.0.0 +CLI_OOOTYPES_NEW_VERSION=1.0.3.0 +CLI_OOOTYPES_OLD_VERSION=1.0.0.0-1.0.2.0 +CLI_OOOTYPES_POLICY_VERSION=3.0.0.0 CLI_OOOTYPES_POLICY_ASSEMBLY=policy.1.0.cli_oootypes diff --git a/xml2cmp/source/support/sistr.cxx b/xml2cmp/source/support/sistr.cxx index c8277f7b8d5f..db14ef57bce0 100644 --- a/xml2cmp/source/support/sistr.cxx +++ b/xml2cmp/source/support/sistr.cxx @@ -63,42 +63,6 @@ Simstr::Simstr(const char * str_) } } -Simstr::Simstr(const char * txt, int anzahl) -{ - int txtlen = txt != 0 ? strlen(txt) : 0; - if (txt == 0 || anzahl < 1 || long(anzahl) * txtlen > INT_MAX) - { - len = 0; - sz = new char[1]; - *sz = 0; - } - else - { - len = anzahl * txtlen; - sz = new char[len+1]; - for (int i = 0; i < anzahl; i++) - memcpy(sz + (i*txtlen), txt, txtlen); - sz[len] = 0; - } -} - -Simstr::Simstr(char c, int anzahl) -{ - if (anzahl < 1) - { - len = 0; - sz = new char[1]; - *sz = 0; - } - else - { - len = anzahl; - sz = new char[len+1]; - memset(sz,c,anzahl); - sz[len] = 0; - } -} - Simstr::Simstr( const char * anybytes, int firstBytesPos, int nrOfBytes) @@ -149,18 +113,6 @@ Simstr::~Simstr() delete [] sz; } -char & -Simstr::ch(int n) -{ - static char nullCh = NULCH; - nullCh = NULCH; - if (n >= long(len) || n < 0) - return nullCh; - else - return sz[unsigned(n)]; -} - - Simstr Simstr::operator+(const Simstr & S) const { @@ -208,98 +160,9 @@ Simstr::operator>=(const Simstr & S) const // ************** LIST - Funktionen ***************** - -// Einzelzugriff - -char -Simstr::get(int n) const { return (n >= len || n < 0) ? 0 : sz[n]; } - -char -Simstr::get_front() const { return sz[0]; } - -char -Simstr::get_back() const { return len ? sz[len-1] : 0; } - -Simstr -Simstr::get(int startPos, int anzahl) const -{ - if (startPos >= len || startPos < 0 || anzahl < 1) - return ""; - - int anz = len - startPos < anzahl ? len - startPos : anzahl; - - Simstr ret(' ',anz); - memcpy(ret.sz, sz+startPos, anz); - return ret; -} - -Simstr -Simstr::get_front(int anzahl) const -{ - int anz = len < anzahl ? len : anzahl; - if (anz < 1) - return ""; - - Simstr ret(' ',anz); - memcpy(ret.sz, sz, anz); - return ret; -} - -Simstr -Simstr::get_back(int anzahl) const -{ - int anz = len < anzahl ? len : anzahl; - if (anz < 1) - return ""; - int start = len-anz; - - Simstr ret(' ',anz); - memcpy(ret.sz, sz+start, anz); - return ret; -} - -Simstr -Simstr::get_first_token(char c) const -{ - int posc = pos_first(c); - if (posc != NO_POS) - return get_front(posc); - else - return sz; -} - -Simstr -Simstr::get_last_token(char c) const -{ - int posc = pos_last(c); - if (posc != NO_POS) - return get_back(len-posc-1); - else - return sz; -} - - - // Insert void -Simstr::insert(int pos, char c) -{ - if (pos < 0 || pos > len) - return; - - char * result = new char[len+2]; - - memcpy(result,sz,pos); - result[pos] = c; - memcpy(result+pos+1,sz+pos,len-pos+1); - - delete [] sz; - sz = result; - len++; -} - -void Simstr::push_front(char c) { char * result = new char[len+2]; @@ -327,23 +190,6 @@ Simstr::push_back(char c) } void -Simstr::insert(int pos, const Simstr & S) -{ - if (pos < 0 || pos > len) - return; - - char * result = new char[len+1+S.len]; - - memcpy(result,sz,pos); - memcpy(result+pos,S.sz,S.len); - memcpy(result+pos+S.len,sz+pos,len-pos+1); - - delete [] sz; - sz = result; - len += S.len; -} - -void Simstr::push_front(const Simstr & S) { char * result = new char[len+1+S.len]; @@ -400,167 +246,6 @@ Simstr::remove_trailing_blanks() remove ( newlen+1, len-newlen); } -void -Simstr::pop_front(int anzahl) -{ - if (anzahl < 1) - return; - int anz = len < anzahl ? len : anzahl; - - char * result = new char[len-anz+1]; - - memcpy(result,sz+anz,len-anz+1); - - delete [] sz; - sz = result; - len -= anz; -} - -void -Simstr::pop_back(int anzahl) -{ - if (anzahl < 1) - return; - - int anz = len < anzahl ? len : anzahl; - - char * result = new char[len-anz+1]; - - memcpy(result,sz,len-anz); - result[len-anz] = 0; - - delete [] sz; - sz = result; - len -= anz; -} - -void -Simstr::rem_back_from(int removeStartPos) -{ - if (removeStartPos != NO_POS) - pop_back(len-removeStartPos); -} - -void -Simstr::remove_all(char c) -{ - if (!len) - return; - char * result = new char[len]; - int i,j=0; - for (i = 0; i < len; i++) - if (sz[i] != c) - result[j++] = sz[i]; - - delete [] sz; - sz = new char[j+1]; - memcpy(sz,result,j); - sz[j] = 0; - len = j; - delete [] result; -} - -void -Simstr::remove_all(const Simstr & S) -{ - int pos; - while ( (pos=pos_first(S)) != NO_POS ) - remove(pos,S.len); -} - -void -Simstr::strip(char c) -{ - int start = 0; - if (c == ' ') - { // Sonderbehandlung: SPC entfernt auch TABs: - while ( start < len - ? sz[start] == ' ' - || sz[start] == '\t' - : false ) - start++; - } - else - { - while (start < len && sz[start] == c) - start++; - } - - int ende = len-1; - if (c == ' ') - { // Sonderbehandlung: SPC entfernt auch TABs: - while ( ende >= start - ? sz[ende] == ' ' - || sz[ende] == '\t' - : false ) - ende--; - } - else - { - while (ende >= start && sz[ende] == c) - ende--; - } - *this = get(start,ende-start+1); -} - -void -Simstr::empty() -{ - if (len > 0) - { - delete [] sz; - sz = new char[1]; - *sz = 0; - len = 0; - } -} - -Simstr -Simstr::take_first_token(char c) -{ - Simstr ret; - int pos = pos_first(c); - if (pos != NO_POS) - { - ret = get_front(pos); - pop_front(pos+1); - } - else - { - ret = sz; - delete [] sz; - sz = new char[1]; - *sz = NULCH; - len = 0; - } - - return ret; -} - -Simstr -Simstr::take_last_token(char c) -{ - Simstr ret; - int pos = pos_last(c); - if (pos != NO_POS) - { - ret = get_back(len-pos-1); - pop_back(len-pos); - } - else - { - ret = sz; - delete [] sz; - sz = new char[1]; - *sz = NULCH; - len = 0; - } - - return ret; -} - - - // Find int @@ -575,21 +260,6 @@ Simstr::pos_first(char c) const } int -Simstr::pos_first_after( char c, - int startSearchPos) const -{ - int i = 0; - if (startSearchPos >= i) - i = startSearchPos+1; - for (; i < len ? sz[i] != c : false; i++) ; - if (i >= len) - return NO_POS; - else - return i; -} - - -int Simstr::pos_last(char c) const { int i = 0; @@ -600,43 +270,6 @@ Simstr::pos_last(char c) const return i; } -int -Simstr::pos_first(const Simstr & S) const -{ - char * ptr = strstr(sz,S.sz); - if (ptr) - return int(ptr-sz); - else - return NO_POS; -} - -int -Simstr::pos_last(const Simstr & S) const -{ - Simstr vgl; - int i; - for (i = len-S.len; i >= 0 ; i--) - { - vgl = get(i,S.len); - if (vgl == S) - break; - } - if (i >= 0) - return i; - else - return NO_POS; -} - -int -Simstr::count(char c) const -{ - int ret = 0; - for (int i =0; i < len; i++) - if (sz[i] == c) - ret++; - return ret; -} - bool Simstr::is_no_text() const { @@ -653,34 +286,6 @@ Simstr::is_no_text() const // Change void -Simstr::replace(int pos, char c) -{ - if (pos < 0 || pos >= len) - return; - else - sz[unsigned(pos)] = c; -} - -void -Simstr::replace(int startPos, int anzahl, const Simstr & S) -{ - if (startPos >= len || startPos < 0 || anzahl < 1) - return; - - int anz = len - startPos < anzahl ? len - startPos : anzahl; - - char * result = new char[len-anz+S.len+1]; - - memcpy(result,sz,startPos); - memcpy(result+startPos, S.sz, S.len); - memcpy(result+startPos+S.len, sz+startPos+anz, len-startPos-anz+1); - - delete [] sz; - sz = result; - len = len-anz+S.len; -} - -void Simstr::replace_all(char oldCh, char newCh) { for (int i=0; i < len; i++) @@ -688,33 +293,6 @@ Simstr::replace_all(char oldCh, char newCh) sz[i] = newCh; } -void -Simstr::replace_all(const Simstr & oldS, const Simstr & newS) -{ - Simstr vgl; - int i = 0; - while (i <= len-oldS.len) - { - vgl = get(i,oldS.len); - if (strcmp(vgl.sz,oldS.sz) == 0) - { - replace(i,oldS.len,newS); - i += newS.len; - } - else - i++; - } -} - -void -Simstr::to_lower() -{ - for (int i = 0; i < len; i++) - sz[i] = (char) tolower(sz[i]); -} - - - // Simstr addition Simstr operator+(const char * str, const Simstr & S) diff --git a/xml2cmp/source/support/sistr.hxx b/xml2cmp/source/support/sistr.hxx index f48d2e63f9e9..ab5abdac9608 100644 --- a/xml2cmp/source/support/sistr.hxx +++ b/xml2cmp/source/support/sistr.hxx @@ -39,12 +39,6 @@ class Simstr // Constructors, destructor, '=' and typecasts Simstr( const char * str = 0); - Simstr( // Creates Simstr of 'anzahl' times 'txt'. - const char * txt, - int anzahl); - Simstr( - char c, // Creates Simstr of 'anzahl' times 'c'. - int anzahl); Simstr( // Creates Simstr out of a copy of the described bytes within 'anyBytes'. // Adds a '\0' at the end. const char * anybytes, @@ -63,8 +57,6 @@ class Simstr // nevertheless THAT WILL BE NOT CHANGED! // Typecasts to 'const char*' are performed automatically. int l() const; // Length of string without '\0' at end. - char & ch( int n); // Reference to sz[n]. Allows change of this char. - // !!! No safety, if n is out of the allowed range! Simstr operator+( const Simstr & S) const; Simstr & operator+=( @@ -86,25 +78,11 @@ class Simstr // 'List of characters' - functions - // get - functions - char get( int n) const; - char get_front() const; - char get_back() const; - Simstr get( int startPos, - int anzahl) const; - Simstr get_front( - int anzahl) const; - Simstr get_back( - int anzahl) const; // insert - functions - void insert( int pos, - char c); void push_front( char c); void push_back( char c); - void insert( int pos, - const Simstr & S); void push_front( const Simstr & S); void push_back( @@ -114,64 +92,24 @@ class Simstr int pos, int anzahl = 1); void remove_trailing_blanks(); - void pop_front( - int anzahl = 1); - void pop_back( - int anzahl = 1); - void rem_back_from( - int removeStartPos); - void remove_all( - char c); - void remove_all( // Starts search left. - const Simstr & S); - void strip(char c); // Removes all characters == c from front and back. - // c == ' ' removes also TABs !!! - void empty(); // Changes object to the value "". // search functions int pos_first( char c) const; - int pos_first_after( // Sucht ab erstem char nach startSearchPos - char c, - int startSearchPos) const; int pos_last( char c) const; - int pos_first( - const Simstr & S) const; - int pos_last( - const Simstr & S) const; - int count( - char c) const; bool is_empty() const; // Only true if object == "". bool is_no_text() const; // String may contain spaces or tabs. // substitution functions - void replace( - int pos, - char c); - void replace( - int startPos, - int anzahl, - const Simstr & S); void replace_all( char oldCh, char newCh); - void replace_all( - const Simstr & oldS, - const Simstr & newS); - void to_lower(); - // token functions // get...-functions return the token, separated by char 'c' and leave the object unchanged. // take...-functions return the same, but remove the token and the corresponding separator from the object. - Simstr get_first_token( - char c) const; Simstr get_last_token( char c) const; - Simstr take_first_token( - char c); - Simstr take_last_token( - char c); private: char * sz; diff --git a/xml2cmp/source/xcd/cr_html.cxx b/xml2cmp/source/xcd/cr_html.cxx index 56d7abd89fd0..1b28c6facb82 100644 --- a/xml2cmp/source/xcd/cr_html.cxx +++ b/xml2cmp/source/xcd/cr_html.cxx @@ -229,16 +229,6 @@ HtmlCreator::Write_ReferenceDocu( const Simstr & i_sName, void -HtmlCreator::PrintH1( const char * i_pText) -{ - static const char sH1a[] = "<H1 ALIGN=CENTER>"; - static const char sH1e[] = "</H1>"; - WriteStr(sH1a); - WriteStr(i_pText); - WriteStr(sH1e); -} - -void HtmlCreator::StartRow() { WriteStr( " <TR VALIGN=TOP>\n" ); diff --git a/xml2cmp/source/xcd/cr_html.hxx b/xml2cmp/source/xcd/cr_html.hxx index c4a98514e89a..0b0d07ff48f1 100644 --- a/xml2cmp/source/xcd/cr_html.hxx +++ b/xml2cmp/source/xcd/cr_html.hxx @@ -76,8 +76,6 @@ class HtmlCreator const Simstr & i_sRole, const Simstr & i_sTitle ); private: - void PrintH1( - const char * i_pText ); void StartRow(); void FinishRow(); void StartCell( |