summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cppu/inc/com/sun/star/uno/Sequence.h2
-rw-r--r--cppuhelper/inc/cppuhelper/factory.hxx4
-rw-r--r--cppuhelper/source/tdmgr.cxx34
-rw-r--r--jurt/com/sun/star/lib/uno/protocols/urp/Cache.java2
-rw-r--r--jurt/prj/build.lst1
-rw-r--r--jurt/test/com/sun/star/lib/uno/protocols/urp/Cache_Test.java100
-rw-r--r--jurt/test/com/sun/star/lib/uno/protocols/urp/Marshaling_Test.java17
-rw-r--r--jurt/test/com/sun/star/lib/uno/protocols/urp/Protocol_Test.java45
-rw-r--r--jurt/test/com/sun/star/lib/uno/protocols/urp/makefile.mk9
-rw-r--r--jvmfwk/source/elements.cxx93
-rw-r--r--jvmfwk/source/elements.hxx28
-rw-r--r--[-rwxr-xr-x]offapi/com/sun/star/awt/SpinEvent.idl0
-rw-r--r--offapi/com/sun/star/awt/UnoControlDialogModelProvider.idl55
-rw-r--r--[-rwxr-xr-x]offapi/com/sun/star/awt/UnoControlSpinButton.idl0
-rw-r--r--[-rwxr-xr-x]offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl0
-rw-r--r--[-rwxr-xr-x]offapi/com/sun/star/awt/XSpinField.idl0
-rw-r--r--[-rwxr-xr-x]offapi/com/sun/star/awt/XSpinListener.idl0
-rw-r--r--[-rwxr-xr-x]offapi/com/sun/star/awt/XSpinValue.idl0
-rw-r--r--offapi/com/sun/star/awt/grid/UnoControlGridModel.idl2
-rw-r--r--offapi/com/sun/star/awt/makefile.mk1
-rw-r--r--offapi/com/sun/star/awt/tab/TabPageActivatedEvent.idl56
-rw-r--r--offapi/com/sun/star/awt/tab/UnoControlTabPage.idl56
-rw-r--r--offapi/com/sun/star/awt/tab/UnoControlTabPageContainer.idl55
-rw-r--r--offapi/com/sun/star/awt/tab/UnoControlTabPageContainerModel.idl55
-rw-r--r--offapi/com/sun/star/awt/tab/UnoControlTabPageModel.idl56
-rw-r--r--offapi/com/sun/star/awt/tab/XTabPage.idl52
-rw-r--r--offapi/com/sun/star/awt/tab/XTabPageContainer.idl109
-rw-r--r--offapi/com/sun/star/awt/tab/XTabPageContainerListener.idl57
-rw-r--r--offapi/com/sun/star/awt/tab/XTabPageContainerModel.idl53
-rw-r--r--offapi/com/sun/star/awt/tab/XTabPageModel.idl87
-rw-r--r--offapi/com/sun/star/awt/tab/makefile.mk (renamed from udkapi/prj/makefile.mk)51
-rw-r--r--offapi/com/sun/star/chart/ChartAxis.idl39
-rw-r--r--offapi/com/sun/star/chart/ChartAxisType.idl (renamed from offapi/com/sun/star/chart2/XUndoSupplier.idl)34
-rw-r--r--offapi/com/sun/star/chart/Diagram.idl10
-rw-r--r--offapi/com/sun/star/chart/TimeIncrement.idl67
-rw-r--r--offapi/com/sun/star/chart/TimeInterval.idl57
-rw-r--r--offapi/com/sun/star/chart/TimeUnit.idl (renamed from offapi/com/sun/star/chart2/Break.idl)16
-rwxr-xr-xoffapi/com/sun/star/chart/XAxis.idl60
-rwxr-xr-xoffapi/com/sun/star/chart/XAxisSupplier.idl61
-rw-r--r--offapi/com/sun/star/chart/XChartDocument.idl7
-rwxr-xr-xoffapi/com/sun/star/chart/XDateCategories.idl70
-rw-r--r--offapi/com/sun/star/chart/makefile.mk7
-rw-r--r--offapi/com/sun/star/chart2/AxisType.idl3
-rw-r--r--offapi/com/sun/star/chart2/ExplicitIncrementData.idl96
-rw-r--r--offapi/com/sun/star/chart2/ExplicitScaleData.idl45
-rw-r--r--offapi/com/sun/star/chart2/ExplicitSubIncrement.idl30
-rw-r--r--offapi/com/sun/star/chart2/IncrementData.idl4
-rw-r--r--offapi/com/sun/star/chart2/ScaleData.idl36
-rw-r--r--offapi/com/sun/star/chart2/StandardDiagramCreationParameters.idl5
-rw-r--r--offapi/com/sun/star/chart2/SubIncrement.idl4
-rwxr-xr-xoffapi/com/sun/star/chart2/XAnyDescriptionAccess.idl103
-rw-r--r--offapi/com/sun/star/chart2/XAxis.idl26
-rw-r--r--offapi/com/sun/star/chart2/XCoordinateSystem.idl26
-rw-r--r--offapi/com/sun/star/chart2/XDiagram.idl27
-rw-r--r--offapi/com/sun/star/chart2/XPlotter.idl128
-rw-r--r--offapi/com/sun/star/chart2/XUndoHelper.idl90
-rw-r--r--offapi/com/sun/star/chart2/XUndoManager.idl111
-rw-r--r--offapi/com/sun/star/chart2/makefile.mk9
-rw-r--r--offapi/com/sun/star/deployment/XExtensionManager.idl21
-rw-r--r--offapi/com/sun/star/deployment/XPackageRegistry.idl7
-rwxr-xr-xoffapi/com/sun/star/document/EmptyUndoStackException.idl51
-rw-r--r--offapi/com/sun/star/document/OfficeDocument.idl40
-rwxr-xr-xoffapi/com/sun/star/document/UndoContextNotClosedException.idl51
-rwxr-xr-xoffapi/com/sun/star/document/UndoFailedException.idl56
-rwxr-xr-xoffapi/com/sun/star/document/UndoManagerEvent.idl63
-rwxr-xr-xoffapi/com/sun/star/document/XUndoAction.idl76
-rwxr-xr-xoffapi/com/sun/star/document/XUndoManager.idl337
-rwxr-xr-xoffapi/com/sun/star/document/XUndoManagerListener.idl144
-rwxr-xr-xoffapi/com/sun/star/document/XUndoManagerSupplier.idl55
-rw-r--r--offapi/com/sun/star/document/makefile.mk10
-rw-r--r--offapi/com/sun/star/linguistic2/XLanguageGuessing.idl4
-rwxr-xr-xoffapi/com/sun/star/script/vba/VBAMacroResolver.idl49
-rwxr-xr-xoffapi/com/sun/star/script/vba/XVBAMacroResolver.idl94
-rwxr-xr-xoffapi/com/sun/star/script/vba/makefile.mk2
-rw-r--r--offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl4
-rw-r--r--offapi/com/sun/star/sheet/SheetFilterDescriptor.idl27
-rwxr-xr-xoffapi/com/sun/star/sheet/SpreadsheetViewObjectsMode.idl61
-rw-r--r--offapi/com/sun/star/sheet/SpreadsheetViewSettings.idl10
-rw-r--r--offapi/com/sun/star/sheet/TableFilterField.idl11
-rw-r--r--offapi/com/sun/star/sheet/TableFilterField2.idl12
-rw-r--r--offapi/com/sun/star/sheet/XDatabaseRange.idl12
-rw-r--r--offapi/com/sun/star/sheet/XSheetFilterDescriptor.idl14
-rw-r--r--offapi/com/sun/star/sheet/XSheetFilterDescriptor2.idl12
-rw-r--r--offapi/com/sun/star/sheet/makefile.mk1
-rw-r--r--[-rwxr-xr-x]offapi/com/sun/star/text/PrintPreviewSettings.idl0
-rw-r--r--offapi/com/sun/star/util/DiskFullException.idl2
-rw-r--r--offapi/com/sun/star/util/FileIOException.idl3
-rwxr-xr-xoffapi/com/sun/star/util/NotLockedException.idl50
-rw-r--r--offapi/com/sun/star/util/XBroadcaster.idl6
-rwxr-xr-xoffapi/com/sun/star/util/XLockable.idl79
-rw-r--r--offapi/com/sun/star/util/makefile.mk2
-rw-r--r--offapi/prj/build.lst3
-rw-r--r--offapi/prj/d.lst2
-rw-r--r--offapi/util/makefile.mk1
-rw-r--r--offuh/prj/d.lst3
-rw-r--r--pyuno/demo/pyunoenv.tcsh7
-rw-r--r--sal/inc/sal/types.h2
-rw-r--r--sal/osl/all/makefile.mk6
-rw-r--r--sal/osl/all/printtrace.cxx65
-rw-r--r--sal/osl/inc/printtrace.h46
-rw-r--r--sal/osl/os2/diagnose.c26
-rw-r--r--sal/osl/unx/diagnose.c32
-rwxr-xr-x[-rw-r--r--]sal/osl/w32/diagnose.c37
-rw-r--r--sal/systools/win32/uwinapi/ResolveUnicows.cpp5
-rw-r--r--[-rwxr-xr-x]stoc/source/simpleregistry/simpleregistry.cxx0
-rw-r--r--[-rwxr-xr-x]xmlreader/prj/d.lst0
106 files changed, 2972 insertions, 880 deletions
diff --git a/cppu/inc/com/sun/star/uno/Sequence.h b/cppu/inc/com/sun/star/uno/Sequence.h
index da9906533583e..71bb42c7413b2 100644
--- a/cppu/inc/com/sun/star/uno/Sequence.h
+++ b/cppu/inc/com/sun/star/uno/Sequence.h
@@ -125,7 +125,7 @@ public:
@param len initial sequence length
*/
- inline Sequence( sal_Int32 len );
+ inline explicit Sequence( sal_Int32 len );
/** Destructor: Releases sequence handle. Last handle will destruct
elements and free memory.
diff --git a/cppuhelper/inc/cppuhelper/factory.hxx b/cppuhelper/inc/cppuhelper/factory.hxx
index 579ee876cb394..2f1afcab17262 100644
--- a/cppuhelper/inc/cppuhelper/factory.hxx
+++ b/cppuhelper/inc/cppuhelper/factory.hxx
@@ -27,9 +27,7 @@
#ifndef _CPPUHELPER_FACTORY_HXX_
#define _CPPUHELPER_FACTORY_HXX_
-#ifndef _RTL_STRING_HXX_
#include <rtl/ustring.hxx>
-#endif
#include <uno/dispatcher.h>
#include <rtl/unload.h>
@@ -54,7 +52,7 @@ typedef struct _uno_Environment uno_Environment;
compiled it. If the environment is NOT session specific (needs no additional context),
then this function should return the environment type name and leave ppEnv (to 0).
- @paramppEnvTypeName environment type name; string must be constant
+ @param ppEnvTypeName environment type name; string must be constant
@param ppEnv function returns its environment if the environment is session specific,
i.e. has special context
*/
diff --git a/cppuhelper/source/tdmgr.cxx b/cppuhelper/source/tdmgr.cxx
index 1174c1822fb6a..4a8a88f2093ae 100644
--- a/cppuhelper/source/tdmgr.cxx
+++ b/cppuhelper/source/tdmgr.cxx
@@ -27,6 +27,11 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_cppuhelper.hxx"
+
+#include "sal/config.h"
+
+#include <vector>
+
#include <sal/alloca.h>
#include <osl/diagnose.h>
@@ -45,7 +50,7 @@
#include <com/sun/star/reflection/XEnumTypeDescription.hpp>
#include <com/sun/star/reflection/XIndirectTypeDescription.hpp>
#include <com/sun/star/reflection/XInterfaceMemberTypeDescription.hpp>
-#include <com/sun/star/reflection/XInterfaceAttributeTypeDescription.hpp>
+#include <com/sun/star/reflection/XInterfaceAttributeTypeDescription2.hpp>
#include <com/sun/star/reflection/XMethodParameter.hpp>
#include <com/sun/star/reflection/XInterfaceMethodTypeDescription.hpp>
#include <com/sun/star/reflection/XInterfaceTypeDescription2.hpp>
@@ -302,7 +307,7 @@ inline static typelib_TypeDescription * createCTD(
}
//==================================================================================================
inline static typelib_TypeDescription * createCTD(
- const Reference< XInterfaceAttributeTypeDescription > & xAttribute )
+ const Reference< XInterfaceAttributeTypeDescription2 > & xAttribute )
{
typelib_TypeDescription * pRet = 0;
if (xAttribute.is())
@@ -310,14 +315,31 @@ inline static typelib_TypeDescription * createCTD(
OUString aMemberName( xAttribute->getName() );
Reference< XTypeDescription > xType( xAttribute->getType() );
OUString aMemberTypeName( xType->getName() );
-
- typelib_typedescription_newInterfaceAttribute(
+ std::vector< rtl_uString * > getExc;
+ Sequence< Reference< XCompoundTypeDescription > > getExcs(
+ xAttribute->getGetExceptions() );
+ for (sal_Int32 i = 0; i != getExcs.getLength(); ++i)
+ {
+ OSL_ASSERT( getExcs[i].is() );
+ getExc.push_back( getExcs[i]->getName().pData );
+ }
+ std::vector< rtl_uString * > setExc;
+ Sequence< Reference< XCompoundTypeDescription > > setExcs(
+ xAttribute->getSetExceptions() );
+ for (sal_Int32 i = 0; i != setExcs.getLength(); ++i)
+ {
+ OSL_ASSERT( setExcs[i].is() );
+ setExc.push_back( setExcs[i]->getName().pData );
+ }
+ typelib_typedescription_newExtendedInterfaceAttribute(
(typelib_InterfaceAttributeTypeDescription **)&pRet,
xAttribute->getPosition(),
aMemberName.pData, // name
(typelib_TypeClass)xType->getTypeClass(),
aMemberTypeName.pData, // type name
- xAttribute->isReadOnly() );
+ xAttribute->isReadOnly(),
+ getExc.size(), getExc.empty() ? 0 : &getExc[0],
+ setExc.size(), setExc.empty() ? 0 : &setExc[0] );
}
return pRet;
}
@@ -643,7 +665,7 @@ static typelib_TypeDescription * createCTD(
pRet = createCTD( Reference< XInterfaceMethodTypeDescription >::query( xType ) );
break;
case TypeClass_INTERFACE_ATTRIBUTE:
- pRet = createCTD( Reference< XInterfaceAttributeTypeDescription >::query( xType ) );
+ pRet = createCTD( Reference< XInterfaceAttributeTypeDescription2 >::query( xType ) );
break;
default:
break;
diff --git a/jurt/com/sun/star/lib/uno/protocols/urp/Cache.java b/jurt/com/sun/star/lib/uno/protocols/urp/Cache.java
index 48268a53a260d..d9c57af30ccee 100644
--- a/jurt/com/sun/star/lib/uno/protocols/urp/Cache.java
+++ b/jurt/com/sun/star/lib/uno/protocols/urp/Cache.java
@@ -52,7 +52,7 @@ final class Cache {
if (e == null) {
if (map.size() < maxSize) {
// There is still room for a new entry at the front:
- e = new Entry(content, map.size(), last, null);
+ e = new Entry(content, map.size(), null, first);
if (first == null) {
last = e;
} else {
diff --git a/jurt/prj/build.lst b/jurt/prj/build.lst
index 9b9b722bc3aeb..6ba92a9ec6b6c 100644
--- a/jurt/prj/build.lst
+++ b/jurt/prj/build.lst
@@ -17,3 +17,4 @@ ju jurt\com\sun\star\comp\urlresolver nmake - all ju_urlres ju_co_loader NULL
ju jurt\source\pipe nmake - all ju_src_pipe NULL
ju jurt\source\pipe\wrapper nmake - w ju_src_pipe_wrapper NULL
ju jurt\util nmake - all ju_ut ju_brid_jrm ju_co_bfactr ju_con ju_con_sock ju_con_pipe ju_cssl_uno ju_env_java ju_prot_urp ju_servman ju_urlres ju_src_pipe ju_libutil ju_uno NULL
+ju jurt\test\com\sun\star\lib\uno\protocols\urp nmake - all ju_test_css_lib_uno_protocols_urp NULL
diff --git a/jurt/test/com/sun/star/lib/uno/protocols/urp/Cache_Test.java b/jurt/test/com/sun/star/lib/uno/protocols/urp/Cache_Test.java
index 31d3454bde489..2deb525adeac2 100644
--- a/jurt/test/com/sun/star/lib/uno/protocols/urp/Cache_Test.java
+++ b/jurt/test/com/sun/star/lib/uno/protocols/urp/Cache_Test.java
@@ -27,80 +27,114 @@
package com.sun.star.lib.uno.protocols.urp;
-import complexlib.ComplexTestCase;
+import org.junit.Test;
+import static org.junit.Assert.*;
-public final class Cache_Test extends ComplexTestCase {
- public String[] getTestMethodNames() {
- return new String[] { "test0", "test1", "test2", "test3" };
- }
-
- public void test0() {
+public final class Cache_Test {
+ @Test public void test0() {
Cache c = new Cache(0);
boolean[] f = new boolean[1];
int i;
i = c.add(f, "a");
- assure("1", i == Cache.NOT_CACHED && !f[0]);
+ assertTrue(i == Cache.NOT_CACHED && !f[0]);
i = c.add(f, "a");
- assure("2", i == Cache.NOT_CACHED && !f[0]);
+ assertTrue(i == Cache.NOT_CACHED && !f[0]);
i = c.add(f, "b");
- assure("3", i == Cache.NOT_CACHED && !f[0]);
+ assertTrue(i == Cache.NOT_CACHED && !f[0]);
i = c.add(f, "a");
- assure("4", i == Cache.NOT_CACHED && !f[0]);
+ assertTrue(i == Cache.NOT_CACHED && !f[0]);
}
- public void test1() {
+ @Test public void test1() {
Cache c = new Cache(1);
boolean[] f = new boolean[1];
int i;
i = c.add(f, "a");
- assure("1", i == 0 && !f[0]);
+ assertTrue(i == 0 && !f[0]);
i = c.add(f, "a");
- assure("2", i == 0 && f[0]);
+ assertTrue(i == 0 && f[0]);
i = c.add(f, "b");
- assure("3", i == 0 && !f[0]);
+ assertTrue(i == 0 && !f[0]);
i = c.add(f, "b");
- assure("4", i == 0 && f[0]);
+ assertTrue(i == 0 && f[0]);
i = c.add(f, "a");
- assure("5", i == 0 && !f[0]);
+ assertTrue(i == 0 && !f[0]);
}
- public void test2() {
+ @Test public void test2() {
Cache c = new Cache(2);
boolean[] f = new boolean[1];
int i;
i = c.add(f, "a");
- assure("1", i == 0 && !f[0]);
+ assertTrue(i == 0 && !f[0]);
i = c.add(f, "a");
- assure("2", i == 0 && f[0]);
+ assertTrue(i == 0 && f[0]);
i = c.add(f, "b");
- assure("3", i == 1 && !f[0]);
+ assertTrue(i == 1 && !f[0]);
i = c.add(f, "b");
- assure("4", i == 1 && f[0]);
+ assertTrue(i == 1 && f[0]);
i = c.add(f, "a");
- assure("5", i == 0 && f[0]);
+ assertTrue(i == 0 && f[0]);
i = c.add(f, "c");
- assure("6", i == 1 && !f[0]);
+ assertTrue(i == 1 && !f[0]);
i = c.add(f, "b");
- assure("7", i == 0 && !f[0]);
+ assertTrue(i == 0 && !f[0]);
}
- public void test3() {
+ @Test public void test3() {
Cache c = new Cache(3);
boolean[] f = new boolean[1];
int i;
i = c.add(f, "a");
- assure("1", i == 0 && !f[0]);
+ assertTrue(i == 0 && !f[0]);
i = c.add(f, "a");
- assure("3", i == 0 && f[0]);
+ assertTrue(i == 0 && f[0]);
i = c.add(f, "b");
- assure("5", i == 1 && !f[0]);
+ assertTrue(i == 1 && !f[0]);
i = c.add(f, "a");
- assure("3", i == 0 && f[0]);
+ assertTrue(i == 0 && f[0]);
i = c.add(f, "c");
- assure("7", i == 2 && !f[0]);
+ assertTrue(i == 2 && !f[0]);
i = c.add(f, "d");
- assure("9", i == 1 && !f[0]);
+ assertTrue(i == 1 && !f[0]);
i = c.add(f, "d");
- assure("11", i == 1 && f[0]);
+ assertTrue(i == 1 && f[0]);
+ }
+
+ @Test public void testNothingLostFromLruList() {
+ // Regardless in what order arbitrary values from 0, ..., 3 are inserted
+ // into a size-4 cache, afterwards adding -1, ..., -4 must return each
+ // possible index in the range from 0, ..., 3 exactly once (so their sum
+ // must be 6); this code systematically tests all such arbitrary ways up
+ // to length 8 (the code arguably violates recommendations for writing
+ // good tests, but actually helped track down an error in the Cache
+ // implementation):
+ int[] a = new int[8];
+ for (int i = 0; i < a.length; ++i) {
+ for (int j = 0; j < i; ++j) {
+ a[j] = 0;
+ }
+ for (;;) {
+ Cache c = new Cache(4);
+ for (int k = 0; k < i; ++k) {
+ c.add(new boolean[1], a[k]);
+ }
+ assertEquals(
+ 6,
+ (c.add(new boolean[1], -1) + c.add(new boolean[1], -2) +
+ c.add(new boolean[1], -3) + c.add(new boolean[1], -4)));
+ int j = i - 1;
+ while (j >= 0 && a[j] == 3) {
+ --j;
+ }
+ if (j < 0) {
+ break;
+ }
+ ++a[j];
+ for (int k = j + 1; k < i; ++k) {
+ a[k] = 0;
+ }
+ }
+ }
}
}
diff --git a/jurt/test/com/sun/star/lib/uno/protocols/urp/Marshaling_Test.java b/jurt/test/com/sun/star/lib/uno/protocols/urp/Marshaling_Test.java
index 4c01e9acc9c6d..2621006faf95b 100644
--- a/jurt/test/com/sun/star/lib/uno/protocols/urp/Marshaling_Test.java
+++ b/jurt/test/com/sun/star/lib/uno/protocols/urp/Marshaling_Test.java
@@ -32,21 +32,14 @@ import com.sun.star.uno.IBridge;
import com.sun.star.uno.Type;
import com.sun.star.uno.TypeClass;
import com.sun.star.uno.XInterface;
-import complexlib.ComplexTestCase;
import java.lang.reflect.Array;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
+import org.junit.Test;
+import static org.junit.Assert.*;
-public final class Marshaling_Test extends ComplexTestCase {
- public String getTestObjectName() {
- return getClass().getName();
- }
-
- public String[] getTestMethodNames() {
- return new String[] { "test" };
- }
-
- public void test() throws Exception {
+public final class Marshaling_Test {
+ @Test public void test() throws Exception {
short cacheSize = (short)256;
TestBridge testBridge = new TestBridge();
Marshal marshal = new Marshal(testBridge, cacheSize);
@@ -239,7 +232,7 @@ public final class Marshaling_Test extends ComplexTestCase {
if(op1 instanceof Any)
op1 = ((Any)op1).getObject();
- assure("", compareObjects(op1, op2));
+ assertTrue(compareObjects(op1, op2));
}
}
diff --git a/jurt/test/com/sun/star/lib/uno/protocols/urp/Protocol_Test.java b/jurt/test/com/sun/star/lib/uno/protocols/urp/Protocol_Test.java
index 393720c9756d7..6a74710625e90 100644
--- a/jurt/test/com/sun/star/lib/uno/protocols/urp/Protocol_Test.java
+++ b/jurt/test/com/sun/star/lib/uno/protocols/urp/Protocol_Test.java
@@ -34,20 +34,17 @@ import com.sun.star.uno.Any;
import com.sun.star.uno.IBridge;
import com.sun.star.uno.Type;
import com.sun.star.uno.XInterface;
-import complexlib.ComplexTestCase;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PipedInputStream;
import java.io.PipedOutputStream;
import java.util.LinkedList;
+import org.junit.Test;
+import static org.junit.Assert.*;
-public final class Protocol_Test extends ComplexTestCase {
- public String[] getTestMethodNames() {
- return new String[] { "test" };
- }
-
- public void test() throws Exception {
+public final class Protocol_Test {
+ @Test public void test() throws Exception {
IBridge iBridge = new TestBridge();
PipedInputStream inA = new PipedInputStream();
PipedOutputStream outA = new PipedOutputStream(inA);
@@ -93,7 +90,7 @@ public final class Protocol_Test extends ComplexTestCase {
new Object[] { "hallo" });
Message iMessage = iReceiver.readMessage();
Object[] t_params = iMessage.getArguments();
- assure("", "hallo".equals((String)t_params[0]));
+ assertEquals("hallo", (String)t_params[0]);
// send a reply
iReceiver.writeReply(false, new ThreadId(new byte[] { 0, 1 }), null);
@@ -118,7 +115,7 @@ public final class Protocol_Test extends ComplexTestCase {
iReceiver.writeReply(false, new ThreadId(new byte[] { 0, 1 }), null);
iSender.readMessage();
- assure("", "testString".equals(((String [])params[0])[0]));
+ assertEquals("testString", ((String [])params[0])[0]);
}
public void testCallWithInOutParameter(
@@ -133,7 +130,7 @@ public final class Protocol_Test extends ComplexTestCase {
Object[] t_params = iMessage.getArguments();
- assure("", "inString".equals(((String [])t_params[0])[0]));
+ assertEquals("inString", ((String [])t_params[0])[0]);
// provide reply
((String [])t_params[0])[0] = "outString";
@@ -142,7 +139,7 @@ public final class Protocol_Test extends ComplexTestCase {
iReceiver.writeReply(false, new ThreadId(new byte[] { 0, 1 }), null);
iSender.readMessage();
- assure("", "outString".equals(((String [])params[0])[0]));
+ assertEquals("outString", ((String [])params[0])[0]);
}
public void testCallWithResult(
@@ -161,7 +158,7 @@ public final class Protocol_Test extends ComplexTestCase {
Message iMessage = iSender.readMessage();
Object result = iMessage.getResult();
- assure("", "resultString".equals(result));
+ assertEquals("resultString", result);
}
public void testCallWhichRaisesException(
@@ -181,7 +178,7 @@ public final class Protocol_Test extends ComplexTestCase {
Object result = iMessage.getResult();
- assure("", result instanceof com.sun.star.uno.RuntimeException);
+ assertTrue(result instanceof com.sun.star.uno.RuntimeException);
}
public void testCallWithIn_Out_InOut_Paramters_and_result(
@@ -196,9 +193,9 @@ public final class Protocol_Test extends ComplexTestCase {
Object[] t_params = iMessage.getArguments();
- assure("", "hallo".equals((String)t_params[0]));
+ assertEquals("hallo", (String)t_params[0]);
- assure("", "inOutString".equals(((String [])t_params[2])[0]));
+ assertEquals("inOutString", ((String [])t_params[2])[0]);
((String [])t_params[1])[0] = "outString";
((String [])t_params[2])[0] = "inOutString_res";
@@ -209,11 +206,11 @@ public final class Protocol_Test extends ComplexTestCase {
iMessage = iSender.readMessage();
Object result = iMessage.getResult();
- assure("", "outString".equals(((String [])params[1])[0]));
+ assertEquals("outString", ((String [])params[1])[0]);
- assure("", "inOutString_res".equals(((String [])params[2])[0]));
+ assertEquals("inOutString_res", ((String [])params[2])[0]);
- assure("", "resultString".equals(result));
+ assertEquals("resultString", result);
}
public void testCallWhichReturnsAny(
@@ -229,9 +226,11 @@ public final class Protocol_Test extends ComplexTestCase {
false, new ThreadId(new byte[] { 0, 1 }), Any.VOID);
Message iMessage = iSender.readMessage();
Object result = iMessage.getResult();
- assure("", result instanceof Any
- && (TypeDescription.getTypeDescription(((Any) result).getType()).
- getZClass() == void.class));
+ assertTrue(
+ result instanceof Any &&
+ ((TypeDescription.getTypeDescription(((Any) result).getType()).
+ getZClass()) ==
+ void.class));
// send an ordinary request
iSender.writeRequest(
@@ -244,7 +243,7 @@ public final class Protocol_Test extends ComplexTestCase {
new Any(XInterface.class, null));
iMessage = iSender.readMessage();
result = iMessage.getResult();
- assure("", result == null);
+ assertNull(result);
// send an ordinary request
iSender.writeRequest(
@@ -256,7 +255,7 @@ public final class Protocol_Test extends ComplexTestCase {
false, new ThreadId(new byte[] { 0, 1 }), new Integer(501));
iMessage = iSender.readMessage();
result = iMessage.getResult();
- assure("", result.equals(new Integer(501)));
+ assertEquals(501, result);
}
private static final class Endpoint {
diff --git a/jurt/test/com/sun/star/lib/uno/protocols/urp/makefile.mk b/jurt/test/com/sun/star/lib/uno/protocols/urp/makefile.mk
index c6e66558b65d3..8403b2bd71edd 100644
--- a/jurt/test/com/sun/star/lib/uno/protocols/urp/makefile.mk
+++ b/jurt/test/com/sun/star/lib/uno/protocols/urp/makefile.mk
@@ -24,10 +24,16 @@
# for a copy of the LGPLv3 License.
#
#*************************************************************************
+
+.IF "$(OOO_SUBSEQUENT_TESTS)" == ""
+nothing .PHONY:
+.ELSE
+
PRJ := ..$/..$/..$/..$/..$/..$/..$/..
PRJNAME := jurt
TARGET := test_com_sun_star_lib_uno_protocols_urp
+.IF "$(OOO_JUNIT_JAR)" != ""
PACKAGE := com$/sun$/star$/lib$/uno$/protocols$/urp
JAVATESTFILES := \
Cache_Test.java \
@@ -38,5 +44,8 @@ JAVAFILES := \
TestObject.java
JARFILES := ridl.jar
IDLTESTFILES := interfaces.idl
+.END
.INCLUDE: javaunittest.mk
+
+.END
diff --git a/jvmfwk/source/elements.cxx b/jvmfwk/source/elements.cxx
index 9674c28d54dfd..8ed982f345234 100644
--- a/jvmfwk/source/elements.cxx
+++ b/jvmfwk/source/elements.cxx
@@ -51,16 +51,16 @@ using namespace osl;
namespace jfw
{
-rtl::OString getElementUpdated()
+rtl::OString getElement(::rtl::OString const & docPath,
+ xmlChar const * pathExpression, bool bThrowIfEmpty)
{
//Prepare the xml document and context
- rtl::OString sSettingsPath = jfw::getVendorSettingsPath();
- OSL_ASSERT(sSettingsPath.getLength() > 0);
- jfw::CXmlDocPtr doc(xmlParseFile(sSettingsPath.getStr()));
+ OSL_ASSERT(docPath.getLength() > 0);
+ jfw::CXmlDocPtr doc(xmlParseFile(docPath.getStr()));
if (doc == NULL)
throw FrameworkException(
JFW_E_ERROR,
- rtl::OString("[Java framework] Error in function getElementUpdated "
+ rtl::OString("[Java framework] Error in function getElement "
"(elements.cxx)"));
jfw::CXPathContextPtr context(xmlXPathNewContext(doc));
@@ -68,20 +68,42 @@ rtl::OString getElementUpdated()
(xmlChar*) NS_JAVA_FRAMEWORK) == -1)
throw FrameworkException(
JFW_E_ERROR,
- rtl::OString("[Java framework] Error in function getElementUpdated "
+ rtl::OString("[Java framework] Error in function getElement "
"(elements.cxx)"));
+
CXPathObjectPtr pathObj;
- pathObj = xmlXPathEvalExpression(
- (xmlChar*)"/jf:javaSelection/jf:updated/text()", context);
+ pathObj = xmlXPathEvalExpression(pathExpression, context);
+ rtl::OString sValue;
if (xmlXPathNodeSetIsEmpty(pathObj->nodesetval))
- throw FrameworkException(
- JFW_E_ERROR,
- rtl::OString("[Java framework] Error in function getElementUpdated "
- "(elements.cxx)"));
- rtl::OString sValue = (sal_Char*) pathObj->nodesetval->nodeTab[0]->content;
+ {
+ if (bThrowIfEmpty)
+ throw FrameworkException(
+ JFW_E_ERROR,
+ rtl::OString("[Java framework] Error in function getElement "
+ "(elements.cxx)"));
+ }
+ else
+ {
+ sValue = (sal_Char*) pathObj->nodesetval->nodeTab[0]->content;
+ }
return sValue;
}
+rtl::OString getElementUpdated()
+{
+ return getElement(jfw::getVendorSettingsPath(),
+ (xmlChar*)"/jf:javaSelection/jf:updated/text()", true);
+}
+
+// Use only in INSTALL mode !!!
+rtl::OString getElementModified()
+{
+ //The modified element is only written in INSTALL mode.
+ //That is NodeJava::m_layer = INSTALL
+ return getElement(jfw::getInstallSettingsPath(),
+ (xmlChar*)"/jf:java/jf:modified/text()", false);
+}
+
void createSettingsStructure(xmlDoc * document, bool * bNeedsSave)
{
@@ -579,6 +601,21 @@ void NodeJava::write() const
xmlAddChild(jreLocationsNode, nodeCrLf);
}
}
+
+ if (INSTALL == m_layer)
+ {
+ //now write the current system time
+ ::TimeValue curTime = {0,0};
+ if (::osl_getSystemTime(& curTime))
+ {
+ rtl::OUString sSeconds =
+ rtl::OUString::valueOf((sal_Int64) curTime.Seconds);
+ xmlNewTextChild(
+ root,NULL, (xmlChar*) "modified", CXmlCharPtr(sSeconds));
+ xmlNode * nodeCrLf = xmlNewText((xmlChar*) "\n");
+ xmlAddChild(root, nodeCrLf);
+ }
+ }
if (xmlSaveFormatFile(sSettingsPath.getStr(), docUser, 1) == -1)
throw FrameworkException(JFW_E_ERROR, sExcMsg);
}
@@ -721,7 +758,7 @@ jfw::FileStatus NodeJava::checkSettingsFileStatus() const
File::RC rc_stat = item.getFileStatus(stat);
if (File::E_None == rc_stat)
{
- //ToDo we remove the file and create it shortly after. This
+ // This
//function may be called multiple times when a java is started.
//If the expiretime is too small then we may loop because everytime
//the file is deleted and we need to search for a java again.
@@ -732,20 +769,27 @@ jfw::FileStatus NodeJava::checkSettingsFileStatus() const
//that after removing the file and shortly later creating it again
//did not change the creation time. That is the newly created file
//had the creation time of the former file.
-// ::TimeValue time = stat.getCreationTime();
- ::TimeValue modTime = stat.getModifyTime();
+ // ::TimeValue modTime = stat.getModifyTime();
::TimeValue curTime = {0,0};
+ ret = FILE_OK;
if (sal_True == ::osl_getSystemTime(& curTime))
{
- if ( curTime.Seconds - modTime.Seconds >
+ //get the modified time recorded in the <modified> element
+ sal_uInt32 modified = getModifiedTime();
+ OSL_ASSERT(modified <= curTime.Seconds);
+ //Only if modified has a valued then NodeJava::write was called,
+ //then the xml structure was filled with data.
+
+ if ( modified && curTime.Seconds - modified >
BootParams::getInstallDataExpiration())
{
#if OSL_DEBUG_LEVEL >=2
+ fprintf(stderr, "[Java framework] Settings file is %d seconds old. \n",
+ (int)( curTime.Seconds - modified));
rtl::OString s = rtl::OUStringToOString(sURL, osl_getThreadTextEncoding());
- fprintf(stderr, "[Java framework] Deleting settings file at \n%s\n", s.getStr());
+ fprintf(stderr, "[Java framework] Settings file is exspired. Deleting settings file at \n%s\n", s.getStr());
#endif
//delete file
-// File::RC rc_rem = File::remove(sURL);
File f(sURL);
if (File::E_None == f.open(OpenFlag_Write | OpenFlag_Read)
&& File::E_None == f.setPos(0, 0)
@@ -1093,6 +1137,17 @@ JavaInfo * CNodeJavaInfo::makeJavaInfo() const
return pInfo;
}
+sal_uInt32 NodeJava::getModifiedTime() const
+{
+ sal_uInt32 ret = 0;
+ if (m_layer != INSTALL)
+ {
+ OSL_ASSERT(0);
+ return ret;
+ }
+ rtl::OString modTimeSeconds = getElementModified();
+ return (sal_uInt32) modTimeSeconds.toInt64();
+}
//================================================================================
MergedSettings::MergedSettings():
diff --git a/jvmfwk/source/elements.hxx b/jvmfwk/source/elements.hxx
index a4ca1a83fc3dd..ec0e06dc5bab7 100644
--- a/jvmfwk/source/elements.hxx
+++ b/jvmfwk/source/elements.hxx
@@ -195,6 +195,34 @@ private:
*/
boost::optional< ::std::vector< ::rtl::OUString> > m_JRELocations;
+ /** Only in INSTALL mode. Then NodeJava.write writes a <modified> element
+ which contains the seconds value of the TimeValue (osl/time.h), obtained
+ with osl_getSystemTime.
+ It returns 0 if the value cannot be obtained.
+ This is used to fix the problem that the modified time of the settings
+ file is incorrect because it resides on an NFS volume where the NFS
+ server and NFS client do not have the same system time. For example if
+ the server time is ahead of the client time then checkSettingsFileStatus
+ deleted the settings. So even if javaldx determined a Java
+ (jfw_findAndSelectJRE) then jfw_startVM returned a JFW_E_NO_SELECT. Then
+ it looked again for a java by calling jfw_findAndSelectJRE, which
+ returned a JFW_E_NONE. But the following jfw_startVM returned again
+ JFW_E_NO_SELECT. So it looped. (see issue i114509)
+
+ NFS server and NFS client should have the same time. It is common
+ practise to enforce this in networks. We actually should not work
+ around a malconfigured network. We must however, make sure that we do
+ not loop. Maybe a better approach is, that:
+ - assume that mtime and system time are reliable
+ - checkSettingsFile uses system time and mtime of the settings file,
+ instset of using getModifiedTime.
+ - allow a small error margin
+ - jfw_startVM must return a JFW_E_EXPIRED_SETTINGS
+ - XJavaVM::startVM should prevent the loop by processing the new return+ value
+
+ */
+ sal_uInt32 getModifiedTime() const;
+
public:
NodeJava(Layer theLayer = USER_OR_INSTALL);
diff --git a/offapi/com/sun/star/awt/SpinEvent.idl b/offapi/com/sun/star/awt/SpinEvent.idl
index bcba2b554aad4..bcba2b554aad4 100755..100644
--- a/offapi/com/sun/star/awt/SpinEvent.idl
+++ b/offapi/com/sun/star/awt/SpinEvent.idl
diff --git a/offapi/com/sun/star/awt/UnoControlDialogModelProvider.idl b/offapi/com/sun/star/awt/UnoControlDialogModelProvider.idl
new file mode 100644
index 0000000000000..a91065f72d660
--- /dev/null
+++ b/offapi/com/sun/star/awt/UnoControlDialogModelProvider.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_UnoControlDialogModelProvider_idl__
+#define __com_sun_star_awt_UnoControlDialogModelProvider_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** specifies a service to load a dialog model and allows to access the control models inside
+
+ @since OOo 3.3.0
+ */
+service UnoControlDialogModelProvider : com::sun::star::container::XNameContainer
+{
+ /** Creates a new dialog model
+ */
+ create([in] string URL)raises ( com::sun::star::lang::IllegalArgumentException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/UnoControlSpinButton.idl b/offapi/com/sun/star/awt/UnoControlSpinButton.idl
index db8386c4304f6..db8386c4304f6 100755..100644
--- a/offapi/com/sun/star/awt/UnoControlSpinButton.idl
+++ b/offapi/com/sun/star/awt/UnoControlSpinButton.idl
diff --git a/offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl b/offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl
index cb55a369a15d0..cb55a369a15d0 100755..100644
--- a/offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlSpinButtonModel.idl
diff --git a/offapi/com/sun/star/awt/XSpinField.idl b/offapi/com/sun/star/awt/XSpinField.idl
index 580472c8372fe..580472c8372fe 100755..100644
--- a/offapi/com/sun/star/awt/XSpinField.idl
+++ b/offapi/com/sun/star/awt/XSpinField.idl
diff --git a/offapi/com/sun/star/awt/XSpinListener.idl b/offapi/com/sun/star/awt/XSpinListener.idl
index 05446c42d29ea..05446c42d29ea 100755..100644
--- a/offapi/com/sun/star/awt/XSpinListener.idl
+++ b/offapi/com/sun/star/awt/XSpinListener.idl
diff --git a/offapi/com/sun/star/awt/XSpinValue.idl b/offapi/com/sun/star/awt/XSpinValue.idl
index be02f115a2c2f..be02f115a2c2f 100755..100644
--- a/offapi/com/sun/star/awt/XSpinValue.idl
+++ b/offapi/com/sun/star/awt/XSpinValue.idl
diff --git a/offapi/com/sun/star/awt/grid/UnoControlGridModel.idl b/offapi/com/sun/star/awt/grid/UnoControlGridModel.idl
index 7eea49624045d..b9cf8745d96ec 100644
--- a/offapi/com/sun/star/awt/grid/UnoControlGridModel.idl
+++ b/offapi/com/sun/star/awt/grid/UnoControlGridModel.idl
@@ -80,7 +80,7 @@ service UnoControlGridModel
<p>You can implement your own instance of <type>XGridDataModel</type> or use
the <type>DefaultGridDataModel</type>.
*/
- [property] XGridDataModel DataModel;
+ [property] XGridDataModel GridDataModel;
/** Specifies the vertical scrollbar mode.
<p>The default value is <FALSE/></p>
diff --git a/offapi/com/sun/star/awt/makefile.mk b/offapi/com/sun/star/awt/makefile.mk
index b6cf34046ae96..c2397d81bf441 100644
--- a/offapi/com/sun/star/awt/makefile.mk
+++ b/offapi/com/sun/star/awt/makefile.mk
@@ -161,6 +161,7 @@ IDLFILES=\
UnoControlDialog.idl\
UnoControlDialogElement.idl\
UnoControlDialogModel.idl\
+ UnoControlDialogModelProvider.idl\
UnoControlEdit.idl\
UnoControlEditModel.idl\
UnoControlFileControl.idl\
diff --git a/offapi/com/sun/star/awt/tab/TabPageActivatedEvent.idl b/offapi/com/sun/star/awt/tab/TabPageActivatedEvent.idl
new file mode 100644
index 0000000000000..ef678395fe06e
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/TabPageActivatedEvent.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_tab_TabPageActivationEvent_idl__
+#define __com_sun_star_awt_tab_TabPageActivationEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module tab {
+
+//=============================================================================
+
+/** An event used by a <type>XTabPageContainer</type> to notify changes in tab page activation.
+
+ @since OOo 3.4
+ */
+struct TabPageActivatedEvent: com::sun::star::lang::EventObject
+{
+ /** Contains the ID of the tab page
+ */
+ short TabPageID;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/tab/UnoControlTabPage.idl b/offapi/com/sun/star/awt/tab/UnoControlTabPage.idl
new file mode 100644
index 0000000000000..6244b18e0c774
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/UnoControlTabPage.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_tab_UnoControlTabPage_idl__
+#define __com_sun_star_awt_tab_UnoControlTabPage_idl__
+
+#include <com/sun/star/awt/UnoControlContainer.idl>
+#include <com/sun/star/awt/tab/XTabPage.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module tab {
+
+//=============================================================================
+
+/** specifies a TabPage control.
+
+ @since OOo 3.4
+*/
+
+service UnoControlTabPage
+{
+ service com::sun::star::awt::UnoControlContainer;
+
+ interface XTabPage;
+
+};
+
+//=============================================================================
+
+ }; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/tab/UnoControlTabPageContainer.idl b/offapi/com/sun/star/awt/tab/UnoControlTabPageContainer.idl
new file mode 100644
index 0000000000000..488ce4b5354a5
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/UnoControlTabPageContainer.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_tab_UnoControlTabPageContainer_idl__
+#define __com_sun_star_awt_tab_UnoControlTabPageContainer_idl__
+
+#include <com/sun/star/awt/UnoControl.idl>
+#include <com/sun/star/awt/tab/XTabPageContainer.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module tab {
+
+//=============================================================================
+
+/** specifies a TabPageContainer control.
+
+ @since OOo 3.4
+ */
+service UnoControlTabPageContainer
+{
+ service com::sun::star::awt::UnoControl;
+
+ interface com::sun::star::awt::tab::XTabPageContainer;
+
+};
+
+//=============================================================================
+
+ }; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/tab/UnoControlTabPageContainerModel.idl b/offapi/com/sun/star/awt/tab/UnoControlTabPageContainerModel.idl
new file mode 100644
index 0000000000000..b97b7881b416d
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/UnoControlTabPageContainerModel.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_tab_UnoControlTabPageContainerModel_idl__
+#define __com_sun_star_awt_tab_UnoControlTabPageContainerModel_idl__
+
+#include <com/sun/star/awt/UnoControlModel.idl>
+#include <com/sun/star/awt/tab/XTabPageContainerModel.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module tab {
+
+//=============================================================================
+
+/** specifies a model for a UnoControlTabPageContainer control.
+
+ @since OOo 3.4
+ */
+service UnoControlTabPageContainerModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+ interface com::sun::star::awt::tab::XTabPageContainerModel;
+
+};
+
+//=============================================================================
+
+ }; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/tab/UnoControlTabPageModel.idl b/offapi/com/sun/star/awt/tab/UnoControlTabPageModel.idl
new file mode 100644
index 0000000000000..3508e33260c75
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/UnoControlTabPageModel.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_tab_UnoControlTabPageModel_idl__
+#define __com_sun_star_awt_tab_UnoControlTabPageModel_idl__
+
+#include <com/sun/star/awt/tab/XTabPageModel.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module tab {
+
+//=============================================================================
+
+/** specifies the standard model of a XTabPageModel.
+ @since OOo 3.4
+ */
+service UnoControlTabPageModel : XTabPageModel
+{
+ /** Creates a new XTabPageModel with a given ID.
+ */
+ create([in] short tabPageID);
+
+ /** Creates a new XTabPageModel with a given ID and a url which is used to load teh tab page model.
+ */
+ load([in] short tabPageID,[in] string url);
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/tab/XTabPage.idl b/offapi/com/sun/star/awt/tab/XTabPage.idl
new file mode 100644
index 0000000000000..616820071f5b8
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/XTabPage.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_tab_XTabPage_idl__
+#define __com_sun_star_awt_tab_XTabPage_idl__
+
+#include <com/sun/star/awt/tab/XTabPageModel.idl>
+//=============================================================================
+
+module com { module sun { module star { module awt { module tab {
+
+//=============================================================================
+
+/** An interface to a control that displays a tab page.
+
+ @see UnoControlTabPage
+
+ @since OOo 3.4
+ */
+interface XTabPage
+{
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/tab/XTabPageContainer.idl b/offapi/com/sun/star/awt/tab/XTabPageContainer.idl
new file mode 100644
index 0000000000000..e62cf4c365c1f
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/XTabPageContainer.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_tab_XTabPageContainer_idl__
+#define __com_sun_star_awt_tab_XTabPageContainer_idl__
+
+#include <com/sun/star/awt/tab/XTabPageContainerListener.idl>
+#include <com/sun/star/awt/tab/XTabPage.idl>
+//=============================================================================
+
+module com { module sun { module star { module awt { module tab {
+
+//=============================================================================
+
+/** An interface to a control that displays tab pages.
+
+ @see UnoControlTabPageContainer
+
+ @since OOo 3.4
+ */
+interface XTabPageContainer
+{
+ /** Returns the number of tab pages.
+ @returns
+ the number of tab pages.
+ */
+ long getTabPageCount();
+
+ //-------------------------------------------------------------------------
+
+ /** Checks whether a tab page is activated.
+ @param
+ the tab page to be checked.
+ @returns
+ <TRUE/> if tab page is activated, else <FALSE/>.
+ */
+ boolean isTabPageActive([in] short tabPageIndex);
+
+ //-------------------------------------------------------------------------
+
+ /** Returns tab page for the given index.
+ @param
+ tabPageIndex - index of the tab page in the IndexContainer.
+ @returns
+ tab page which has tabPageIndex.
+ */
+ XTabPage getTabPage([in] short tabPageIndex);
+
+ //-------------------------------------------------------------------------
+
+ /** Returns tab page for the given ID.
+ @param
+ tabPageID - ID of the tab page.
+ @returns
+ tab page which has tabPageID.
+ */
+ XTabPage getTabPageByID([in] short tabPageID);
+
+ //-------------------------------------------------------------------------
+
+ /** Adds a listener for the <type>TabPageActivedEvent</type> posted after
+ the tab page was activated.
+ @param listener
+ the listener to add.
+ */
+ [oneway] void addTabPageListener( [in] XTabPageContainerListener listener);
+
+ //-------------------------------------------------------------------------
+
+ /** Removes a listener previously added with <method>addTabPageListener()</method>.
+ @param listener
+ the listener to remove.
+ */
+ [oneway] void removeTabPageListener( [in] XTabPageContainerListener listener);
+
+ //-------------------------------------------------------------------------
+ /** Specifies the ID of the current active tab page.
+ */
+ [attribute] short ActiveTabPageID;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/tab/XTabPageContainerListener.idl b/offapi/com/sun/star/awt/tab/XTabPageContainerListener.idl
new file mode 100644
index 0000000000000..f469512315138
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/XTabPageContainerListener.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_tab_XTabPageContainerListener_idl__
+#define __com_sun_star_awt_tab_XTabPageContainerListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/awt/tab/TabPageActivatedEvent.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module tab {
+
+//=============================================================================
+
+/** An instance of this interface is used by the <type>XTabPageContainer</type> to
+ get notifications about changes in activation of tab pages.
+
+ @since OOo 3.4
+ */
+interface XTabPageContainerListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+ /** Invoked after a tab page was activated.
+ */
+ [oneway] void tabPageActivated( [in] TabPageActivatedEvent tabPageActivatedEvent);
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/tab/XTabPageContainerModel.idl b/offapi/com/sun/star/awt/tab/XTabPageContainerModel.idl
new file mode 100644
index 0000000000000..cc815209a01df
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/XTabPageContainerModel.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_awt_tab_XTabPageContainerModel_idl__
+#define __com_sun_star_awt_tab_XTabPageContainerModel_idl__
+
+#include <com/sun/star/container/XIndexContainer.idl>
+#include <com/sun/star/container/XContainer.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module tab {
+
+//=============================================================================
+
+/** specifies an interface for a UnoControlTabPageContainerModel.
+
+ @since OOo 3.4
+ */
+interface XTabPageContainerModel
+{
+ interface com::sun::star::container::XIndexContainer;
+ interface com::sun::star::container::XContainer;
+};
+
+//=============================================================================
+
+ }; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/awt/tab/XTabPageModel.idl b/offapi/com/sun/star/awt/tab/XTabPageModel.idl
new file mode 100644
index 0000000000000..15fae422bb174
--- /dev/null
+++ b/offapi/com/sun/star/awt/tab/XTabPageModel.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_tab_XTabPageModel_idl__
+#define __com_sun_star_awt_tab_XTabPageModel_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#include <com/sun/star/container/XContainer.idl>
+#include <com/sun/star/container/XNameContainer.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module awt { module tab {
+
+//=============================================================================
+
+/** specifies an XTabPageModel interface.
+
+ @since OOo 3.4
+*/
+
+interface XTabPageModel
+{
+ //interface com::sun::star::lang::XMultiServiceFactory;
+
+ //interface com::sun::star::container::XNameContainer;
+
+ //interface com::sun::star::container::XContainer;
+
+ /**ID for tab page.
+ */
+ [attribute, readonly] short TabPageID;
+ //-------------------------------------------------------------------------
+
+ /** determines whether a tab page is enabled or disabled.
+ */
+ [attribute] boolean Enabled;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the text that is displayed in the tab bar of the tab page.
+ */
+ [attribute] string Title;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies a URL that references a graphic that should be displayed in the tab bar.
+ */
+ [attribute] string ImageURL;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies a tooltip text that should be displayed in the tab bar.
+ */
+ [attribute] string Tooltip;
+};
+
+
+//=============================================================================
+
+ }; }; }; }; };
+
+#endif
diff --git a/udkapi/prj/makefile.mk b/offapi/com/sun/star/awt/tab/makefile.mk
index 0b1e9335ed440..39d1e66f7643c 100644
--- a/udkapi/prj/makefile.mk
+++ b/offapi/com/sun/star/awt/tab/makefile.mk
@@ -25,37 +25,30 @@
#
#*************************************************************************
-PRJ=.
-PRJNAME:=udkapi
+PRJ=..$/..$/..$/..$/..
-# --- Settings -----------------------------------------------------
-
-OUT!:=$(PRJ)$/out
-
-# ------------------------------------------------------------------
+PRJNAME=api
-INCLUDES= \
- com$/sun$/star$/container$/makefile.mk \
- com$/sun$/star$/io$/makefile.mk \
- com$/sun$/star$/reflection$/makefile.mk \
- com$/sun$/star$/beans$/makefile.mk \
- com$/sun$/star$/lang$/makefile.mk \
- com$/sun$/star$/uno$/makefile.mk \
- com$/sun$/star$/uno$/util$/logging$/makefile.mk \
- com$/sun$/star$/corba$/makefile.mk \
- com$/sun$/star$/corba$/iop$/makefile.mk \
- com$/sun$/star$/corba$/giop$/makefile.mk \
- com$/sun$/star$/corba$/iiop$/makefile.mk \
- com$/sun$/star$/script$/makefile.mk \
- com$/sun$/star$/test$/makefile.mk \
- com$/sun$/star$/registry$/makefile.mk \
- com$/sun$/star$/loader$/makefile.mk \
- com$/sun$/star$/bridge$/makefile.mk
+TARGET=cssawttab
+PACKAGE=com$/sun$/star$/awt$/tab
-.INCLUDE: $(INCLUDES)
+# --- Settings -----------------------------------------------------
-out$/$(PRJNAME).rdb:: $(ALLIDLFILES)
- unoidl @$(mktmp -I$(PRJ) -Burd -OHout $(ALLIDLFILES:+"\n"))
- regmerge @$(mktmp $@ /UCR out$/{$(?:f:s/.idl/.urd/:+"\n")} )
- touch $@
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+IDLFILES=\
+ TabPageActivatedEvent.idl\
+ XTabPageContainerListener.idl\
+ XTabPageModel.idl\
+ XTabPage.idl\
+ XTabPageContainerModel.idl\
+ XTabPageContainer.idl\
+ UnoControlTabPage.idl\
+ UnoControlTabPageModel.idl\
+ UnoControlTabPageContainer.idl\
+ UnoControlTabPageContainerModel.idl
+# ------------------------------------------------------------------
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/chart/ChartAxis.idl b/offapi/com/sun/star/chart/ChartAxis.idl
index 4e564d848b9d1..20a6722af5d88 100644
--- a/offapi/com/sun/star/chart/ChartAxis.idl
+++ b/offapi/com/sun/star/chart/ChartAxis.idl
@@ -55,6 +55,18 @@
#include <com/sun/star/chart/ChartAxisMarkPosition.idl>
#endif
+#ifndef __com_sun_star_chart_ChartAxisType_idl__
+#include <com/sun/star/chart/ChartAxisType.idl>
+#endif
+
+#ifndef __com_sun_star_chart_TimeIncrement_idl__
+#include <com/sun/star/chart/TimeIncrement.idl>
+#endif
+
+#ifndef __com_sun_star_chart_XAxis_idl__
+#include <com/sun/star/chart/XAxis.idl>
+#endif
+
#ifndef _com_sun_star_xml_UserDefinedAttributeSupplier_idl_
#include <com/sun/star/xml/UserDefinedAttributeSupplier.idl>
#endif
@@ -72,8 +84,6 @@
*/
published service ChartAxis
{
-
-
/** set the properties for the entire axis line as well as for the
tick marks.
*/
@@ -83,14 +93,19 @@ published service ChartAxis
*/
service com::sun::star::style::CharacterProperties;
- /** If a <type>ChartAxis</type> may be stored as XML element, this
- service should be supported in order to preserve unparsed XML
- attributes.
+ /** If a <type>ChartAxis</type> may be stored as XML element, this
+ service should be supported in order to preserve unparsed XML
+ attributes.
@since OOo 1.1.2
*/
[optional] service com::sun::star::xml::UserDefinedAttributeSupplier;
+ /** Access to the sub elements of an axis like title and grids.
+ @since OOo 3.4
+ */
+ [optional] interface com::sun::star::chart::XAxis;
+
interface com::sun::star::beans::XPropertySet;
//-------------------------------------------------------------------------
@@ -169,6 +184,20 @@ published service ChartAxis
//-------------------------------------------------------------------------
+ /** determines which type of axis this is, e.g. a date-axis or a category-axis @see ChartAxisType
+ @since OOo 3.4
+ */
+ [optional, property] long AxisType;
+
+ //-------------------------------------------------------------------------
+
+ /** if the current axis is a date-axis the intervals are choosen as given with TimeIncrement
+ @since OOo 3.4
+ */
+ [optional, maybevoid, property] TimeIncrement TimeIncrement;
+
+ //-------------------------------------------------------------------------
+
/** Determines if the axis orientation is mathematical or reversed.
*/
[optional, property] boolean ReverseDirection;
diff --git a/offapi/com/sun/star/chart2/XUndoSupplier.idl b/offapi/com/sun/star/chart/ChartAxisType.idl
index 901ca49ad74f7..e705424115e8a 100644
--- a/offapi/com/sun/star/chart2/XUndoSupplier.idl
+++ b/offapi/com/sun/star/chart/ChartAxisType.idl
@@ -24,10 +24,8 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef com_sun_star_chart2_XUndoSupplier_idl
-#define com_sun_star_chart2_XUndoSupplier_idl
-
-#include <com/sun/star/chart2/XUndoManager.idl>
+#ifndef com_sun_star_chart_ChartAxisType_idl
+#define com_sun_star_chart_ChartAxisType_idl
module com
{
@@ -35,23 +33,25 @@ module sun
{
module star
{
-module chart2
+module chart
{
-
-/** An interface for providing an UndoManager based on frame::XModel
- objects.
- */
-interface XUndoSupplier : ::com::sun::star::uno::XInterface
+/** @since OOo 3.4
+*/
+published constants ChartAxisType
{
- /** @return an undo manager that allows doing undo and redo of a
- frame::XModel based object
+ /** the type of the axis is choosen automatically dependent on the chart type, the dimension and the underlying data
+ */
+ const long AUTOMATIC = 0;
+
+ /** the axis represent discrete category texts if chart type and the dimension allows
+ */
+ const long CATEGORY = 1;
+
+ /** the axis shows dates if the given data and chart type and the dimension allows
*/
- XUndoManager getUndoManager();
+ const long DATE = 2;
};
-} ; // chart2
-} ; // com
-} ; // sun
-} ; // star
+}; }; }; };
#endif
diff --git a/offapi/com/sun/star/chart/Diagram.idl b/offapi/com/sun/star/chart/Diagram.idl
index b57fc88f3804e..854baadb38cc1 100644
--- a/offapi/com/sun/star/chart/Diagram.idl
+++ b/offapi/com/sun/star/chart/Diagram.idl
@@ -31,6 +31,10 @@
#include <com/sun/star/chart/XDiagram.idl>
#endif
+#ifndef __com_sun_star_chart_XAxisSupplier_idl__
+#include <com/sun/star/chart/XAxisSupplier.idl>
+#endif
+
#ifndef __com_sun_star_chart_XDiagramPositioning_idl__
#include <com/sun/star/chart/XDiagramPositioning.idl>
#endif
@@ -72,8 +76,12 @@ published service Diagram
interface com::sun::star::chart::XDiagram;
- /** Provides access to the titles of the secondary X axis and Y axis.
+ /** Provides easier access to the differnet axes and their sub elements.
+ @since OOo 3.4
+ */
+ [optional] interface com::sun::star::chart::XAxisSupplier;
+ /** Provides access to the titles of the secondary X axis and Y axis.
@since OOo 3.0
*/
[optional] interface com::sun::star::chart::XSecondAxisTitleSupplier;
diff --git a/offapi/com/sun/star/chart/TimeIncrement.idl b/offapi/com/sun/star/chart/TimeIncrement.idl
new file mode 100644
index 0000000000000..3eba8d903c63a
--- /dev/null
+++ b/offapi/com/sun/star/chart/TimeIncrement.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_TimeIncrement_idl
+#define com_sun_star_chart_TimeIncrement_idl
+
+#include <com/sun/star/chart/TimeInterval.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module chart {
+
+//=============================================================================
+
+/** A TimeIncrement describes how tickmarks are positioned on the scale of a date-time axis.
+@since OOo 3.4
+*/
+published struct TimeIncrement
+{
+ /** if the any contains a struct of type <type>::com::sun::star::chart::TimeInterval</type>
+ this is used as a fixed distance value for the major tickmarks. Otherwise, if the any is empty or contains an
+ incompatible type, the distance between major tickmarks is calculated automatically by the application.
+ */
+ any MajorTimeInterval;
+
+ /** if the any contains a struct of type <type>::com::sun::star::chart::TimeInterval</type>
+ this is used as a fixed distance value for the minor tickmarks. Otherwise, if the any is empty or contains an
+ incompatible type, the distance between minor tickmarks is calculated automatically by the application.
+ */
+ any MinorTimeInterval;
+
+ /** if the any contains a constant of type <type>::com::sun::star::chart::TimeUnit</type>
+ this is the smallest time unit that is displayed on the date-time axis.
+ Otherwise, if the any is empty or contains an incompatible type,
+ the resolution is choosen automatically by the application.
+ */
+ any TimeResolution;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart/TimeInterval.idl b/offapi/com/sun/star/chart/TimeInterval.idl
new file mode 100644
index 0000000000000..c1280f815655c
--- /dev/null
+++ b/offapi/com/sun/star/chart/TimeInterval.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_TimeInterval_idl
+#define com_sun_star_chart_TimeInterval_idl
+
+#include <com/sun/star/chart/TimeUnit.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module chart {
+
+//=============================================================================
+
+/** Describes an interval on a date-axis
+@since OOo 3.4
+*/
+published struct TimeInterval
+{
+ /** specifies the number of units
+ */
+ long Number;
+
+ /** specifies a unit for the interval
+ <p>is a value out of the constant group <type>::com::sun::star::chart::TimeUnit</type>.</p>
+ */
+ long TimeUnit;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart2/Break.idl b/offapi/com/sun/star/chart/TimeUnit.idl
index b5dbe80d2933e..37cbd55d1a946 100644
--- a/offapi/com/sun/star/chart2/Break.idl
+++ b/offapi/com/sun/star/chart/TimeUnit.idl
@@ -24,19 +24,23 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-#ifndef com_sun_star_chart2_Break_idl
-#define com_sun_star_chart2_Break_idl
+#ifndef __com_sun_star_chart_TimeUnit_idl__
+#define __com_sun_star_chart_TimeUnit_idl__
//=============================================================================
-module com { module sun { module star { module chart2 {
+ module com { module sun { module star { module chart {
//=============================================================================
-struct Break
+/** Specifies a unit for intervals on a date-time axis
+@since OOo 3.4
+ */
+published constants TimeUnit
{
- double Min;
- double Max;
+ const long DAY = 0;
+ const long MONTH = 1;
+ const long YEAR = 2;
};
//=============================================================================
diff --git a/offapi/com/sun/star/chart/XAxis.idl b/offapi/com/sun/star/chart/XAxis.idl
new file mode 100755
index 0000000000000..763e2f45412b0
--- /dev/null
+++ b/offapi/com/sun/star/chart/XAxis.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_XAxis_idl
+#define com_sun_star_chart_XAxis_idl
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+module com { module sun { module star { module chart {
+
+/** Allows easier access to the different subelements of an axis.
+@since OOo 3.4
+*/
+
+interface XAxis : ::com::sun::star::uno::XInterface
+{
+ /** @returns
+ the title of the axis. The returned object supports the properties described in service <type>ChartTitle</type>.
+ */
+ com::sun::star::beans::XPropertySet getAxisTitle();
+
+ /** @returns
+ the properties of the major grid of the axis. The returned object supports service <type>ChartGrid</type>.
+ */
+ com::sun::star::beans::XPropertySet getMajorGrid();
+
+ /** @returns
+ the properties of the minor grid of the axis. The returned object supports service <type>ChartGrid</type>.
+ */
+ com::sun::star::beans::XPropertySet getMinorGrid();
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart/XAxisSupplier.idl b/offapi/com/sun/star/chart/XAxisSupplier.idl
new file mode 100755
index 0000000000000..cf2bde2e310da
--- /dev/null
+++ b/offapi/com/sun/star/chart/XAxisSupplier.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_XAxisSupplier_idl
+#define com_sun_star_chart_XAxisSupplier_idl
+
+#ifndef __com_sun_star_chart_XAxis_idl__
+#include <com/sun/star/chart/XAxis.idl>
+#endif
+
+module com { module sun { module star { module chart {
+
+/** Easier access to the different axes within a chart.
+@since OOo 3.4
+*/
+
+interface XAxisSupplier : ::com::sun::star::uno::XInterface
+{
+ /** @returns
+ the primary axis of the specified dimension. The returned object supports service <type>ChartAxis</type>.
+
+ @param nDimensionIndex
+ Parameter nDimensionIndex says wether it is a x, y or z-axis (0 for x).
+ */
+ com::sun::star::chart::XAxis getAxis( [in] long nDimensionIndex );
+
+ /** @returns
+ the secondary axis of the specified dimension. The returned object supports service <type>ChartAxis</type>.
+
+ @param nDimensionIndex
+ Parameter nDimensionIndex says wether it is a x, y or z-axis (0 for x).
+ */
+ com::sun::star::chart::XAxis getSecondaryAxis( [in] long nDimensionIndex );
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart/XChartDocument.idl b/offapi/com/sun/star/chart/XChartDocument.idl
index 14322c6edf4ac..1ffd268be59d7 100644
--- a/offapi/com/sun/star/chart/XChartDocument.idl
+++ b/offapi/com/sun/star/chart/XChartDocument.idl
@@ -144,9 +144,12 @@ published interface XChartDocument: com::sun::star::frame::XModel
<p>Since OOo 3.3 the returned object also supports interface <type>XComplexDescriptionAccess</type>
which can be used to access complex hierarchical axis descriptions.</p>
+ <p>Since OOo 3.4 the returned object also supports interface <type>XDateCategories</type>.</p>
+
@see XChartData
@see XChartDataArray
@see XComplexDescriptionAccess
+ @see XDateCategories
*/
com::sun::star::chart::XChartData getData();
@@ -159,12 +162,16 @@ published interface XChartDocument: com::sun::star::frame::XModel
<p>Since OOo 3.3 if the given object might support interface <type>XComplexDescriptionAccess</type>
which allows to set complex hierarchical axis descriptions.</p>
+ <p>Since OOo 3.4 if the given object might support interface <type>XDateCategories</type>
+ which allows to set date values as x values for category charts.</p>
+
<p>The given data is copied before it is applied to the chart.
So changing xData after this call will have no effect on the chart.</p>
@see XChartData
@see XChartDataArray
@see XComplexDescriptionAccess
+ @see XDateCategories
@param xData
the object that provides the new data.
diff --git a/offapi/com/sun/star/chart/XDateCategories.idl b/offapi/com/sun/star/chart/XDateCategories.idl
new file mode 100755
index 0000000000000..868670cb9c6f3
--- /dev/null
+++ b/offapi/com/sun/star/chart/XDateCategories.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_XDateCategories_idl__
+#define __com_sun_star_chart_XDateCategories_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+//=============================================================================
+
+ module com { module sun { module star { module chart {
+
+//=============================================================================
+
+/** Allows to set date values as categories.
+
+<p>Can be obtained from interface <type>XChartDocument</type> via method getData().</p>
+
+@since OOo 3.4
+*/
+
+published interface XDateCategories
+{
+ //-------------------------------------------------------------------------
+
+ /** sets dates as categories
+
+ @param rDates
+ a sequence of sequences of doubles representing dates.
+ */
+ void setDateCategories( [in] sequence< double > rDates );
+
+ //-------------------------------------------------------------------------
+
+ /** retrieves the date values if the category x-axis id a date axis
+
+ @returns
+ a sequence of doubles representing dates.
+ */
+ sequence< double > getDateCategories();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart/makefile.mk b/offapi/com/sun/star/chart/makefile.mk
index fdbf07173c5eb..7c9d53e12eed5 100644
--- a/offapi/com/sun/star/chart/makefile.mk
+++ b/offapi/com/sun/star/chart/makefile.mk
@@ -52,6 +52,7 @@ IDLFILES=\
ChartAxisPosition.idl\
ChartAxisLabelPosition.idl\
ChartAxisMarkPosition.idl\
+ ChartAxisType.idl\
ChartAxisXSupplier.idl\
ChartAxisYSupplier.idl\
ChartAxisZSupplier.idl\
@@ -84,6 +85,7 @@ IDLFILES=\
ChartTwoAxisXSupplier.idl\
ChartTwoAxisYSupplier.idl\
DataLabelPlacement.idl\
+ TimeIncrement.idl \
Diagram.idl\
Dim3DDiagram.idl\
DonutDiagram.idl\
@@ -94,8 +96,12 @@ IDLFILES=\
PieDiagram.idl\
StackableDiagram.idl\
StockDiagram.idl\
+ TimeUnit.idl\
+ TimeInterval.idl\
X3DDefaultSetter.idl\
X3DDisplay.idl\
+ XAxis.idl\
+ XAxisSupplier.idl\
XAxisXSupplier.idl\
XAxisYSupplier.idl\
XAxisZSupplier.idl\
@@ -104,6 +110,7 @@ IDLFILES=\
XChartDataChangeEventListener.idl\
XChartDocument.idl\
XComplexDescriptionAccess.idl\
+ XDateCategories.idl\
XDiagram.idl\
XDiagramPositioning.idl\
XStatisticDisplay.idl\
diff --git a/offapi/com/sun/star/chart2/AxisType.idl b/offapi/com/sun/star/chart2/AxisType.idl
index 16d977c348014..47cebc96388e4 100644
--- a/offapi/com/sun/star/chart2/AxisType.idl
+++ b/offapi/com/sun/star/chart2/AxisType.idl
@@ -50,6 +50,9 @@ constants AxisType
/** the axis shows the series names (z axis)
*/
const long SERIES = 3;
+ /** the axis shows dates
+ */
+ const long DATE = 4;
};
} ; // chart2
diff --git a/offapi/com/sun/star/chart2/ExplicitIncrementData.idl b/offapi/com/sun/star/chart2/ExplicitIncrementData.idl
deleted file mode 100644
index 48f01c7560c49..0000000000000
--- a/offapi/com/sun/star/chart2/ExplicitIncrementData.idl
+++ /dev/null
@@ -1,96 +0,0 @@
-#ifndef com_sun_star_chart2_ExplicitIncrementData_idl
-#define com_sun_star_chart2_ExplicitIncrementData_idl
-
-#include <com/sun/star/chart2/ExplicitSubIncrement.idl>
-
-//=============================================================================
-
-module com { module sun { module star { module chart2 {
-
-//=============================================================================
-
-/** An Increment describes how tickmarks are positioned on the scale of an axis.
-
-@see <type>Axis</type>
-@see <type>Grid</type>
-@see <type>Scale</type>
-@see <type>XScaling</type>
-*/
-struct ExplicitIncrementData
-{
- /** <member>Distance</member> describes the distance between two
- neighboring main tickmarks on a <type>Scale</type> of an axis.
- All neighboring main tickmarks have the same constant distance.
-
- <p>If the Scale has a <type>XScaling</type> the <member>Distance</member>
- may be measured in two different ways - that is - before or after the
- scaling is applied.</p>
-
- <p>On a logarithmic scale for example the distance between two main
- tickmarks is typically measured after the scaling is applied:
- Distance = log(tick2)-log(tick1)
- ( log(1000)-log(100)==log(100)-log(10)==log(10)-log(1)==1==Distance ).
- The resulting tickmarks will always look equidistant on the screen.
- The other possibility is to have a Distance = tick2-tick1 measured constant
- before a scaling is applied, which may lead to non equidistant tickmarks
- on the screen.</p>
-
- <p><member>PostEquidistant</member> rules wether the <member>Distance</member>
- is meant to be a value before or after scaling.</p>
- */
- double Distance;
-
- /**
- <member>PostEquidistant</member> rules wether the member <member>Distance</member>
- describes a distance before or after the scaling is applied.
-
- <p>If <member>PostEquidistant</member> equals <TRUE/> <member>Distance</member>
- is given in values after <type>XScaling</type> is applied, thus resulting
- main tickmarks will always look equidistant on the screen.
- If <member>PostEquidistant</member> equals <FALSE/> <member>Distance</member>
- is given in values before <type>XScaling</type> is applied.</p>
- */
- boolean PostEquidistant;
-
- /** The <member>BaseValue</member> gives a starting point on the scale
- to which all further main tickmarks are relatively positioned.
-
- <p>The <member>BaseValue</member> is always a value on the scale before
- a possible scaling is applied. If the given value is not valid in the
- associated scaling the minimum of the scaling is assumed,
- if there is no minimum any other obvious value will be assumed.</p>
-
- <p>E.g.: assume a scale from 0 to 6 with identical scaling.
- Further assume this Increment to have Distance==2 and PostEquidistant==false.
- Setting BaseValue=0 would lead to main tickmarks 0; 2; 4; 6;
- Setting BaseValue=1,3 would lead to main tickmarks 1,3; 3,3; 5,3;
- Setting BaseValue=-0,7 would also lead to main tickmarks 1,3; 3,3; 5,3;
- And setting BaseValue to 2, -2, 4, -4 etc. in this example
- leads to the same result as BaseValue=0.</p>
- */
- double BaseValue;
-
- /** <member>SubIncrements</member> describes the positioning of further
- sub tickmarks on the scale of an axis.
-
- <p>The first SubIncrement in this sequence determines how the
- distance between two neighboring main tickmarks is divided for positioning
- of further sub tickmarks. Every following SubIncrement determines the
- positions of subsequent tickmarks in relation to their parent tickmarks
- iven by the preceding SubIncrement.</p>
- */
- sequence< ::com::sun::star::chart2::ExplicitSubIncrement > SubIncrements;
-
- /** If ShiftedPosition is false all ticks are set at the positions as described above.
- E.g. having tickmarks for whole numbers 1, 2 and 3 the ticks are exactly placed on positions for the values 1, 2 and 3.
- In contrast it is possible to have the tickmarks shifted thus they are placed between the indicated values.
- So if ShiftedPosition is set to true the tickmarks in the example are placed at 0.5 1.5 2.5 and 3.5.
- */
- boolean ShiftedPosition;
-};
-
-//=============================================================================
-
-}; }; }; };
-
-#endif
diff --git a/offapi/com/sun/star/chart2/ExplicitScaleData.idl b/offapi/com/sun/star/chart2/ExplicitScaleData.idl
deleted file mode 100644
index 7639a4d333783..0000000000000
--- a/offapi/com/sun/star/chart2/ExplicitScaleData.idl
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef com_sun_star_chart2_ExplicitScaleData_idl
-#define com_sun_star_chart2_ExplicitScaleData_idl
-
-#ifndef com_sun_star_chart2_Break_idl
-#include <com/sun/star/chart2/Break.idl>
-#endif
-
-#ifndef com_sun_star_chart2_XScaling_idl
-#include <com/sun/star/chart2/XScaling.idl>
-#endif
-
-#ifndef com_sun_star_chart2_AxisOrientation_idl
-#include <com/sun/star/chart2/AxisOrientation.idl>
-#endif
-
-//=============================================================================
-
-module com { module sun { module star { module chart2 {
-
-//=============================================================================
-
-/** This structure contains the explicit values for a scale like Minimum and Maximum.
- In contrast these values may also be implicit (automatically
- calculated) as indicated within the structure <type>ScaleData</type>.
- */
-struct ExplicitScaleData
-{
- double Minimum;
- double Maximum;
- double Origin;
-
- AxisOrientation Orientation;
-
- XScaling Scaling;
-
- sequence< Break > Breaks;
-
- long AxisType;
-};
-
-//=============================================================================
-
-}; }; }; };
-
-#endif
diff --git a/offapi/com/sun/star/chart2/ExplicitSubIncrement.idl b/offapi/com/sun/star/chart2/ExplicitSubIncrement.idl
deleted file mode 100644
index c1af626c5db1e..0000000000000
--- a/offapi/com/sun/star/chart2/ExplicitSubIncrement.idl
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifndef com_sun_star_chart2_ExplicitSubIncrement_idl
-#define com_sun_star_chart2_ExplicitSubIncrement_idl
-
-//=============================================================================
-
-module com { module sun { module star { module chart2 {
-
-//=============================================================================
-
-struct ExplicitSubIncrement
-{
- /** Numbers of intervals between two superior ticks. For an axis
- this usually means, that <code>IntervalCount - 1</code>
- sub-tick-marks are displayed between two superior ticks.
-
- */
- long IntervalCount;
-
- /** If <TRUE/>, the distance between two sub-tick-marks on the
- screen is always the same. If <FALSE/>, the distances may
- differ depending on the <type>XScaling</type>.
- */
- boolean PostEquidistant;
-};
-
-//=============================================================================
-
-}; }; }; };
-
-#endif
diff --git a/offapi/com/sun/star/chart2/IncrementData.idl b/offapi/com/sun/star/chart2/IncrementData.idl
index f487c26e576d9..ffd595807ce96 100644
--- a/offapi/com/sun/star/chart2/IncrementData.idl
+++ b/offapi/com/sun/star/chart2/IncrementData.idl
@@ -23,8 +23,6 @@ struct IncrementData
incompatible type, the Distance is meant to be calculated
automatically by the view component representing the model
containing this increment.
-
- @see <type>ExplicitIncrementData</type>
*/
any Distance;
@@ -45,8 +43,6 @@ struct IncrementData
incompatible type, the BaseValue is meant to be calculated
automatically by the view component representing the model
containing this increment.
-
- @see <type>ExplicitIncrementData</type>
*/
any BaseValue;
diff --git a/offapi/com/sun/star/chart2/ScaleData.idl b/offapi/com/sun/star/chart2/ScaleData.idl
index addd66e103207..9bb51005e206e 100644
--- a/offapi/com/sun/star/chart2/ScaleData.idl
+++ b/offapi/com/sun/star/chart2/ScaleData.idl
@@ -1,29 +1,12 @@
#ifndef com_sun_star_chart2_ScaleData_idl
#define com_sun_star_chart2_ScaleData_idl
-#ifndef com_sun_star_chart2_Break_idl
-#include <com/sun/star/chart2/Break.idl>
-#endif
-
-#ifndef com_sun_star_chart2_XScaling_idl
#include <com/sun/star/chart2/XScaling.idl>
-#endif
-
-#ifndef com_sun_star_chart2_AxisOrientation_idl
#include <com/sun/star/chart2/AxisOrientation.idl>
-#endif
-
-#ifndef com_sun_star_chart2_data_XLabeledDataSequence_idl
#include <com/sun/star/chart2/data/XLabeledDataSequence.idl>
-#endif
-
-#ifndef com_sun_star_chart2_AxisType_idl
#include <com/sun/star/chart2/AxisType.idl>
-#endif
-
-#ifndef com_sun_star_chart_IncrementData_idl
#include <com/sun/star/chart2/IncrementData.idl>
-#endif
+#include <com/sun/star/chart/TimeIncrement.idl>
//=============================================================================
@@ -76,8 +59,6 @@ struct ScaleData
XScaling Scaling;
- sequence< Break > Breaks;
-
data::XLabeledDataSequence Categories;
/** describes the type of the axis.
@@ -87,7 +68,22 @@ struct ScaleData
*/
long AxisType;
+ /** if true an AxisType CATEGORY is interpreted as DATE if the underlying data given in Categories are dates
+ */
+ boolean AutoDateAxis;
+
+ /** describes wether data points on category or date axis are placed between tickmarks or not
+ if true the maximum on the scale will be expanded for one interval
+ */
+ boolean ShiftedCategoryPosition;
+
+ /** increment data to be used for not date-time axis
+ */
IncrementData IncrementData;
+
+ /** increment data to be used in case of date-time axis
+ */
+ ::com::sun::star::chart::TimeIncrement TimeIncrement;
};
//=============================================================================
diff --git a/offapi/com/sun/star/chart2/StandardDiagramCreationParameters.idl b/offapi/com/sun/star/chart2/StandardDiagramCreationParameters.idl
index e5bc31759ace6..6733715f1703c 100644
--- a/offapi/com/sun/star/chart2/StandardDiagramCreationParameters.idl
+++ b/offapi/com/sun/star/chart2/StandardDiagramCreationParameters.idl
@@ -49,6 +49,11 @@ service StandardDiagramCreationParameters
a data-source is used as categories.
*/
[optional, property] boolean HasCategories;
+
+ /** If categories are given they should be used as x values also if a chart type requires x values.
+ Default is true.
+ */
+ [optional, property] boolean UseCategoriesAsX;
};
} ; // chart2
diff --git a/offapi/com/sun/star/chart2/SubIncrement.idl b/offapi/com/sun/star/chart2/SubIncrement.idl
index f076db0eef929..b886f2c531fb4 100644
--- a/offapi/com/sun/star/chart2/SubIncrement.idl
+++ b/offapi/com/sun/star/chart2/SubIncrement.idl
@@ -11,15 +11,11 @@ struct SubIncrement
{
/** should contain nothing for <em>auto</em>, or an integer value
for an explicit interval count.
-
- @see <type>ExplicitSubIncrement</type>
*/
any IntervalCount;
/** should contain nothing for <em>auto</em>, or a boolean value
for an explicit setting.
-
- @see <type>ExplicitSubIncrement</type>
*/
any PostEquidistant;
};
diff --git a/offapi/com/sun/star/chart2/XAnyDescriptionAccess.idl b/offapi/com/sun/star/chart2/XAnyDescriptionAccess.idl
new file mode 100755
index 0000000000000..ca455c401264d
--- /dev/null
+++ b/offapi/com/sun/star/chart2/XAnyDescriptionAccess.idl
@@ -0,0 +1,103 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_XAnyDescriptionAccess_idl__
+#define __com_sun_star_chart2_XAnyDescriptionAccess_idl__
+
+#ifndef __com_sun_star_chart_XComplexDescriptionAccess_idl__
+#include <com/sun/star/chart/XComplexDescriptionAccess.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module chart2 {
+
+//=============================================================================
+
+/** Offers any access to column and row descriptions.
+This allows to set date values as categories.
+
+<p>Can be obtained from interface <type>XChartDocument</type> via method getData().</p>
+
+@since OOo 3.4
+*/
+
+interface XAnyDescriptionAccess : ::com::sun::star::chart::XComplexDescriptionAccess
+{
+ //-------------------------------------------------------------------------
+
+ /** retrieves the descriptions for all rows.
+
+ @returns
+ a sequence of sequences of anys representing the descriptions
+ of all rows. The outer index represents different rows.
+ The inner index represents the different levels (usually there is only one).
+ The any might be strings for category text axis or doubles for date axis.
+ */
+ sequence< sequence< any > > getAnyRowDescriptions();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the descriptions for all rows.
+
+ @param rRowDescriptions
+ a sequence of sequences of anys representing the descriptions of all
+ rows. The outer index represents different rows.
+ The inner index represents the different levels (usually there is only one).
+ The any might be strings for category text axis or doubles for date axis.
+ */
+ void setAnyRowDescriptions( [in] sequence< sequence< any > > rRowDescriptions );
+
+ //-------------------------------------------------------------------------
+
+ /** retrieves the descriptions for all columns.
+
+ @returns
+ a sequence of sequences of anys representing the descriptions
+ of all columns. The outer index represents different columns.
+ The inner index represents the different levels (usually there is only one).
+ The any might be strings for category text axis or doubles for date axis.
+ */
+ sequence< sequence< any > > getAnyColumnDescriptions();
+
+ //-------------------------------------------------------------------------
+
+ /** sets the descriptions for all columns.
+
+ @param rColumnDescriptions
+ a sequence of sequences of anys which represent the descriptions of
+ all columns. The outer index represents different columns.
+ The inner index represents the different levels (usually there is only one).
+ The any might be strings for category text axis or doubles for date axis.
+ */
+ void setAnyColumnDescriptions( [in] sequence< sequence< any > > rColumnDescriptions );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/chart2/XAxis.idl b/offapi/com/sun/star/chart2/XAxis.idl
index 9a116c1a3bd49..55a9089da0cf1 100644
--- a/offapi/com/sun/star/chart2/XAxis.idl
+++ b/offapi/com/sun/star/chart2/XAxis.idl
@@ -1,3 +1,29 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_XAxis_idl
#define com_sun_star_chart_XAxis_idl
diff --git a/offapi/com/sun/star/chart2/XCoordinateSystem.idl b/offapi/com/sun/star/chart2/XCoordinateSystem.idl
index 689abba33cf4b..0756321cdbedc 100644
--- a/offapi/com/sun/star/chart2/XCoordinateSystem.idl
+++ b/offapi/com/sun/star/chart2/XCoordinateSystem.idl
@@ -1,3 +1,29 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_XCoordinateSystem_idl
#define com_sun_star_chart2_XCoordinateSystem_idl
diff --git a/offapi/com/sun/star/chart2/XDiagram.idl b/offapi/com/sun/star/chart2/XDiagram.idl
index 3836489b7aed3..23b256e63349e 100644
--- a/offapi/com/sun/star/chart2/XDiagram.idl
+++ b/offapi/com/sun/star/chart2/XDiagram.idl
@@ -32,9 +32,10 @@
#endif
#include <com/sun/star/beans/XPropertySet.idl>
-
+#include <com/sun/star/beans/PropertyValue.idl>
#include <com/sun/star/chart2/XLegend.idl>
#include <com/sun/star/chart2/XColorScheme.idl>
+#include <com/sun/star/chart2/data/XDataSource.idl>
#include <com/sun/star/chart2/data/XLabeledDataSequence.idl>
module com
@@ -48,11 +49,6 @@ module chart2
interface XDiagram : ::com::sun::star::uno::XInterface
{
- /** gets the component that creates a new diagram or modifies
- an existing diagram according to its rules.
- */
-// string getChartTypeTemplateServiceName();
-
/** returns the property set that determines the visual appearance
of the wall.
@@ -87,6 +83,25 @@ interface XDiagram : ::com::sun::star::uno::XInterface
colors for data series (or data points) in the diagram.
*/
void setDefaultColorScheme( [in] XColorScheme xColorScheme );
+
+ /** sets new data to the diagram.
+
+ @param xDataSource
+ This data source will be interpreted in a chart-type
+ specific way and the <type>DataSeries</type> found in
+ <code>xDiagram</code> will be adapted to the new data.
+ Missing data series will be created and unused ones will
+ be deleted.
+
+ @param aArguments
+ Arguments tells how to slice the given data.
+
+ <p>For standard parameters that may be used, see the
+ service <type>StandardDiagramCreationParameters</type>.
+ </p>
+ */
+ void setDiagramData( [in] data::XDataSource xDataSource,
+ [in] sequence< com::sun::star::beans::PropertyValue > aArguments );
};
} ; // chart2
diff --git a/offapi/com/sun/star/chart2/XPlotter.idl b/offapi/com/sun/star/chart2/XPlotter.idl
deleted file mode 100644
index dfa77e09c38ed..0000000000000
--- a/offapi/com/sun/star/chart2/XPlotter.idl
+++ /dev/null
@@ -1,128 +0,0 @@
-#ifndef com_sun_star_chart2_XPlotter_idl
-#define com_sun_star_chart2_XPlotter_idl
-
-#ifndef __com_sun_star_uno_XInterface_idl__
-#include <com/sun/star/uno/XInterface.idl>
-#endif
-
-#ifndef __com_sun_star_drawing_XShapes_idl__
-#include <com/sun/star/drawing/XShapes.idl>
-#endif
-
-#ifndef _com_sun_star_drawing_XShapeGrouper_idl_
-#include <com/sun/star/drawing/XShapeGrouper.idl>
-#endif
-
-#ifndef _com_sun_star_lang_xmultiservicefactory_idl_
-#include <com/sun/star/lang/XMultiServiceFactory.idl>
-#endif
-
-#ifndef com_sun_star_chart2_CoordinateSystemTypeID_idl
-#include <com/sun/star/chart2/CoordinateSystemTypeID.idl>
-#endif
-
-#ifndef com_sun_star_chart2_ScaleData_idl
-#include <com/sun/star/chart2/ScaleData.idl>
-#endif
-
-#ifndef com_sun_star_chart2_XTransformation_idl
-#include <com/sun/star/chart2/XTransformation.idl>
-#endif
-
-//=============================================================================
-
-module com { module sun { module star { module chart2 {
-
-//=============================================================================
-
-/** The main task of a Plotter is to create grafic objects which have a certain
- logic place within a coordinate system. For example the bars of a barchart
- are such grafic objects. The created grafic objects need to be of type
- com::sun::star::drawing::Shape.
-
- <p>
- Within the chart application we differentiatebetween two 'types' of shapes
- which can be created by a Plotter.
- The first type are shapes which are completely defined by coordinates
- in the logic coordinate system and will be positioned within this logic
- coordinate system. Those shapes are called 'logic shapes'
- or 'logically placed shapes'. For example a rectangle of a bar chart
- is a 'logic shape'.
- </p>
-
- <p>
- The second type of shapes are those who can not or should not
- be placed in the logic coordinate system. For example consider a three
- dimensional bar chart with text labels for each data point. You probably
- would not like to place the text shapes as three dimensional objects within
- the logic coordinate system, rather you would like to position the texts as
- two dimensional objects on the two dimensional final page. Those shapes are
- called 'illogic shapes' in contrast to 'logic shapes'.
- 'Illogic shapes' are always two dimensional and placed on the documents page.
- </p>
-
- <p>
- For each type of shapes the Plotter gets one Target where it can add
- or remove shapes.
- </p>
-
- <p> A Plotter is not allowed to set the property 'Transformation' on a
- shape as this will be done elsewhere.
- </p>
-*/
-
-//@ todo ? should this be a XComponent?
-interface XPlotter : ::com::sun::star::uno::XInterface
-{
- //-------------------------------------------------------------------------
- /** Each Plotter implicit uses a certain type of logic coordinate
- system for interpreting data as coordinates.
- For example a bar-chart uses a cartesian coordinate system for
- interpreting x- and y-values from a spreadsheet as cartesian
- coordinates. In contrast the pie chart assumes a polar coordinate
- system.
- The type of this implicit used source coordinate system has to be
- returned here.
- The returned type of an implementation never changes.
- */
- CoordinateSystemTypeID getCoordinateSystemTypeID();
-
- //-------------------------------------------------------------------------
- /** For each type of shapes ('logic' or 'illogic') there exists one
- container. The Plotter will create shapes and then add (or remove)
- them from these containers.
-
- <p>
- The lifetime of the container has to be handled by the calling object. The
- calling object must assure that the container will exist longer than the
- XPlotter Object.
- </p>
- ...
- */
- void init( [in] com::sun::star::drawing::XShapes xLogicTarget
- , [in] com::sun::star::drawing::XShapes xFinalTarget
- , [in] com::sun::star::lang::XMultiServiceFactory xFactory );
-
- //-------------------------------------------------------------------------
- /** For each dimension of the 'logic source coordinate system' the
- XPlotter object needs a Scale to decide which shapes
- need to be created and maybe logically clipped. The XPlotter object
- becomes the new owner of the given scales and directions and needs to keep
- them alive. Nobody else will change them.
- Pay attention that a 'Scale' can have several breaks.
- */
- void setScales( [in] sequence< ScaleData > rScales);
-
- //-------------------------------------------------------------------------
- /**
- */
- void setTransformation( [in] XTransformation xTransformationToLogicTarget
- , [in] XTransformation xTransformationToFinalPage );
-};
-
-//=============================================================================
-
-}; }; }; };
-
-#endif
-
diff --git a/offapi/com/sun/star/chart2/XUndoHelper.idl b/offapi/com/sun/star/chart2/XUndoHelper.idl
deleted file mode 100644
index 6c782564e04f7..0000000000000
--- a/offapi/com/sun/star/chart2/XUndoHelper.idl
+++ /dev/null
@@ -1,90 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifndef com_sun_star_chart2_XUndoHelper_idl
-#define com_sun_star_chart2_XUndoHelper_idl
-
-#include <com/sun/star/uno/XInterface.idl>
-#include <com/sun/star/frame/XModel.idl>
-// #include <com/sun/star/beans/PropertyValue.idl>
-
-module com
-{
-module sun
-{
-module star
-{
-module chart2
-{
-
-/** An interface for storing frame::XModel objects for container undo.
- */
-interface XUndoHelper : ::com::sun::star::uno::XInterface
-{
- /** call this before you change the xCurrentModel
-
- @return a clone of the current model that can later be used to
- restore the state of a changed model
- */
- ::com::sun::star::frame::XModel getModelCloneForUndo(
- [in] ::com::sun::star::frame::XModel xModelBeforeChange );
-
- /** call this before you change the xCurrentModel. You can pass
- parameters to refine the information that is cloned.
-
- @return a clone of the current model that can later be used to
- restore the state of a changed model using the same
- arguments in applyModelContentWithArguments.
- */
-// ::com::sun::star::frame::XModel getModelCloneForUndoWithArguments(
-// [in] ::com::sun::star::frame::XModel xModelBeforeChange,
-// [in] sequence< ::com::sun::star::beans::PropertyValue > aArguments );
-
- /** apply the content of xModelToCopyFrom to the XModel in xModelToChange
- */
- void applyModelContent( [inout] ::com::sun::star::frame::XModel xModelToChange,
- [in] ::com::sun::star::frame::XModel xModelToCopyFrom );
-
- /** apply the content of xModelToCopyFrom to the XModel in
- xModelToChange. You can pass parameters to refine the
- information that is applied.
-
- <p>Note that xModelToCopyFrom should have been created with
- getModelCloneForUndoWithArguments using the same arguments as
- are passed here.</p>
- */
-// void applyModelContentWithArguments(
-// [inout] ::com::sun::star::frame::XModel xModelToChange,
-// [in] ::com::sun::star::frame::XModel xModelToCopyFrom,
-// [in] sequence< ::com::sun::star::beans::PropertyValue > aArguments );
-};
-
-} ; // chart2
-} ; // com
-} ; // sun
-} ; // star
-
-#endif
diff --git a/offapi/com/sun/star/chart2/XUndoManager.idl b/offapi/com/sun/star/chart2/XUndoManager.idl
deleted file mode 100644
index 2d0ca4bd49770..0000000000000
--- a/offapi/com/sun/star/chart2/XUndoManager.idl
+++ /dev/null
@@ -1,111 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifndef com_sun_star_chart2_XUndoManager_idl
-#define com_sun_star_chart2_XUndoManager_idl
-
-#include <com/sun/star/uno/XInterface.idl>
-#include <com/sun/star/frame/XModel.idl>
-#include <com/sun/star/beans/PropertyValue.idl>
-
-module com
-{
-module sun
-{
-module star
-{
-module chart2
-{
-
-/** An interface for undo functionality based on passing frame::XModel
- objects.
- */
-interface XUndoManager : ::com::sun::star::uno::XInterface
-{
- /** call this before you change the xCurrentModel
- */
- void preAction( [in] ::com::sun::star::frame::XModel xModelBeforeChange );
-
- /** call this before you change the xCurrentModel. You can pass
- parameters to refine the undo action.
- */
- void preActionWithArguments( [in] ::com::sun::star::frame::XModel xModelBeforeChange,
- [in] sequence< ::com::sun::star::beans::PropertyValue > aArguments );
-
- /** call this after you successfully did changes to your current model
- */
- void postAction( [in] string aUndoText );
- /** call this if you aborted the current action.
- */
- void cancelAction();
-
- /** same as cancelAction() but restores the given model to the
- state set in preAction. This is useful for cancellation in
- live-preview dialogs.
- */
- void cancelActionWithUndo( [inout] ::com::sun::star::frame::XModel xModelToRestore );
-
- /** give the current model to be put into the redo-stack
- */
- void undo( [inout] ::com::sun::star::frame::XModel xCurrentModel );
-
- /** give the current model to be put into the undo-stack
- */
- void redo( [inout] ::com::sun::star::frame::XModel xCurrentModel );
-
- /** @return <TRUE/> if the undo stack is not empty, i.e. a call to undo() will succeed
- */
- boolean undoPossible();
-
- /** @return <TRUE/> if the redo stack is not empty, i.e. a call to redo() will succeed
- */
- boolean redoPossible();
-
- /** Retrieves the undo string for the most recent undo step
- */
- string getCurrentUndoString();
-
- /** Retrieves the redo string for the most recent undo step
- */
- string getCurrentRedoString();
-
- /** Retrieves the undo strings of all stored undo actions in
- chronological order starting with the most recent.
- */
- sequence< string > getAllUndoStrings();
-
- /** Retrieves the redo strings of all stored undo actions in
- chronological order starting with the most recent.
- */
- sequence< string > getAllRedoStrings();
-};
-
-} ; // chart2
-} ; // com
-} ; // sun
-} ; // star
-
-#endif
diff --git a/offapi/com/sun/star/chart2/makefile.mk b/offapi/com/sun/star/chart2/makefile.mk
index dcce7e71d4d21..60cc8393e1939 100644
--- a/offapi/com/sun/star/chart2/makefile.mk
+++ b/offapi/com/sun/star/chart2/makefile.mk
@@ -41,14 +41,10 @@ PRJNAME=offapi
IDLFILES= \
AxisType.idl \
AxisOrientation.idl \
- Break.idl \
CoordinateSystemTypeID.idl \
CurveStyle.idl \
DataPointGeometry3D.idl \
DataPointLabel.idl \
- ExplicitIncrementData.idl \
- ExplicitScaleData.idl \
- ExplicitSubIncrement.idl \
FillBitmap.idl \
IncrementData.idl \
InterpretedData.idl \
@@ -67,6 +63,7 @@ IDLFILES= \
TickmarkStyle.idl \
TransparencyStyle.idl \
ViewLegendEntry.idl \
+ XAnyDescriptionAccess.idl\
XAxis.idl \
XCoordinateSystem.idl \
XCoordinateSystemContainer.idl \
@@ -91,7 +88,6 @@ IDLFILES= \
XLegend.idl \
XLegendEntry.idl \
XLegendSymbolProvider.idl \
- XPlotter.idl \
XRegressionCurve.idl \
XRegressionCurveCalculator.idl \
XRegressionCurveContainer.idl \
@@ -101,9 +97,6 @@ IDLFILES= \
XTitle.idl \
XTitled.idl \
XTransformation.idl \
- XUndoManager.idl \
- XUndoSupplier.idl \
- XUndoHelper.idl
# --- Targets ------------------------------------------------------
diff --git a/offapi/com/sun/star/deployment/XExtensionManager.idl b/offapi/com/sun/star/deployment/XExtensionManager.idl
index b807df54af65d..679ba2ba5a665 100644
--- a/offapi/com/sun/star/deployment/XExtensionManager.idl
+++ b/offapi/com/sun/star/deployment/XExtensionManager.idl
@@ -281,6 +281,8 @@ interface XExtensionManager
Added extensions will be added to the database and removed extensions
will be removed from the database.
+ The active extensions are determined. That is, shared or bundled extensions
+ are not necessaryly registered (<member>XPackage::registerPackage</member>).
@return
If true - then at least one extension was removed or added. Otherwise
@@ -295,6 +297,25 @@ interface XExtensionManager
com::sun::star::lang::IllegalArgumentException);
+ /** synchronizes the special bundled_prereg repository, which is based on
+ the bundled extensions and has its registration data folder at
+ $BUNDLED_EXTENSIONS_PREREG (for example openoffice.org3/share/prereg).
+
+ All bundled extensions are registered (<member>XPackage::registerPackage</member>).
+ The active extensions are NOT determined, because this function only works
+ with bundled extensions.
+
+ This function is intended to be called during the installation of OOo.
+ OOo will copy parts of the registration data folder to the user installation at the
+ first startup.
+ */
+
+ void synchronizeBundledPrereg(
+ [in] com::sun::star::task::XAbortChannel xAbortChannel,
+ [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv )
+ raises (DeploymentException);
+
+
/** returns all extensions which are currently not in use
because the user did not accept the license.
diff --git a/offapi/com/sun/star/deployment/XPackageRegistry.idl b/offapi/com/sun/star/deployment/XPackageRegistry.idl
index c84f37625ec51..a8e3f556781d4 100644
--- a/offapi/com/sun/star/deployment/XPackageRegistry.idl
+++ b/offapi/com/sun/star/deployment/XPackageRegistry.idl
@@ -115,6 +115,13 @@ interface XPackageRegistry
supported <type>XPackageTypeInfo</type>s.
*/
sequence<XPackageTypeInfo> getSupportedPackageTypes();
+
+ void packageRemoved(
+ [in] string url,
+ [in] string mediaType)
+ raises (DeploymentException,
+ com::sun::star::lang::IllegalArgumentException);
+
};
}; }; }; };
diff --git a/offapi/com/sun/star/document/EmptyUndoStackException.idl b/offapi/com/sun/star/document/EmptyUndoStackException.idl
new file mode 100755
index 0000000000000..e003d6af71b96
--- /dev/null
+++ b/offapi/com/sun/star/document/EmptyUndoStackException.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_document_EmptyUndoStackException_idl__
+#define __com_sun_star_document_EmptyUndoStackException_idl__
+
+#include <com/sun/star/util/InvalidStateException.idl>
+
+//==================================================================================================================
+
+module com { module sun { module star { module document {
+
+//==================================================================================================================
+
+/** is raised when an operation is attemption at an XUndoManager which requires a non-empty stack
+ of undo actions, and this requirement is not fullfilled.
+ */
+exception EmptyUndoStackException : ::com::sun::star::util::InvalidStateException
+{
+};
+
+//==================================================================================================================
+
+}; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/OfficeDocument.idl b/offapi/com/sun/star/document/OfficeDocument.idl
index 4a3418e4da648..8467d206ff381 100644
--- a/offapi/com/sun/star/document/OfficeDocument.idl
+++ b/offapi/com/sun/star/document/OfficeDocument.idl
@@ -27,53 +27,19 @@
#ifndef __com_sun_star_document_OfficeDocument_idl__
#define __com_sun_star_document_OfficeDocument_idl__
-#ifndef __com_sun_star_frame_XModel_idl__
#include <com/sun/star/frame/XModel.idl>
-#endif
-
-#ifndef __com_sun_star_util_XModifiable_idl__
#include <com/sun/star/util/XModifiable.idl>
-#endif
-
-#ifndef __com_sun_star_frame_XStorable_idl__
#include <com/sun/star/frame/XStorable.idl>
-#endif
-
-#ifndef __com_sun_star_view_XPrintable_idl__
#include <com/sun/star/view/XPrintable.idl>
-#endif
-
-#ifndef __com_sun_star_view_XPrintJobBroadcaster_idl__
#include <com/sun/star/view/XPrintJobBroadcaster.idl>
-#endif
-
-#ifndef __com_sun_star_document_XEventBroadcaster_idl__
#include <com/sun/star/document/XEventBroadcaster.idl>
-#endif
-
-#ifndef __com_sun_star_document_XEventsSupplier_idl__
#include <com/sun/star/document/XEventsSupplier.idl>
-#endif
-
-#ifndef __com_sun_star_document_XDocumentInfoSupplier_idl__
#include <com/sun/star/document/XDocumentInfoSupplier.idl>
-#endif
-
-#ifndef __com_sun_star_document_XViewDataSupplier_idl__
#include <com/sun/star/document/XViewDataSupplier.idl>
-#endif
-
-#ifndef __com_sun_star_document_XDocumentEventBroadcaster_idl__
#include <com/sun/star/document/XDocumentEventBroadcaster.idl>
-#endif
-
-#ifndef __com_sun_star_document_XEmbeddedScripts_idl__
#include <com/sun/star/document/XEmbeddedScripts.idl>
-#endif
-
-#ifndef __com_sun_star_document_XDocumentPropertiesSupplier_idl__
#include <com/sun/star/document/XDocumentPropertiesSupplier.idl>
-#endif
+#include <com/sun/star/document/XUndoManagerSupplier.idl>
//=============================================================================
@@ -192,6 +158,10 @@ published service OfficeDocument
*/
[optional] interface XDocumentPropertiesSupplier;
+ /** provides access to the document's undo manager.
+ */
+ [optional] interface XUndoManagerSupplier;
+
//-------------------------------------------------------------------------
/** controls the focus behaviour of the form controls in the document
diff --git a/offapi/com/sun/star/document/UndoContextNotClosedException.idl b/offapi/com/sun/star/document/UndoContextNotClosedException.idl
new file mode 100755
index 0000000000000..4f7d746bad1a4
--- /dev/null
+++ b/offapi/com/sun/star/document/UndoContextNotClosedException.idl
@@ -0,0 +1,51 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_document_UndoContextNotClosedException_idl__
+#define __com_sun_star_document_UndoContextNotClosedException_idl__
+
+#include <com/sun/star/util/InvalidStateException.idl>
+
+//==================================================================================================================
+
+module com { module sun { module star { module document {
+
+//==================================================================================================================
+
+/** is thrown when an operation is attempted at an <type>XUndoManager</type> which requires all undo
+ contexts to be closed, but this requirement is not fullfilled.
+ */
+exception UndoContextNotClosedException : ::com::sun::star::util::InvalidStateException
+{
+};
+
+//==================================================================================================================
+
+}; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/UndoFailedException.idl b/offapi/com/sun/star/document/UndoFailedException.idl
new file mode 100755
index 0000000000000..4489ac5a0e0d1
--- /dev/null
+++ b/offapi/com/sun/star/document/UndoFailedException.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_document_UndoFailedException_idl__
+#define __com_sun_star_document_UndoFailedException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+//==================================================================================================================
+
+module com { module sun { module star { module document {
+
+//==================================================================================================================
+
+/** thrown when reverting to re-applying an undoable action fails.
+
+ @see XUndoAction::undo
+ @see XUndoManager::undo
+ */
+exception UndoFailedException : ::com::sun::star::uno::Exception
+{
+ /** describes the reason why the operation failed. Usually, this member will carry an exception.
+ */
+ any Reason;
+};
+
+//==================================================================================================================
+
+}; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/UndoManagerEvent.idl b/offapi/com/sun/star/document/UndoManagerEvent.idl
new file mode 100755
index 0000000000000..e587669e4fbda
--- /dev/null
+++ b/offapi/com/sun/star/document/UndoManagerEvent.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_document_UndoManagerEvent_idl__
+#define __com_sun_star_document_UndoManagerEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+//==================================================================================================================
+
+module com { module sun { module star { module document {
+
+//==================================================================================================================
+
+/** is an event sent by an <type>XUndoManager</type> implementation when the Undo/Redo stacks of the manager are
+ modified.
+ @see XUndoManager
+ @see XUndoManagerListener
+ @see XUndoAction
+ */
+struct UndoManagerEvent : ::com::sun::star::lang::EventObject
+{
+ /** the title of the undo action which is described by the event
+ @see XUndoAction::Title
+ */
+ string UndoActionTitle;
+
+ /** denotes the number of Undo contexts which are open, and not yet closed, at the time the event is fired.
+ @see XUndoManager::enterUndoContext
+ */
+ long UndoContextDepth;
+};
+
+//==================================================================================================================
+
+}; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/XUndoAction.idl b/offapi/com/sun/star/document/XUndoAction.idl
new file mode 100755
index 0000000000000..b47550a3f52fc
--- /dev/null
+++ b/offapi/com/sun/star/document/XUndoAction.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_document_XUndoAction_idl__
+#define __com_sun_star_document_XUndoAction_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/document/UndoFailedException.idl>
+
+//==================================================================================================================
+
+module com { module sun { module star { module document {
+
+//==================================================================================================================
+
+/** represents a single (undoable) action on a document
+ */
+interface XUndoAction
+{
+ /** reverts the action represented by the instance
+
+ @throws UndoFailedException
+ if reverting the action failed. In this case, the caller should assume that this is a permanent failure,
+ and take appropriate action, such as discarding the <code>XUndoAction</code> instance, and any possibly
+ depending instances.
+ */
+ void undo()
+ raises ( ::com::sun::star::document::UndoFailedException
+ );
+
+ /** repeats the action represented by the instance, after it had previously been reverted.
+
+ @throws UndoFailedException
+ if repeating the action failed. In this case, the caller should assume that this is a permanent failure,
+ and take appropriate action, such as discarding the <code>XUndoAction</code> instance, and any possibly
+ depending instances.
+ */
+ void redo()
+ raises ( ::com::sun::star::document::UndoFailedException
+ );
+
+ /** is the human-readable, localized description of the action.
+ */
+ [attribute, readonly] string Title;
+};
+
+//==================================================================================================================
+
+}; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/XUndoManager.idl b/offapi/com/sun/star/document/XUndoManager.idl
new file mode 100755
index 0000000000000..be43ca899b94e
--- /dev/null
+++ b/offapi/com/sun/star/document/XUndoManager.idl
@@ -0,0 +1,337 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_document_XUndoManager_idl__
+#define __com_sun_star_document_XUndoManager_idl__
+
+#include <com/sun/star/document/EmptyUndoStackException.idl>
+#include <com/sun/star/document/UndoContextNotClosedException.idl>
+#include <com/sun/star/document/UndoFailedException.idl>
+#include <com/sun/star/util/InvalidStateException.idl>
+#include <com/sun/star/util/XLockable.idl>
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/WrappedTargetException.idl>
+
+//==================================================================================================================
+
+module com { module sun { module star { module document {
+
+interface XUndoAction;
+interface XUndoManagerListener;
+
+//==================================================================================================================
+
+/** provides access to the undo/redo stacks of a document
+
+ <h3>Undo</h3>
+ <p>Changes to a document usually result in recording of information how to undo those changes, if desired. A so-called
+ undo action records the information how to undo a single change. Undo actions are maintained in a stack, so that
+ the changes they represent can be undo in the reverse order they have originally been applied.</p>
+
+ <h3>Redo</h3>
+ <p>Additionally, the Undo manager manages a Redo stack: Actions which are undone are moved from the Undo to the Redo
+ stack, so it is possible to re-apply the changes to the document.</p>
+
+ <h3>Undo contexts</h3>
+ <p>For collecting multiple changes in a single undo action, so-called Undo contexts are provided. When an Undo
+ context is entered, all subsequently added Undo actions are not pushed onto the undo stack directly, but considered
+ a sub action of the Undo context. Once the Undo context is left, a single undo action is pushed onto the undo stack,
+ which comprises all those single Undo actions.<br/>
+ Undo contexts can be arbitrarily nested.</p>
+
+ <h3>Hidden Undo actions</h3>
+ <p>Hidden Undo actions are those which in no observable way contribute to the undo stack. That is,
+ any method retrieving information about the stack will behave as if the undo action does not exist. Nonetheless,
+ calling <member>undo</member> respectively <member>redo</member> will include those actions.<br/>
+ Hidden Undo actions can be created by calling <member>enterHiddenUndoContext</member>, following by
+ <member>leaveUndoContext</member>.</p>
+
+ <a name="locking"></a>
+ <h3>Locking</h3>
+ <p>An Undo manager can be locked and unlocked, using the <member>XLockable::lock</member> and
+ <member>XLockable::unlock</member> methods. When it is locked, then every attempt to add an undo action, or to
+ enter or leave an Undo context, will be silently ignored.</p>
+ */
+interface XUndoManager
+{
+ /** allows <a href="#locking">locking</a> the undo manager.
+ */
+ interface ::com::sun::star::util::XLockable;
+
+ /** allows accessing the component, usually a document, which the undo manager works for.
+
+ <p><member scope="com::sun::star::container">XChild::setParent</member> is not supported, and will throw
+ an <type scope="com::sun::star::lang">NoSupportException</type>.</p>
+ */
+ interface ::com::sun::star::container::XChild;
+
+ /** enters a new undo context.
+
+ <p>A new undo action will be added to the undo stack, with the title given as <code>i_title</code>. As long
+ as the context is not left, every undo action added to the stack will be treated as sub action. This means
+ it will not be directly accessible at the Undo manager, not appear in any user interface, and cannot be
+ separately undone or re-done.</p>
+
+ <p>Each call to <code>enterUndoContext</code> must be paired by a call to <member>leaveUndoContext</member>,
+ otherwise, the document's undo stack is left in an inconsistent state.</p>
+
+ <p>Undo contexts can be nested, i.e. it is legitimate to call <code>enterUndoContext</code> and
+ <member>enterHiddenUndoContext</member> multiple times without calling <member>leaveUndoContext</member> inbetween.</p>
+
+ @see leaveUndoContext
+ */
+ void enterUndoContext(
+ [in] string i_title
+ );
+
+ /** enters a new undo context, creating a hidden undo action.
+
+ <p>A hidden undo action does not, in any visible way, contribute to the undo stack. This means
+ that
+ <ul><li>Calling <member>undo</member> when the top-element is a hidden undo action will transparently
+ undo this action, and also undo the new top element of the stack.</li>
+ <li>Calling <member>redo</member> when the top-element is a hidden action will transparently
+ redo this action, and also redo the new top element of the stack.</li>
+ <li>In any user interface presenting the current Undo or Redo actions to the user, a hidden
+ action will not be listed.</p>
+ </ul>
+
+ <p>A new undo action will be added to the undo stack. As long as the context is not left, every undo action
+ added to the stack will be treated as sub action. This means it will not be directly accessible at the undo
+ manager, not appear in any user interface, and cannot be separately undone or re-done.</p>
+
+ <p>Each call to <code>enterHiddenUndoContext</code> must be paired by a call to <member>leaveUndoContext</member>,
+ otherwise, the document's undo stack is left in an inconsistent state.</p>
+
+ <p>Undo contexts can be nested, i.e. it is legitimate to call <member>enterUndoContext</member> and
+ <code>enterHiddenUndoContext</code> multiple times without calling <member>leaveUndoContext</member> inbetween.</p>
+
+ @throws EmptyUndoStackException
+ if the undo stack is currently empty, in which case it is impossible to push a hidden undo action onto
+ it.
+
+ @see enterUndoContext
+ @see leaveUndoContext
+ */
+ void enterHiddenUndoContext()
+ raises( EmptyUndoStackException );
+
+ /** leaves the undo context previously opened via <member>enterUndoContext</member> respectively
+ <member>enterHiddenUndoContext</member>.
+
+ <p>If no undo action has been added since the context has been opened, the context is not only left,
+ but silently removed, and does not contribute to the undo stack at all. In this case, possible
+ listeners will be notified via <member>XUndoManagerListener::cancelledContext</member>.</p>
+
+ <p>Otherwise, the undo context will be closed, and added to the Undo stack; the redo stack will be cleared,
+ and listeners will be notified via <member>XUndoManagerListener::leftContext</member> resp.
+ <member>XUndoManagerListener::leftHiddenContext</member></p>
+
+ @throws ::com::sun::star::util::InvalidStateException
+ if no undo context is currently open.
+
+ @see enterUndoContext
+ @see enterHiddenUndoContext
+ */
+ void leaveUndoContext()
+ raises( ::com::sun::star::util::InvalidStateException );
+
+ /** adds the given undo action to the undo stack.
+
+ <p>The redo stack is cleared when a new action is pushed onto the undo stack.</p>
+
+ <p>The Undo manager takes ownership of any actions pushed onto the undo stack. This means that if the
+ action is finally removed from the Undo manager's control (e.g. by calling <member>clear</member> resp.
+ <member>clearRedo</member>), it will be disposed, as long as it supports the <member scope="com::sun::star::lang">XComponent</member>
+ interface.</p>
+
+ <p>If the Undo manager is <a href="#locking">locked</a> at the moment the method is called, the call will be ignored, and the undo action
+ will immediately be disposed, if applicable.</p>
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given undo action is <NULL/>.
+ */
+ void addUndoAction(
+ [in] XUndoAction i_action
+ )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ /** reverts the most recent action on the document.
+
+ <p>Effectively, invoking this method will
+ <ul><li>invoke <member>XUndoAction::undo</member> on the top-most action of the undo stack</li>
+ <li>move this undo action from the undo stack to the redo stack</li>
+ </ul></p>
+
+ @throws EmptyUndoStackException
+ if the undo stack is currently empty
+
+ @throws UndoContextNotClosedException
+ if there currently is an open undo context
+
+ @throws UndoFailedException
+ if the invocation of <member>XUndoAction::undo</member> raised this exception. In this case, the undo stack
+ of the undo manager will have been cleared.
+
+ @see redo
+ @see enterUndoContext
+ */
+ void undo()
+ raises( ::com::sun::star::document::EmptyUndoStackException,
+ ::com::sun::star::document::UndoContextNotClosedException,
+ ::com::sun::star::document::UndoFailedException );
+
+ /** replays the action on the document which has most recently been undone
+
+ <p>Effectively, invoking this method will
+ <ul><li>invoke <member>XUndoAction::redo</member> on the top-most action of the redo stack</li>
+ <li>move this action from the redo stack to the undo stack</li>
+ </ul></p>
+
+ @throws EmptyUndoStackException
+ when the Redo stack is currently empty
+
+ @throws UndoContextNotClosedException
+ if there currently is an open undo context
+
+ @throws UndoFailedException
+ if the invocation of <member>XUndoAction::redo</member> raised this exception. In this case, the redo stack
+ of the undo manager will have been cleared.
+
+ @see undo
+ */
+ void redo()
+ raises( ::com::sun::star::document::EmptyUndoStackException,
+ ::com::sun::star::document::UndoContextNotClosedException,
+ ::com::sun::star::document::UndoFailedException );
+
+ /** determines whether <member>undo</member> can reasonably be expected to succeed.
+
+ @return
+ <FALSE/> if and only if the undo stack is currently empty, or there is an open and not-yet-closed
+ undo context.
+ */
+ boolean isUndoPossible();
+
+ /** determines whether <member>redo</member> can reasonably be expected to succeed.
+
+ @return
+ <FALSE/> if and only if the redo stack is currently empty, or there is an open and not-yet-closed
+ undo context.
+ */
+ boolean isRedoPossible();
+
+ /** returns the title of the top-most action on the undo stack
+
+ @throws EmptyUndoStackException
+ when the undo stack is currently empty
+
+ @see XUndoAction::Title
+ */
+ string getCurrentUndoActionTitle()
+ raises( ::com::sun::star::document::EmptyUndoStackException );
+
+ /** returns the title of the top-most action on the Redo stack
+
+ @throws EmptyUndoStackException
+ when the Redo stack is currently empty
+ @see XUndoAction::Title
+ */
+ string getCurrentRedoActionTitle()
+ raises( ::com::sun::star::document::EmptyUndoStackException );
+
+ /** returns the titles of all actions currently on the undo stack, from top to bottom
+ @see XUndoAction::Title
+ */
+ sequence< string >
+ getAllUndoActionTitles();
+
+ /** returns the titles of all actions currently on the Redo stack, from top to bottom
+
+ @see XUndoAction::Title
+ */
+ sequence< string >
+ getAllRedoActionTitles();
+
+ /** clears the undo and the redo stack.
+
+ <p>All actions will be removed from both the Undo and the Redo stack. Actions which implement the
+ <type scope="com::sun::star::lang">XComponent</type> interface will be disposed.</p>
+
+ @throws UndoContextNotClosedException
+ if the method is invoked while an undo context is still open
+ */
+ void clear()
+ raises( ::com::sun::star::document::UndoContextNotClosedException );
+
+ /** clears the redo stack.
+
+ <p>All actions will be removed from the Redo stack. Actions which implement the <type scope="com::sun::star::lang">XComponent</type>
+ interface will be disposed.</p>
+
+ @throws UndoContextNotClosedException
+ if the method is invoked while an undo context is still open
+ */
+ void clearRedo()
+ raises( ::com::sun::star::document::UndoContextNotClosedException );
+
+ /** resets the Undo manager
+
+ <p>In particular, this method will
+ <ul><li>remove all locks from the undo manager</li>
+ <li>close all open undo contexts</li>
+ <li>clear the undo stack</li>
+ <li>clear the redo stack</li>
+ </ul></p>
+
+ <p>Note that possible listeners will not get notifications for the single parts of the reset, i.e. there
+ will be no single <member>XUndoManagerListener::allActionsCleared</member>,
+ <member>XUndoManagerListener::leftContext</member>, etc., notifications. Instead, listeners will be
+ notified of the reset by calling their <member>XUndoManagerListener::resetAll</member> method.</p>
+ */
+ void reset();
+
+ /** adds a listener to be notified of changes in the Undo/Redo stacks.
+ */
+ void addUndoManagerListener(
+ [in] XUndoManagerListener i_listener
+ );
+
+ /** removes a previously added listener
+ */
+ void removeUndoManagerListener(
+ [in] XUndoManagerListener i_listener
+ );
+};
+
+//==================================================================================================================
+
+}; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/XUndoManagerListener.idl b/offapi/com/sun/star/document/XUndoManagerListener.idl
new file mode 100755
index 0000000000000..783e8e7014d88
--- /dev/null
+++ b/offapi/com/sun/star/document/XUndoManagerListener.idl
@@ -0,0 +1,144 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_document_XUndoManagerListener_idl__
+#define __com_sun_star_document_XUndoManagerListener_idl__
+
+#include <com/sun/star/document/UndoManagerEvent.idl>
+#include <com/sun/star/lang/XEventListener.idl>
+
+//==================================================================================================================
+
+module com { module sun { module star { module document {
+
+//==================================================================================================================
+
+/** implemented by components which want to be notified of changes in the Undo/Redo stacks of an Undo manager.
+
+ @see XUndoManager
+ */
+interface XUndoManagerListener : ::com::sun::star::lang::XEventListener
+{
+ /** is called when an undo action is added to the undo stack.
+
+ <p>Note that the action must not necessarily be the new top element of the stack: In case there's an
+ open Undo context, <member>UndoManagerEvent::UndoContextDepth</member> will be greater <code>0</code>,
+ and the newly added action will be subordinate of the context action.</p>
+
+ @see XUndoManager::addUndoAction
+ */
+ void undoActionAdded( [in] UndoManagerEvent i_event );
+
+ /** is called when the top-most action of the undo stack has been undone.
+
+ @see XUndoManager::undo
+ */
+ void actionUndone( [in] UndoManagerEvent i_event );
+
+ /** is called when the top-most action of the Redo stack has been re-applied.
+
+ @see XUndoManager::redo
+ */
+ void actionRedone( [in] UndoManagerEvent i_event );
+
+ /** is called when both the Undo and the Redo stack have been cleared from all Undo actions.
+
+ @see XUndoManager::clear
+ */
+ void allActionsCleared( [in] ::com::sun::star::lang::EventObject i_event );
+
+ /** is called when the the Redo stack has been cleared.
+
+ @see XUndoManager::clearRedo
+ */
+ void redoActionsCleared( [in] ::com::sun::star::lang::EventObject i_event );
+
+ /** called when the complete undo manager has been reset
+ */
+ void resetAll( [in] ::com::sun::star::lang::EventObject i_event );
+
+ /** is called when a new Undo context has been entered.
+
+ <p><member>UndoManagerEvent::UndoActionTitle</member> carries the title of the Undo context, and
+ <member>UndoManagerEvent::UndoContextDepth</member> the number of open Undo contexts, including the
+ one just entered.</p>
+
+ @see XUndoManager::enterUndoContext
+ */
+ void enteredContext( [in] UndoManagerEvent i_event );
+
+ /** is called when a new hidden Undo context has been entered.
+
+ <p><member>UndoManagerEvent::UndoActionTitle</member> carries the title of the Undo context, and
+ <member>UndoManagerEvent::UndoContextDepth</member> the number of open Undo contexts, including the
+ one just entered.</p>
+
+ @see XUndoManager::enterUndoContext
+ */
+ void enteredHiddenContext( [in] UndoManagerEvent i_event );
+
+ /** is called when an Undo context has been left.
+
+ <p><member>UndoManagerEvent::UndoActionTitle</member> carries the title of the Undo context, and
+ <member>UndoManagerEvent::UndoContextDepth</member> the number of open Undo contexts, exluding the
+ one just left.</p>
+
+ @see XUndoManager::leaveUndoContext
+ @see leftHiddenUndocontext
+ @see cancelledContext
+ */
+ void leftContext( [in] UndoManagerEvent i_event );
+
+ /** is calledn when a hidden Undo context has been left.
+
+ <p><member>UndoManagerEvent::UndoActionTitle</member> is empty, as hidden Undo contexts don't have
+ a title.</p>
+
+ @see XUndoManager::leaveHiddenUndoContext
+ @see leftContext
+ @see cancelledContext
+ */
+ void leftHiddenContext( [in] UndoManagerEvent i_event );
+
+ /** is called when an Undo context has been left, but no actions have been added within this context.
+
+ <p>In such a case, the context which has just been left will not contribute to the undo stack, but instead
+ be silently removed. Consequently, the <member>UndoManagerEvent::UndoActionTitle</member> is empty.</p>
+
+ @see XUndoManager::leaveUndoContext
+ @see leftContext
+ @see leftHiddenContext
+ */
+ void cancelledContext( [in] UndoManagerEvent i_event );
+};
+
+//==================================================================================================================
+
+}; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/XUndoManagerSupplier.idl b/offapi/com/sun/star/document/XUndoManagerSupplier.idl
new file mode 100755
index 0000000000000..88a0822594133
--- /dev/null
+++ b/offapi/com/sun/star/document/XUndoManagerSupplier.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_document_XUndoManagerSupplier_idl__
+#define __com_sun_star_document_XUndoManagerSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+//==================================================================================================================
+
+module com { module sun { module star { module document {
+
+interface XUndoManager;
+
+//==================================================================================================================
+
+/** provides access to an XUndoManager.
+ */
+interface XUndoManagerSupplier
+{
+ /** returns the Undo manager associated with the component.
+ */
+ XUndoManager getUndoManager();
+};
+
+//==================================================================================================================
+
+}; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/document/makefile.mk b/offapi/com/sun/star/document/makefile.mk
index 48394a65008ce..1521e6b9513c1 100644
--- a/offapi/com/sun/star/document/makefile.mk
+++ b/offapi/com/sun/star/document/makefile.mk
@@ -114,7 +114,15 @@ IDLFILES=\
XDocumentRevisionListPersistence.idl\
DocumentRevisionListPersistence.idl \
XDocumentLanguages.idl \
- XCodeNameQuery.idl
+ XCodeNameQuery.idl \
+ XUndoAction.idl \
+ XUndoManager.idl \
+ XUndoManagerListener.idl \
+ XUndoManagerSupplier.idl \
+ UndoManagerEvent.idl \
+ EmptyUndoStackException.idl \
+ UndoContextNotClosedException.idl \
+ UndoFailedException.idl \
# ------------------------------------------------------------------
diff --git a/offapi/com/sun/star/linguistic2/XLanguageGuessing.idl b/offapi/com/sun/star/linguistic2/XLanguageGuessing.idl
index b6b618d5a01e7..5535c6e98569f 100644
--- a/offapi/com/sun/star/linguistic2/XLanguageGuessing.idl
+++ b/offapi/com/sun/star/linguistic2/XLanguageGuessing.idl
@@ -81,6 +81,7 @@ module com { module sun { module star { module linguistic2 {
<li>ka : Georgian</li>
<li>ko : Korean</li>
<li>la : Latin</li>
+ <li>lb : Luxembourgish (added with OOo 3.3)</li>
<li>lt : Lithuanian</li>
<li>lv : Latvian</li>
<li>mr : Marathi</li>
@@ -96,10 +97,11 @@ module com { module sun { module star { module linguistic2 {
<li>ru : Russian</li>
<li>sa : Sanskrit</li>
<li>sco : Scots</li>
- <li>sh-YU : Serbian (written with latin characters)</li>
+ <li>sh : Serbian (written with latin characters)</li>
<li>sk-SK : Slovak (written with latin characters)</li>
<li>sl : Slovenian</li>
<li>sq : Albanian</li>
+ <li>sr : Serbian (written with cyrillic characters) (added with OOo 3.4)</li>
<li>sv : Swedish</li>
<li>sw : Swahili</li>
<li>ta : Tamil</li>
diff --git a/offapi/com/sun/star/script/vba/VBAMacroResolver.idl b/offapi/com/sun/star/script/vba/VBAMacroResolver.idl
new file mode 100755
index 0000000000000..62f6e8ce0c2aa
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/VBAMacroResolver.idl
@@ -0,0 +1,49 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_script_vba_VBAMacroResolver_idl__
+#define __com_sun_star_script_vba_VBAMacroResolver_idl__
+
+#include <com/sun/star/script/vba/XVBAMacroResolver.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module script { module vba {
+
+//=============================================================================
+
+service VBAMacroResolver : XVBAMacroResolver
+{
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/script/vba/XVBAMacroResolver.idl b/offapi/com/sun/star/script/vba/XVBAMacroResolver.idl
new file mode 100755
index 0000000000000..3782192680102
--- /dev/null
+++ b/offapi/com/sun/star/script/vba/XVBAMacroResolver.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_script_vba_XVBAMacroResolver_idl__
+#define __com_sun_star_script_vba_XVBAMacroResolver_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module script { module vba {
+
+//=============================================================================
+
+/** Converts VBA macro names to script URLs and vice versa.
+ */
+interface XVBAMacroResolver
+{
+ //-------------------------------------------------------------------------
+
+ /** Returns the script URL representing the passed VBA macro name.
+
+ @param aVBAMacroName
+ The VBA macro name to be resolved to a script URL. The macro name
+ may consist of up to three parts, divided by periods. The first two
+ parts are optional. The first part represents the VBA project name.
+ The second part represents the module name. The third part
+ represents the procedure name. Example: All the VBA macro names
+ "VBAProject.Module1.TestMacro", "Module1.TestMacro",
+ "VBAProject.TestMacro", and "TestMacro" may refer to the same VBA
+ procedure located in "Module" of the project "VBAProject". If the
+ module name is missing, then all modules are searched for a macro
+ with the specified name.
+
+ @return
+ The script URL referring to the passed VBA macro.
+
+ @throws <type scope="::com::sun::star::lang">IllegalArgumentException</type>
+ if a macro with the passed name does not exist.
+ **/
+ string resolveVBAMacroToScriptURL( [in] string aVBAMacroName )
+ raises (::com::sun::star::lang::IllegalArgumentException);
+
+ //-------------------------------------------------------------------------
+
+ /** Returns the VBA macro name for a macro with the passed script URL.
+
+ @param aScriptURL
+ The script URL to be resolved to a VBA macro name. Must be a
+ document-local script.
+
+ @return
+ The VBA macro name referring to a macro with the passed script URL.
+
+ @throws <type scope="::com::sun::star::lang">IllegalArgumentException</type>
+ if a macro with the passed name does not exist.
+ **/
+ string resolveScriptURLtoVBAMacro( [in] string aScriptURL )
+ raises (::com::sun::star::lang::IllegalArgumentException);
+
+ //-------------------------------------------------------------------------
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/script/vba/makefile.mk b/offapi/com/sun/star/script/vba/makefile.mk
index 4657b587d7d8f..336be1b5e7a63 100755
--- a/offapi/com/sun/star/script/vba/makefile.mk
+++ b/offapi/com/sun/star/script/vba/makefile.mk
@@ -40,10 +40,12 @@ PACKAGE=com$/sun$/star$/script$/vba
IDLFILES=\
VBAEventId.idl \
VBAEventProcessor.idl \
+ VBAMacroResolver.idl \
VBASpreadsheetEventProcessor.idl \
VBATextEventProcessor.idl \
XVBACompatibility.idl \
XVBAEventProcessor.idl \
+ XVBAMacroResolver.idl \
XVBAModuleInfo.idl
# ------------------------------------------------------------------
diff --git a/offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl b/offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl
index 06008bbc059dc..90edc6b22200c 100644
--- a/offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl
+++ b/offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl
@@ -56,7 +56,7 @@ constants FormulaMapGroupSpecialOffset
constants.</li>
<li>A <atom>string</atom> for literal text.</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>.
+ 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>
@@ -142,7 +142,7 @@ constants FormulaMapGroupSpecialOffset
able to parse.
<p>The <member>FormulaToken::Data</member> member shall contain a
- <atom>string</string> with the bad data. This string will be displayed
+ <atom>string</atom> with the bad data. This string will be displayed
literally in the formula.</p>
*/
const long BAD = 7;
diff --git a/offapi/com/sun/star/sheet/SheetFilterDescriptor.idl b/offapi/com/sun/star/sheet/SheetFilterDescriptor.idl
index 8e94a6b2edcf0..cd4a12abde760 100644
--- a/offapi/com/sun/star/sheet/SheetFilterDescriptor.idl
+++ b/offapi/com/sun/star/sheet/SheetFilterDescriptor.idl
@@ -28,21 +28,11 @@
#ifndef __com_sun_star_sheet_SheetFilterDescriptor_idl__
#define __com_sun_star_sheet_SheetFilterDescriptor_idl__
-#ifndef __com_sun_star_sheet_XSheetFilterDescriptor_idl__
#include <com/sun/star/sheet/XSheetFilterDescriptor.idl>
-#endif
-
-#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/sheet/XSheetFilterDescriptor2.idl>
#include <com/sun/star/beans/XPropertySet.idl>
-#endif
-
-#ifndef __com_sun_star_table_TableOrientation_idl__
#include <com/sun/star/table/TableOrientation.idl>
-#endif
-
-#ifndef __com_sun_star_table_CellAddress_idl__
#include <com/sun/star/table/CellAddress.idl>
-#endif
//=============================================================================
@@ -62,7 +52,20 @@ published service SheetFilterDescriptor
/** provides access to the collection of filter fields.
*/
- interface com::sun::star::sheet::XSheetFilterDescriptor;
+ interface XSheetFilterDescriptor;
+
+ //-------------------------------------------------------------------------
+
+ /** provides access to the collection of filter fields.
+
+ <p>This interface provides a sequence of <type>TableFilterField2</type>
+ structures supporting a wider range of comparison operators, compared
+ to the <type>TableFilterField</type> structure provided by interface
+ <type>XSheetFilterDescriptor</type>.
+
+ @since OOo 3.2
+ */
+ [optional] interface XSheetFilterDescriptor2;
//-------------------------------------------------------------------------
diff --git a/offapi/com/sun/star/sheet/SpreadsheetViewObjectsMode.idl b/offapi/com/sun/star/sheet/SpreadsheetViewObjectsMode.idl
new file mode 100755
index 0000000000000..d672dd8931e9a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SpreadsheetViewObjectsMode.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_SpreadsheetViewObjectsMode_idl__
+#define __com_sun_star_sheet_SpreadsheetViewObjectsMode_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** Constants that control how embedded objects are shown in the view.
+ */
+published constants SpreadsheetViewObjectsMode
+{
+ //-------------------------------------------------------------------------
+
+ /** Specifies to display a specific set of objects in the spreadsheet view.
+ */
+ const short SHOW = 0;
+
+ //-------------------------------------------------------------------------
+
+ /** Specifies to hide a specific set of objects from the spreadsheet view.
+ */
+ const short HIDE = 1;
+
+ //-------------------------------------------------------------------------
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/SpreadsheetViewSettings.idl b/offapi/com/sun/star/sheet/SpreadsheetViewSettings.idl
index e40ea1dd8fe4f..c1b56ff7ffc69 100644
--- a/offapi/com/sun/star/sheet/SpreadsheetViewSettings.idl
+++ b/offapi/com/sun/star/sheet/SpreadsheetViewSettings.idl
@@ -149,18 +149,24 @@ published service SpreadsheetViewSettings
//-------------------------------------------------------------------------
/** enables display of embedded objects in the view.
+
+ @see SpreadsheetViewObjectsMode
*/
[property] short ShowObjects;
//-------------------------------------------------------------------------
/** enables the display of charts in the view.
+
+ @see SpreadsheetViewObjectsMode
*/
[property] short ShowCharts;
//-------------------------------------------------------------------------
/** enables the display of drawing objects in the view.
+
+ @see SpreadsheetViewObjectsMode
*/
[property] short ShowDrawing;
@@ -175,14 +181,14 @@ published service SpreadsheetViewSettings
@see com::sun::star::view::DocumentZoomType
*/
- [property] short ZoomType;
+ [property] short ZoomType;
//-------------------------------------------------------------------------
/** Defines the zoom value to use.
Valid only if the ZoomType is set to
<member scope="com::sun::star::view::DocumentZoomType">BY_VALUE</member>.
*/
- [property] short ZoomValue;
+ [property] short ZoomValue;
};
//=============================================================================
diff --git a/offapi/com/sun/star/sheet/TableFilterField.idl b/offapi/com/sun/star/sheet/TableFilterField.idl
index 6000a1c0247e8..69d9a5bcc6eee 100644
--- a/offapi/com/sun/star/sheet/TableFilterField.idl
+++ b/offapi/com/sun/star/sheet/TableFilterField.idl
@@ -28,13 +28,8 @@
#ifndef __com_sun_star_sheet_TableFilterField_idl__
#define __com_sun_star_sheet_TableFilterField_idl__
-#ifndef __com_sun_star_sheet_FilterConnection_idl__
#include <com/sun/star/sheet/FilterConnection.idl>
-#endif
-
-#ifndef __com_sun_star_sheet_FilterOperator_idl__
#include <com/sun/star/sheet/FilterOperator.idl>
-#endif
//=============================================================================
@@ -44,7 +39,7 @@ module com { module sun { module star { module sheet {
/** describes a single condition in a filter descriptor.
- @see com::sun::star::sheet::SheetFilterDescriptor
+ @see SheetFilterDescriptor
*/
published struct TableFilterField
{
@@ -52,7 +47,7 @@ published struct TableFilterField
/** specifies how the condition is connected to the previous condition.
*/
- com::sun::star::sheet::FilterConnection Connection;
+ FilterConnection Connection;
//-------------------------------------------------------------------------
@@ -64,7 +59,7 @@ published struct TableFilterField
/** specifies the type of the condition.
*/
- com::sun::star::sheet::FilterOperator Operator;
+ FilterOperator Operator;
//-------------------------------------------------------------------------
diff --git a/offapi/com/sun/star/sheet/TableFilterField2.idl b/offapi/com/sun/star/sheet/TableFilterField2.idl
index cfbcfa4d143c7..d7383f477bdc0 100644
--- a/offapi/com/sun/star/sheet/TableFilterField2.idl
+++ b/offapi/com/sun/star/sheet/TableFilterField2.idl
@@ -28,14 +28,8 @@
#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
//=============================================================================
@@ -49,7 +43,7 @@ module com { module sun { module star { module sheet {
member, whereas the <type>TableFilterField</type> struct uses the
<type>FilterOperator</type> enum.</p>
- @see com::sun::star::sheet::SheetFilterDescriptor
+ @see SheetFilterDescriptor
@since OOo 3.2
*/
published struct TableFilterField2
@@ -58,7 +52,7 @@ published struct TableFilterField2
/** specifies how the condition is connected to the previous condition.
*/
- com::sun::star::sheet::FilterConnection Connection;
+ FilterConnection Connection;
//-------------------------------------------------------------------------
@@ -69,7 +63,7 @@ published struct TableFilterField2
//-------------------------------------------------------------------------
/** specifies the type of the condition as defined in
- <type>FilterOperator2</type>.
+ <type>FilterOperator2</type>.
*/
long Operator;
diff --git a/offapi/com/sun/star/sheet/XDatabaseRange.idl b/offapi/com/sun/star/sheet/XDatabaseRange.idl
index 573578f0c3551..9826ab8278e6e 100644
--- a/offapi/com/sun/star/sheet/XDatabaseRange.idl
+++ b/offapi/com/sun/star/sheet/XDatabaseRange.idl
@@ -77,7 +77,7 @@ published interface XDatabaseRange: com::sun::star::uno::XInterface
/** returns the sort descriptor stored with the database range.
- @see com::sun::star::sheet::SheetSortDescriptor2
+ @see SheetSortDescriptor2
*/
sequence< com::sun::star::beans::PropertyValue > getSortDescriptor();
@@ -88,8 +88,10 @@ published interface XDatabaseRange: com::sun::star::uno::XInterface
<p>If the filter descriptor is modified, the new filtering is
carried out when <member>XDatabaseRange::refresh()</member> is
called.</p>
+
+ @see SheetFilterDescriptor
*/
- com::sun::star::sheet::XSheetFilterDescriptor getFilterDescriptor();
+ XSheetFilterDescriptor getFilterDescriptor();
//-------------------------------------------------------------------------
@@ -98,15 +100,17 @@ published interface XDatabaseRange: com::sun::star::uno::XInterface
<p>If the subtotal descriptor is modified, the new subtotals are
inserted when <member>XDatabaseRange::refresh()</member> is
called.</p>
+
+ @see SubTotalDescriptor
*/
- com::sun::star::sheet::XSubTotalDescriptor getSubTotalDescriptor();
+ XSubTotalDescriptor getSubTotalDescriptor();
//-------------------------------------------------------------------------
/** returns the database import descriptor stored with this database
range.
- @see com::sun::star::sheet::DatabaseImportDescriptor
+ @see DatabaseImportDescriptor
*/
sequence< com::sun::star::beans::PropertyValue > getImportDescriptor();
diff --git a/offapi/com/sun/star/sheet/XSheetFilterDescriptor.idl b/offapi/com/sun/star/sheet/XSheetFilterDescriptor.idl
index 49f44fd534d8f..b3864f373c8a5 100644
--- a/offapi/com/sun/star/sheet/XSheetFilterDescriptor.idl
+++ b/offapi/com/sun/star/sheet/XSheetFilterDescriptor.idl
@@ -28,13 +28,8 @@
#ifndef __com_sun_star_sheet_XSheetFilterDescriptor_idl__
#define __com_sun_star_sheet_XSheetFilterDescriptor_idl__
-#ifndef __com_sun_star_uno_XInterface_idl__
-#include <com/sun/star/uno/XInterface.idl>
-#endif
-
-#ifndef __com_sun_star_sheet_TableFilterField_idl__
#include <com/sun/star/sheet/TableFilterField.idl>
-#endif
+#include <com/sun/star/uno/XInterface.idl>
//=============================================================================
@@ -44,7 +39,7 @@ module com { module sun { module star { module sheet {
/** provides access to a collection of filter conditions (filter fields).
- @see com::sun::star::sheet::SheetFilterDescriptor
+ @see SheetFilterDescriptor
*/
published interface XSheetFilterDescriptor: com::sun::star::uno::XInterface
{
@@ -52,14 +47,13 @@ published interface XSheetFilterDescriptor: com::sun::star::uno::XInterface
/** returns the collection of filter fields.
*/
- sequence< com::sun::star::sheet::TableFilterField > getFilterFields();
+ sequence< TableFilterField > getFilterFields();
//-------------------------------------------------------------------------
/** sets a new collection of filter fields.
*/
- void setFilterFields(
- [in] sequence< com::sun::star::sheet::TableFilterField > aFilterFields );
+ void setFilterFields( [in] sequence< TableFilterField > aFilterFields );
};
diff --git a/offapi/com/sun/star/sheet/XSheetFilterDescriptor2.idl b/offapi/com/sun/star/sheet/XSheetFilterDescriptor2.idl
index 8f94ee65fc8ec..ba8b7904366ef 100644
--- a/offapi/com/sun/star/sheet/XSheetFilterDescriptor2.idl
+++ b/offapi/com/sun/star/sheet/XSheetFilterDescriptor2.idl
@@ -28,13 +28,8 @@
#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
//=============================================================================
@@ -48,7 +43,7 @@ module com { module sun { module star { module sheet {
whereas the <type>XSheetFilterDescriptor</type> interface uses the
<type>TableFilterField</type> struct.</p>
- @see com::sun::star::sheet::SheetFilterDescriptor
+ @see SheetFilterDescriptor
@since OOo 3.2
*/
published interface XSheetFilterDescriptor2: com::sun::star::uno::XInterface
@@ -57,14 +52,13 @@ published interface XSheetFilterDescriptor2: com::sun::star::uno::XInterface
/** returns the collection of filter fields.
*/
- sequence< com::sun::star::sheet::TableFilterField2 > getFilterFields2();
+ sequence< TableFilterField2 > getFilterFields2();
//-------------------------------------------------------------------------
/** sets a new collection of filter fields.
*/
- void setFilterFields2(
- [in] sequence< com::sun::star::sheet::TableFilterField2 > aFilterFields );
+ void setFilterFields2( [in] sequence< TableFilterField2 > aFilterFields );
};
diff --git a/offapi/com/sun/star/sheet/makefile.mk b/offapi/com/sun/star/sheet/makefile.mk
index 65e8d5c404913..c5b15a5b07aff 100644
--- a/offapi/com/sun/star/sheet/makefile.mk
+++ b/offapi/com/sun/star/sheet/makefile.mk
@@ -198,6 +198,7 @@ IDLFILES=\
SpreadsheetDocumentSettings.idl\
SpreadsheetDrawPage.idl\
SpreadsheetView.idl\
+ SpreadsheetViewObjectsMode.idl\
SpreadsheetViewPane.idl\
SpreadsheetViewPanesEnumeration.idl\
SpreadsheetViewSettings.idl\
diff --git a/offapi/com/sun/star/text/PrintPreviewSettings.idl b/offapi/com/sun/star/text/PrintPreviewSettings.idl
index e282cf76536f8..e282cf76536f8 100755..100644
--- a/offapi/com/sun/star/text/PrintPreviewSettings.idl
+++ b/offapi/com/sun/star/text/PrintPreviewSettings.idl
diff --git a/offapi/com/sun/star/util/DiskFullException.idl b/offapi/com/sun/star/util/DiskFullException.idl
index 385a5d1f590a7..43eda08302a24 100644
--- a/offapi/com/sun/star/util/DiskFullException.idl
+++ b/offapi/com/sun/star/util/DiskFullException.idl
@@ -38,7 +38,7 @@ module com { module sun { module star { module util {
//=============================================================================
-/** is thrown when a disk full error occurs.
+/** @deprecated
*/
published exception DiskFullException: com::sun::star::util::FileIOException
{
diff --git a/offapi/com/sun/star/util/FileIOException.idl b/offapi/com/sun/star/util/FileIOException.idl
index 2b1d2ae314002..804c180947044 100644
--- a/offapi/com/sun/star/util/FileIOException.idl
+++ b/offapi/com/sun/star/util/FileIOException.idl
@@ -37,7 +37,7 @@ module com { module sun { module star { module util {
//=============================================================================
-/** thrown when file I/O error occurs.
+/** @deprecated
*/
published exception FileIOException: com::sun::star::uno::Exception
{
@@ -48,3 +48,4 @@ published exception FileIOException: com::sun::star::uno::Exception
}; }; }; };
#endif
+
diff --git a/offapi/com/sun/star/util/NotLockedException.idl b/offapi/com/sun/star/util/NotLockedException.idl
new file mode 100755
index 0000000000000..b0917e0bdca66
--- /dev/null
+++ b/offapi/com/sun/star/util/NotLockedException.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_util_NotLockedException_idl__
+#define __com_sun_star_util_NotLockedException_idl__
+
+#include <com/sun/star/util/InvalidStateException.idl>
+
+//==================================================================================================================
+
+module com { module sun { module star { module util {
+
+//==================================================================================================================
+
+/** is raised when attempt is made to unlock a lockable component which actually is not locked.
+ */
+exception NotLockedException : ::com::sun::star::util::InvalidStateException
+{
+};
+
+//==================================================================================================================
+
+}; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/util/XBroadcaster.idl b/offapi/com/sun/star/util/XBroadcaster.idl
index feb09fe6124f9..a622fcef7b984 100644
--- a/offapi/com/sun/star/util/XBroadcaster.idl
+++ b/offapi/com/sun/star/util/XBroadcaster.idl
@@ -50,7 +50,7 @@ interface XBroadcaster: com::sun::star::uno::XInterface
<member>XBroadcaster::unlockBroadcasts()</member> may be
nested and even overlapping, but they must be in pairs. While
there is at least one lock remaining, no broadcasts are
- send to registered listeners.
+ sent to registered listeners.
</p>
*/
[oneway] void lockBroadcasts();
@@ -64,10 +64,10 @@ interface XBroadcaster: com::sun::star::uno::XInterface
<member>XBroadcaster::unlockBroadcasts()</member> may be
nested and even overlapping, but they must be in pairs. While
there is at least one lock remaining, no broadcasts are
- send to registered listeners.
+ sent to registered listeners.
</p>
- <p> Pending broadcasts will be send immediately after the last
+ <p> Pending broadcasts will be sent immediately after the last
call to <member>XBroadcaster::lockBroadcast()</member> is matched
by a call to <member>XBroadcaster::unlockBroadcasts()</member>.
An implementation can decide to broadcast all pending notification in
diff --git a/offapi/com/sun/star/util/XLockable.idl b/offapi/com/sun/star/util/XLockable.idl
new file mode 100755
index 0000000000000..e3da8025a0340
--- /dev/null
+++ b/offapi/com/sun/star/util/XLockable.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied 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_util_XLockable_idl__
+#define __com_sun_star_util_XLockable_idl__
+
+#include <com/sun/star/util/NotLockedException.idl>
+
+//==================================================================================================================
+
+module com { module sun { module star { module util {
+
+//==================================================================================================================
+
+/** allows locking a component
+
+ <p><code>lock</code> and <code>unlock</code> calls can be nested. However, they must be in
+ pairs. As long as there has been one more call to <code>lock</code> than to <code>unlock</code>, the
+ component is considered locked, which is reflected by <member>isLocked</member> returning <TRUE/>.</p>
+ */
+interface XLockable
+{
+ /** locks</a> the component
+
+ @see unlock
+ @see isLocked
+ */
+ void lock();
+
+ /** unlocks the component
+
+ @throws NotLockedException
+ if the component is not currently locked.
+
+ @see lock
+ @see isLocked
+ */
+ void unlock()
+ raises ( NotLockedException
+ );
+
+ /** determines whether the component is currently locked.
+
+ @see lock
+ @see unlock
+ */
+ boolean isLocked();
+};
+
+//==================================================================================================================
+
+}; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/util/makefile.mk b/offapi/com/sun/star/util/makefile.mk
index aa0374296ddb8..87dc2d0780376 100644
--- a/offapi/com/sun/star/util/makefile.mk
+++ b/offapi/com/sun/star/util/makefile.mk
@@ -145,6 +145,8 @@ IDLFILES=\
UriAbbreviation.idl\
XJobManager.idl\
JobManager.idl\
+ XLockable.idl\
+ NotLockedException.idl\
# ------------------------------------------------------------------
diff --git a/offapi/prj/build.lst b/offapi/prj/build.lst
index bc6dda5660313..e5c9a72f312f6 100644
--- a/offapi/prj/build.lst
+++ b/offapi/prj/build.lst
@@ -9,6 +9,7 @@ oa offapi\com\sun\star\accessibility nmake - all oa_accessibility oa_awt N
oa offapi\com\sun\star\awt nmake - all oa_awt NULL
oa offapi\com\sun\star\awt\tree nmake - all oa_awttree NULL
oa offapi\com\sun\star\awt\grid nmake - all oa_awtgrid NULL
+oa offapi\com\sun\star\awt\tab nmake - all oa_awttab NULL
oa offapi\com\sun\star\chart nmake - all oa_chart NULL
oa offapi\com\sun\star\chart2 nmake - all oa_chart2 NULL
oa offapi\com\sun\star\chart2\data nmake - all oa_chart2_data NULL
@@ -106,4 +107,4 @@ oa offapi\com\sun\star\rendering nmake - all oa_rendering oa_geometry NU
oa offapi\com\sun\star\rdf nmake - all oa_rdf oa_datatransfer oa_text NULL
oa offapi\com\sun\star\office nmake - all oa_office oa_text NULL
oa offapi\drafts\com\sun\star\form nmake - all oa_drafts_form NULL
-oa offapi\util nmake - all oa_util oa_auth oa_awt oa_awttree oa_awtgrid oa_chart oa_chart2 oa_chart2_data oa_config oa_configbootstrap oa_configbackend oa_configbackend_xml oa_datatrans_clip oa_datatrans_dnd oa_datatransfer oa_docu oa_draw oa_draw_framework oa_embed oa_fcomp oa_finsp oa_fcontr oa_fieldmaster oa_form oa_xforms oa_formula oa_frame oa_i18n oa_inst oa_ldap oa_ling2 oa_logging oa_mail oa_media oa_mozilla oa_packages oa_manifest oa_zippackage oa_plug oa_pres oa_animations oa_putil oa_resrc oa_sax oa_xml_input oa_scan oa_sdb oa_sdbtools oa_sdbapp oa_sdbc oa_sdbcx oa_setup oa_sheet oa_style oa_svg oa_sync oa_sync2 oa_system oa_table oa_task oa_text oa_textfield oa_docinfo oa_ucb oa_view oa_xml oa_xml_dom oa_xml_xpath oa_xml_views oa_xml_events oa_image oa_xsd oa_inspection oa_ui oa_ui_dialogs oa_accessibility oa_form_binding oa_form_validation oa_form_submission oa_fruntime oa_geometry oa_rendering oa_sfprovider oa_sfbrowse oa_drafts_form oa_deployment oa_deploymenttest oa_deployment_ui oa_frame_status oa_gallery oa_graphic oa_security oa_crypto_sax oa_crypto oa_csax oa_wrapper oa_script oa_script_vba oa_smarttags oa_report oa_reportins oa_reportmeta oa_rdf oa_oooimprovement oa_office oa_prestextfield oa_starme NULL
+oa offapi\util nmake - all oa_util oa_auth oa_awt oa_awttree oa_awtgrid oa_awttab oa_chart oa_chart2 oa_chart2_data oa_config oa_configbootstrap oa_configbackend oa_configbackend_xml oa_datatrans_clip oa_datatrans_dnd oa_datatransfer oa_docu oa_draw oa_draw_framework oa_embed oa_fcomp oa_finsp oa_fcontr oa_fieldmaster oa_form oa_xforms oa_formula oa_frame oa_i18n oa_inst oa_ldap oa_ling2 oa_logging oa_mail oa_media oa_mozilla oa_packages oa_manifest oa_zippackage oa_plug oa_pres oa_animations oa_putil oa_resrc oa_sax oa_xml_input oa_scan oa_sdb oa_sdbtools oa_sdbapp oa_sdbc oa_sdbcx oa_setup oa_sheet oa_style oa_svg oa_sync oa_sync2 oa_system oa_table oa_task oa_text oa_textfield oa_docinfo oa_ucb oa_view oa_xml oa_xml_dom oa_xml_xpath oa_xml_views oa_xml_events oa_image oa_xsd oa_inspection oa_ui oa_ui_dialogs oa_accessibility oa_form_binding oa_form_validation oa_form_submission oa_fruntime oa_geometry oa_rendering oa_sfprovider oa_sfbrowse oa_drafts_form oa_deployment oa_deploymenttest oa_deployment_ui oa_frame_status oa_gallery oa_graphic oa_security oa_crypto_sax oa_crypto oa_csax oa_wrapper oa_script oa_smarttags oa_report oa_reportins oa_reportmeta oa_rdf oa_oooimprovement oa_office oa_prestextfield oa_starme NULL
diff --git a/offapi/prj/d.lst b/offapi/prj/d.lst
index 764521f3e9440..a271a7159130e 100644
--- a/offapi/prj/d.lst
+++ b/offapi/prj/d.lst
@@ -13,6 +13,7 @@ mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\auth
mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\awt
mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\awt\tree
mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\awt\grid
+mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\awt\tab
mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\chart
mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\chart2
mkdir: %COMMON_DEST%\idl%_EXT%\com\sun\star\chart2\data
@@ -130,6 +131,7 @@ mkdir: %COMMON_DEST%\idl%_EXT%\drafts\com\sun\star\form
..\com\sun\star\awt\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\awt
..\com\sun\star\awt\tree\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\awt\tree
..\com\sun\star\awt\grid\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\awt\grid
+..\com\sun\star\awt\tab\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\awt\tab
..\com\sun\star\chart\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\chart
..\com\sun\star\chart2\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\chart2
..\com\sun\star\chart2\data\*.idl %COMMON_DEST%\idl%_EXT%\com\sun\star\chart2\data
diff --git a/offapi/util/makefile.mk b/offapi/util/makefile.mk
index 016180d7765cc..dd91e2d994563 100644
--- a/offapi/util/makefile.mk
+++ b/offapi/util/makefile.mk
@@ -42,6 +42,7 @@ UNOIDLDBFILES= \
$(UCR)$/cssawt.db \
$(UCR)$/cssawttree.db \
$(UCR)$/cssawtgrid.db \
+ $(UCR)$/cssawttab.db \
$(UCR)$/csschart.db \
$(UCR)$/csschart2.db \
$(UCR)$/csschart2data.db \
diff --git a/offuh/prj/d.lst b/offuh/prj/d.lst
index 486c08f1c655f..464dfca140759 100644
--- a/offuh/prj/d.lst
+++ b/offuh/prj/d.lst
@@ -8,6 +8,7 @@ mkdir: %_DEST%\inc%_EXT%\offuh\com\sun\star\accessibility
mkdir: %_DEST%\inc%_EXT%\offuh\com\sun\star\awt
mkdir: %_DEST%\inc%_EXT%\offuh\com\sun\star\awt\tree
mkdir: %_DEST%\inc%_EXT%\offuh\com\sun\star\awt\grid
+mkdir: %_DEST%\inc%_EXT%\offuh\com\sun\star\awt\tab
mkdir: %_DEST%\inc%_EXT%\offuh\com\sun\star\beans
mkdir: %_DEST%\inc%_EXT%\offuh\com\sun\star\bridge
mkdir: %_DEST%\inc%_EXT%\offuh\com\sun\star\bridge\oleautomation
@@ -159,6 +160,8 @@ mkdir: %_DEST%\inc%_EXT%\offuh\msforms
..\%__SRC%\inc\offuh\com\sun\star\awt\tree\*.hpp %_DEST%\inc%_EXT%\offuh\com\sun\star\awt\tree\*.hpp
..\%__SRC%\inc\offuh\com\sun\star\awt\grid\*.hdl %_DEST%\inc%_EXT%\offuh\com\sun\star\awt\grid\*.hdl
..\%__SRC%\inc\offuh\com\sun\star\awt\grid\*.hpp %_DEST%\inc%_EXT%\offuh\com\sun\star\awt\grid\*.hpp
+..\%__SRC%\inc\offuh\com\sun\star\awt\tab\*.hdl %_DEST%\inc%_EXT%\offuh\com\sun\star\awt\tab\*.hdl
+..\%__SRC%\inc\offuh\com\sun\star\awt\tab\*.hpp %_DEST%\inc%_EXT%\offuh\com\sun\star\awt\tab\*.hpp
..\%__SRC%\inc\offuh\com\sun\star\beans\*.hdl %_DEST%\inc%_EXT%\offuh\com\sun\star\beans\*.hdl
..\%__SRC%\inc\offuh\com\sun\star\beans\*.hpp %_DEST%\inc%_EXT%\offuh\com\sun\star\beans\*.hpp
..\%__SRC%\inc\offuh\com\sun\star\bridge\*.hdl %_DEST%\inc%_EXT%\offuh\com\sun\star\bridge\*.hdl
diff --git a/pyuno/demo/pyunoenv.tcsh b/pyuno/demo/pyunoenv.tcsh
index 1a831996325f3..038cf2ddb45bd 100644
--- a/pyuno/demo/pyunoenv.tcsh
+++ b/pyuno/demo/pyunoenv.tcsh
@@ -17,7 +17,12 @@ if( ! $?LD_LIBRARY_PATH ) then
setenv LD_LIBRARY_PATH
endif
-setenv PYTHONPATH .:$OOOHOME/program:$OOOHOME/program/pydemo:$OOOHOME/program/python/lib:$PYTHONPATH
+if( "$PYTHONPATH" != "" ) then
+ setenv PYTHONPATH $OOOHOME/program:$OOOHOME/program/pydemo:$OOOHOME/program/python/lib:$PYTHONPATH
+else
+ setenv PYTHONPATH $OOOHOME/program:$OOOHOME/program/pydemo:$OOOHOME/program/python/lib
+endif
+
setenv LD_LIBRARY_PATH $OOOHOME/program:$LD_LIBRARY_PATH
if( $?PYTHONHOME ) then
diff --git a/sal/inc/sal/types.h b/sal/inc/sal/types.h
index 14c24480d98b2..2db057b2fa124 100644
--- a/sal/inc/sal/types.h
+++ b/sal/inc/sal/types.h
@@ -291,7 +291,7 @@ typedef void * sal_Handle;
These macros are used for inline declarations of exception classes, as in
rtl/malformeduriexception.hxx.
*/
-#if defined __GNUC__
+#if defined(__GNUC__) && ! defined(__MINGW32__)
#define SAL_EXCEPTION_DLLPUBLIC_EXPORT SAL_DLLPUBLIC_EXPORT
#define SAL_EXCEPTION_DLLPRIVATE SAL_DLLPRIVATE
#else
diff --git a/sal/osl/all/makefile.mk b/sal/osl/all/makefile.mk
index 0d105906effb8..5da61e8b2ec3c 100644
--- a/sal/osl/all/makefile.mk
+++ b/sal/osl/all/makefile.mk
@@ -55,7 +55,8 @@ SLOFILES= \
$(SLO)$/utility.obj\
$(SLO)$/filepath.obj\
$(SLO)$/debugbase.obj\
- $(SLO)$/loadmodulerelative.obj
+ $(SLO)$/loadmodulerelative.obj \
+ $(SLO)/printtrace.obj
# $(SLO)$/readline.obj\
@@ -64,7 +65,8 @@ OBJFILES= \
$(OBJ)$/utility.obj\
$(OBJ)$/filepath.obj\
$(OBJ)$/debugbase.obj\
- $(OBJ)$/loadmodulerelative.obj
+ $(OBJ)$/loadmodulerelative.obj \
+ $(OBJ)/printtrace.obj
# $(OBJ)$/readline.obj\
#.ENDIF
diff --git a/sal/osl/all/printtrace.cxx b/sal/osl/all/printtrace.cxx
new file mode 100644
index 0000000000000..5d79d9b1de5ae
--- /dev/null
+++ b/sal/osl/all/printtrace.cxx
@@ -0,0 +1,65 @@
+/*************************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+************************************************************************/
+
+#include "precompiled_sal.hxx"
+
+#include "sal/config.h"
+
+#include <cstdarg>
+#include <cstdio>
+#include <cstring>
+
+#include <stdio.h> // snprintf, vsnprintf
+
+#include "osl/diagnose.h"
+#include "osl/thread.hxx"
+#include "rtl/string.h"
+#include "sal/types.h"
+
+#include "printtrace.h"
+
+void printTrace(unsigned long pid, char const * format, std::va_list arguments)
+{
+ char buf[1024];
+ int n1 = snprintf(
+ buf, sizeof buf, "Trace %lu/%" SAL_PRIuUINT32 ": \"", pid,
+ osl::Thread::getCurrentIdentifier());
+ OSL_ASSERT(
+ n1 >= 0 &&
+ (static_cast< unsigned int >(n1) <
+ sizeof buf - RTL_CONSTASCII_LENGTH("\"...\n")));
+ int n2 = sizeof buf - n1 - RTL_CONSTASCII_LENGTH("\"...\n");
+ int n3 = vsnprintf(buf + n1, n2, format, arguments);
+ if (n3 < 0) {
+ std::strcpy(buf + n1, "\"???\n");
+ } else if (n3 < n2) {
+ std::strcpy(buf + n1 + n3, "\"\n");
+ } else {
+ std::strcpy(buf + n1 + n2 - 1, "\"...\n");
+ }
+ std::fputs(buf, stderr);
+}
diff --git a/sal/osl/inc/printtrace.h b/sal/osl/inc/printtrace.h
new file mode 100644
index 0000000000000..9e1d514b0d08f
--- /dev/null
+++ b/sal/osl/inc/printtrace.h
@@ -0,0 +1,46 @@
+/*************************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied 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 INCLUDED_SAL_OSL_INC_PRINTTRACE_H
+#define INCLUDED_SAL_OSL_INC_PRINTTRACE_H
+
+#include "sal/config.h"
+
+#include <stdarg.h>
+
+#if defined __cplusplus
+extern "C" {
+#endif
+
+/* called internally by osl_trace */
+void printTrace(unsigned long pid, char const * format, va_list arguments);
+
+#if defined __cplusplus
+}
+#endif
+
+#endif
diff --git a/sal/osl/os2/diagnose.c b/sal/osl/os2/diagnose.c
index 4921e20fd5af8..b105e0b78c295 100644
--- a/sal/osl/os2/diagnose.c
+++ b/sal/osl/os2/diagnose.c
@@ -35,6 +35,8 @@
#include <osl/diagnose.h>
#include <osl/thread.h>
+#include "printtrace.h"
+
BYTE oslTraceEnv[] = "OSL_TRACE_TO_FILE";
typedef pfunc_osl_printDebugMessage oslDebugMessageFunc;
@@ -53,29 +55,11 @@ void SAL_CALL osl_breakDebug()
/************************************************************************/
/* osl_trace */
/************************************************************************/
-/* comment this define to stop output thread identifier*/
-#define OSL_TRACE_THREAD 1
-void SAL_CALL osl_trace (
- const sal_Char* lpszFormat, ...)
-{
+void osl_trace(char const * pszFormat, ...) {
va_list args;
-
-#if defined(OSL_PROFILING)
- fprintf(stderr, "Time: %06lu : ", osl_getGlobalTimer() );
-#else
-#if defined(OSL_TRACE_THREAD)
- fprintf(stderr,"Thread: %6d :",osl_getThreadIdentifier(NULL));
-#else
- fprintf(stderr, "Trace Message: ");
-#endif
-#endif
-
- va_start(args, lpszFormat);
- vfprintf(stderr, lpszFormat, args);
+ va_start(args, pszFormat);
+ printTrace(0, pszFormat, args); /* TODO: pid */
va_end(args);
-
- fprintf(stderr,"\n");
- fflush(stderr);
}
/*----------------------------------------------------------------------------*/
diff --git a/sal/osl/unx/diagnose.c b/sal/osl/unx/diagnose.c
index bb8cbca406bde..02967b3ad7f7c 100644
--- a/sal/osl/unx/diagnose.c
+++ b/sal/osl/unx/diagnose.c
@@ -28,7 +28,6 @@
#include "osl/diagnose.h"
#include "system.h"
-
#ifndef HAVE_DLFCN_H
#if defined(LINUX) || defined(SOLARIS)
@@ -58,6 +57,8 @@
#define INCLUDED_STDDEF_H
#endif
+#include "printtrace.h"
+
/************************************************************************/
/* Internal data structures and functions */
/************************************************************************/
@@ -301,32 +302,9 @@ pfunc_osl_printDetailedDebugMessage SAL_CALL osl_setDetailedDebugMessageFunc (
/************************************************************************/
/* osl_trace */
/************************************************************************/
-/* comment this define to stop output thread identifier*/
-#define OSL_TRACE_THREAD 1
-void SAL_CALL osl_trace (
- const sal_Char* lpszFormat, ...)
-{
+void osl_trace(char const * pszFormat, ...) {
va_list args;
-
-#if defined(OSL_PROFILING)
- fprintf(stderr, "Time: %06lu : ", osl_getGlobalTimer() );
-#else
-#if defined(OSL_TRACE_THREAD)
- fprintf(
- stderr, "Thread: %6lu :",
- SAL_INT_CAST(unsigned long, osl_getThreadIdentifier(NULL)));
-#else
- fprintf(stderr, "Trace Message: ");
-#endif
-#endif
-
- va_start(args, lpszFormat);
- vfprintf(stderr, lpszFormat, args);
+ va_start(args, pszFormat);
+ printTrace((unsigned long) getpid(), pszFormat, args);
va_end(args);
-
- fprintf(stderr,"\n");
- fflush(stderr);
}
-
-/************************************************************************/
-
diff --git a/sal/osl/w32/diagnose.c b/sal/osl/w32/diagnose.c
index b46bff44b73c3..9c75e4502743f 100644..100755
--- a/sal/osl/w32/diagnose.c
+++ b/sal/osl/w32/diagnose.c
@@ -32,6 +32,8 @@
#include <osl/diagnose.h>
#include <osl/thread.h>
+#include "printtrace.h"
+
#define NO_DEBUG_CRT
static pfunc_osl_printDebugMessage _pPrintDebugMessage = NULL;
@@ -61,46 +63,21 @@ void SAL_CALL osl_breakDebug(void)
DebugBreak();
}
-
-
-/* Uncomment this define to get profiling time output */
-/* #define OSL_PROFILING */
-/* comment this define to stop output thread identifier*/
-#define OSL_TRACE_THREAD 1
-void SAL_CALL osl_trace(const sal_Char* lpszFormat, ...)
-{
+void osl_trace(char const * pszFormat, ...) {
va_list args;
- int written = 0;
-
- va_start(args, lpszFormat);
-
-#if defined(OSL_PROFILING)
- fprintf(stderr, "time : %06lu : ", osl_getGlobalTimer() );
-#else
-#if defined(OSL_TRACE_THREAD)
- fprintf(stderr,"Thread: %6d :",osl_getThreadIdentifier(NULL));
-#else
- fprintf(stderr,"Trace Message : ");
-#endif
-#endif
-
+ va_start(args, pszFormat);
if ( IsDebuggerPresent() )
{
sal_Char szMessage[512];
- written = _vsnprintf( szMessage, sizeof(szMessage) - 2, lpszFormat, args );
+ int written = _vsnprintf(
+ szMessage, sizeof(szMessage) - 2, pszFormat, args );
if ( written == -1 )
written = sizeof(szMessage) - 2;
szMessage[ written++ ] = '\n';
szMessage[ written ] = 0;
OutputDebugString( szMessage );
}
-
- vfprintf(stderr,lpszFormat, args);
-
- fprintf(stderr,"\n");
-
- fflush(stderr);
-
+ printTrace((unsigned long) _getpid(), pszFormat, args);
va_end(args);
}
diff --git a/sal/systools/win32/uwinapi/ResolveUnicows.cpp b/sal/systools/win32/uwinapi/ResolveUnicows.cpp
index cd5943004f170..d2864d3413cb0 100644
--- a/sal/systools/win32/uwinapi/ResolveUnicows.cpp
+++ b/sal/systools/win32/uwinapi/ResolveUnicows.cpp
@@ -1,6 +1,7 @@
#ifdef __MINGW32__
#define _GDI32_
#include "macros.h"
+#include <w32api.h>
#include <multimon.h>
extern "C" {
extern HMODULE hModuleUnicowsDLL;
@@ -461,7 +462,11 @@ DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, UpdateResourceW, (HANDLE,LPCWSTR,L
DEFINE_UNICOWS_THUNK( version, DWORD, WINAPI, VerFindFileW, (DWORD,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT,LPWSTR,PUINT) )
DEFINE_UNICOWS_THUNK( version, DWORD, WINAPI, VerInstallFileW, (DWORD,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT) )
DEFINE_UNICOWS_THUNK( kernel32, DWORD, WINAPI, VerLanguageNameW, (DWORD,LPWSTR,DWORD) )
+#if ( __W32API_MAJOR_VERSION > 3 ) || ( __W32API_MAJOR_VERSION == 3 && __W32API_MINOR_VERSION > 13 )
+DEFINE_UNICOWS_THUNK( version, BOOL, WINAPI, VerQueryValueW, (const LPVOID,LPCWSTR,LPVOID*,PUINT) )
+#else
DEFINE_UNICOWS_THUNK( version, BOOL, WINAPI, VerQueryValueW, (const LPVOID,LPWSTR,LPVOID*,PUINT) )
+#endif
DEFINE_UNICOWS_THUNK( user32, SHORT, WINAPI, VkKeyScanExW, (WCHAR,HKL) )
DEFINE_UNICOWS_THUNK( user32, SHORT, WINAPI, VkKeyScanW, (WCHAR) )
DEFINE_UNICOWS_THUNK( user32, DWORD, WINAPI, SetupDecompressOrCopyFileW, (PCWSTR,PCWSTR,PUINT) )
diff --git a/stoc/source/simpleregistry/simpleregistry.cxx b/stoc/source/simpleregistry/simpleregistry.cxx
index 9c6b71bc6c833..9c6b71bc6c833 100755..100644
--- a/stoc/source/simpleregistry/simpleregistry.cxx
+++ b/stoc/source/simpleregistry/simpleregistry.cxx
diff --git a/xmlreader/prj/d.lst b/xmlreader/prj/d.lst
index fcb99bd302665..fcb99bd302665 100755..100644
--- a/xmlreader/prj/d.lst
+++ b/xmlreader/prj/d.lst