diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 16:51:28 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 16:51:28 +0000 |
commit | 940b4d1848e8c70ab7642901a68594e8016caffc (patch) | |
tree | eb72f344ee6c3d9b80a7ecc079ea79e9fba8676d /offapi/com/sun/star/util | |
parent | Initial commit. (diff) | |
download | libreoffice-1ad18e38974bb28c3d98d0be8f7d8c18fc56de29.tar.xz libreoffice-1ad18e38974bb28c3d98d0be8f7d8c18fc56de29.zip |
Adding upstream version 1:7.0.4.upstream/1%7.0.4upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'offapi/com/sun/star/util')
121 files changed, 7718 insertions, 0 deletions
diff --git a/offapi/com/sun/star/util/AliasProgrammaticPair.idl b/offapi/com/sun/star/util/AliasProgrammaticPair.idl new file mode 100644 index 000000000..f940748e6 --- /dev/null +++ b/offapi/com/sun/star/util/AliasProgrammaticPair.idl @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_AliasProgrammaticPair_idl__ +#define __com_sun_star_util_AliasProgrammaticPair_idl__ + +module com { module sun { module star { module util { + + +/** represents an entry from a component which implements the + XLocalizedAliases. + */ +published struct AliasProgrammaticPair +{ + /** determines the name which is registered as an alias for a programmatic name. + */ + string Alias; + + /** determines which programmatic name belongs to the alias. + + @see com::sun::star::util::XLocalizedAliases + */ + string ProgrammaticName; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/AtomClassRequest.idl b/offapi/com/sun/star/util/AtomClassRequest.idl new file mode 100644 index 000000000..bafae07ac --- /dev/null +++ b/offapi/com/sun/star/util/AtomClassRequest.idl @@ -0,0 +1,55 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_AtomClassRequest_idl__ +#define __com_sun_star_util_AtomClassRequest_idl__ + +module com +{ +module sun +{ +module star +{ +module util +{ + +/** is used to describe which atoms the user wants to know about. + + @see com::sun::star::util::XAtomServer +*/ +published struct AtomClassRequest +{ + /** the class of the atoms described in member + AtomClassRequest::atoms(). + */ + long atomClass; + + /** the atoms requested from class AtomClassRequest::atomClass(). + */ + sequence< long > atoms; +}; + +}; // module util +}; // module star +}; // module sun +}; // module com + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/AtomDescription.idl b/offapi/com/sun/star/util/AtomDescription.idl new file mode 100644 index 000000000..714099463 --- /dev/null +++ b/offapi/com/sun/star/util/AtomDescription.idl @@ -0,0 +1,54 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_AtomDescription_idl__ +#define __com_sun_star_util_AtomDescription_idl__ + +module com +{ +module sun +{ +module star +{ +module util +{ + +/** contains a string and the corresponding registered atom . + + @see com::sun::star::util::XAtomServer +*/ +published struct AtomDescription +{ + /** the atom itself + */ + long atom; + + /** the string it stands for + */ + string description; +}; + +}; // module util +}; // module star +}; // module sun +}; // module com + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/CellProtection.idl b/offapi/com/sun/star/util/CellProtection.idl new file mode 100644 index 000000000..a4a191dcc --- /dev/null +++ b/offapi/com/sun/star/util/CellProtection.idl @@ -0,0 +1,54 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_CellProtection_idl__ +#define __com_sun_star_util_CellProtection_idl__ + + + +module com { module sun { module star { module util { + + +/** describes the kind of protection for a protectable cell. + */ +published struct CellProtection +{ + /** specifies if the cell is locked from modifications by the user. + */ + boolean IsLocked; + + /** specifies if the formula is hidden from the user. + */ + boolean IsFormulaHidden; + + /** specifies if the cell is hidden from the user. + */ + boolean IsHidden; + + /** specifies if the cell is hidden on printouts. + */ + boolean IsPrintHidden; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/ChangesEvent.idl b/offapi/com/sun/star/util/ChangesEvent.idl new file mode 100644 index 000000000..4324b2473 --- /dev/null +++ b/offapi/com/sun/star/util/ChangesEvent.idl @@ -0,0 +1,60 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_ChangesEvent_idl__ +#define __com_sun_star_util_ChangesEvent_idl__ + +#include <com/sun/star/lang/EventObject.idl> + +#include <com/sun/star/util/ElementChange.idl> + +#include <com/sun/star/util/ChangesSet.idl> + + +module com { module sun { module star { module util { + + +/** This event is fired when a set of changes becomes effective on the source of the event. + + @see XChangesSet + @see XChangesBatch + @see XChangesListener + @see XChangesNotifier + @see com::sun::star::container::ContainerEvent + @see ElementChange + */ +published struct ChangesEvent: com::sun::star::lang::EventObject +{ + /** contains the accessor to the common root of the changed elements. + + <p>Type and value of the accessor depend on the service.</p> + */ + any Base; + + /** contains the changes which occurred. + */ + ChangesSet Changes; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/ChangesSet.idl b/offapi/com/sun/star/util/ChangesSet.idl new file mode 100644 index 000000000..fbf4a1e78 --- /dev/null +++ b/offapi/com/sun/star/util/ChangesSet.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_ChangesSet_idl__ +#define __com_sun_star_util_ChangesSet_idl__ + +#include <com/sun/star/util/ElementChange.idl> + +/* +#include <com/sun/star/util/XChangesSet.idl> +*/ + + +module com { module sun { module star { module util { + +/** describes a set of changes occurring as a batch transaction. + + @see XChangesBatch + @see XChangesSet + @see ChangesEvent + @see ElementChange +*/ +published typedef sequence<ElementChange> ChangesSet; + +//typedef XChangesSet ChangesSet; + + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/CloseVetoException.idl b/offapi/com/sun/star/util/CloseVetoException.idl new file mode 100644 index 000000000..e56a56954 --- /dev/null +++ b/offapi/com/sun/star/util/CloseVetoException.idl @@ -0,0 +1,41 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_CloseVetoException_idl__ +#define __com_sun_star_util_CloseVetoException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + +module com { module sun { module star { module util { + +/** this exception can be thrown to prevent the environment of any object + from closing + + @see XCloseListener + */ +published exception CloseVetoException: com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/Color.idl b/offapi/com/sun/star/util/Color.idl new file mode 100644 index 000000000..296bfecc3 --- /dev/null +++ b/offapi/com/sun/star/util/Color.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_color_idl__ +#define __com_sun_star_util_color_idl__ + + + +module com { module sun { module star { module util { + +/** describes an RGB color value with an optional alpha channel. + + <p>The byte order is from high to low: + <ol> + <li>alpha channel</li> + <li>red</li> + <li>green</li> + <li>blue</li> + </ol></p> +*/ +published typedef long Color; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/DataEditorEvent.idl b/offapi/com/sun/star/util/DataEditorEvent.idl new file mode 100644 index 000000000..c216bcc50 --- /dev/null +++ b/offapi/com/sun/star/util/DataEditorEvent.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_DataEditorEvent_idl__ +#define __com_sun_star_util_DataEditorEvent_idl__ + +#include <com/sun/star/lang/EventObject.idl> + +#include <com/sun/star/util/DataEditorEventType.idl> + + +module com { module sun { module star { module util { + +/** specifies an event broadcasted by an XDataEditor. + */ +published struct DataEditorEvent: com::sun::star::lang::EventObject +{ + /** specifies the type of the event. + */ + DataEditorEventType Type; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/DataEditorEventType.idl b/offapi/com/sun/star/util/DataEditorEventType.idl new file mode 100644 index 000000000..e6cd50570 --- /dev/null +++ b/offapi/com/sun/star/util/DataEditorEventType.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_DataEditorEventType_idl__ +#define __com_sun_star_util_DataEditorEventType_idl__ + + +module com { module sun { module star { module util { + +/** specifies the type of an event from an XDataEditor. + */ +published enum DataEditorEventType +{ + /** specifies that the data editing is done (data stored). + */ + DONE, + + /** specifies that the data editing was canceled by the user (data not stored). + */ + CANCELED +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/Date.idl b/offapi/com/sun/star/util/Date.idl new file mode 100644 index 000000000..796a6325b --- /dev/null +++ b/offapi/com/sun/star/util/Date.idl @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_Date_idl__ +#define __com_sun_star_util_Date_idl__ + + +module com { module sun { module star { module util { + + +/** represents a date value. + + The time zone is unknown. + */ +published struct Date +{ + /** contains the day of month (1-31 or 0 for a void date). + */ + unsigned short Day; + + + /** contains the month of year (1-12 or 0 for a void date). + */ + unsigned short Month; + + + /** contains the year. + */ + short Year; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/DateTime.idl b/offapi/com/sun/star/util/DateTime.idl new file mode 100644 index 000000000..68793ee7f --- /dev/null +++ b/offapi/com/sun/star/util/DateTime.idl @@ -0,0 +1,76 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_DateTime_idl__ +#define __com_sun_star_util_DateTime_idl__ + + +module com { module sun { module star { module util { + + +/** represents a combined date+time value. + */ +published struct DateTime +{ + /** contains the nanoseconds (0 - 999 999 999). + */ + unsigned long NanoSeconds; + + /** contains the seconds (0-59). + */ + unsigned short Seconds; + + + /** contains the minutes (0-59). + */ + unsigned short Minutes; + + + /** contains the hour (0-23). + */ + unsigned short Hours; + + + /** is the day of month (1-31 or 0 for a void date). + */ + unsigned short Day; + + + /** is the month of year (1-12 or 0 for a void date). + */ + unsigned short Month; + + + /** is the year. + */ + short Year; + + /** true: time zone is UTC false: unknown time zone. + + @since LibreOffice 4.1 + */ + boolean IsUTC; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/DateTimeRange.idl b/offapi/com/sun/star/util/DateTimeRange.idl new file mode 100644 index 000000000..60ea92bf8 --- /dev/null +++ b/offapi/com/sun/star/util/DateTimeRange.idl @@ -0,0 +1,99 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_DateTimeRange_idl__ +#define __com_sun_star_util_DateTimeRange_idl__ + + +module com { module sun { module star { module util { + + +/** represents a range of date+time values. + */ +published struct DateTimeRange +{ + /** contains the start nanoseconds (0 - 999 999 999) for the range. + */ + unsigned long StartNanoSeconds; + + /** contains the start seconds (0-59) for the range. + */ + unsigned short StartSeconds; + + /** contains the start minutes (0-59) for the range. + */ + unsigned short StartMinutes; + + /** contains the start hour (0-23) for the range. + */ + unsigned short StartHours; + + /** contains the start day of month (1-31 or 0 for a void date) for the range. + */ + unsigned short StartDay; + + /** contains the start month of year (1-12 or 0 for a void date) for the range. + */ + unsigned short StartMonth; + + /** contains the start year for the range. + */ + short StartYear; + + /** contains the end nanoseconds (0 - 999 999 999) for the range. + */ + unsigned long EndNanoSeconds; + + /** contains the end seconds (0-59) for the range. + */ + unsigned short EndSeconds; + + /** contains the end minutes (0-59) for the range. + */ + unsigned short EndMinutes; + + /** contains the end hour (0-23) for the range. + */ + unsigned short EndHours; + + /** contains the end day of month (1-31 or 0 for a void date) for the range. + */ + unsigned short EndDay; + + /** contains the end month of year (1-12 or 0 for a void date) for the range. + */ + unsigned short EndMonth; + + /** contains the end year for the range. + */ + short EndYear; + + /** true: time zone is UTC false: unknown time zone. + + @since LibreOffice 4.1 + */ + boolean IsUTC; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/DateTimeWithTimezone.idl b/offapi/com/sun/star/util/DateTimeWithTimezone.idl new file mode 100644 index 000000000..398ed5efe --- /dev/null +++ b/offapi/com/sun/star/util/DateTimeWithTimezone.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_util_DateTimeTZ_idl__ +#define __com_sun_star_util_DateTimeTZ_idl__ + +#include <com/sun/star/util/DateTime.idl> + + +module com { module sun { module star { module util { + +/** represents a combined date+time value with time zone. + + @since LibreOffice 4.1 + */ +struct DateTimeWithTimezone +{ + /** the date and time (in TimeZone) + */ + DateTime DateTimeInTZ; + + /** contains the time zone, as signed offset in minutes *from* UTC, + that is *east* of UTC, that is the amount of minutes that should + be added to UTC time to obtain the time in that timezone. + + To obtain UTC datetime from DateTimeInTZ, you need to *subtract* + TimeZone minutes. + */ + short Timezone; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/DateWithTimezone.idl b/offapi/com/sun/star/util/DateWithTimezone.idl new file mode 100644 index 000000000..e60bcb7b8 --- /dev/null +++ b/offapi/com/sun/star/util/DateWithTimezone.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_util_DateTZ_idl__ +#define __com_sun_star_util_DateTZ_idl__ + +#include <com/sun/star/util/Date.idl> + + +module com { module sun { module star { module util { + +/** represents a date value with time zone. + + @since LibreOffice 4.1 + */ +struct DateWithTimezone +{ + /** the date. + @note XMLSchema-2 defines this as a 24 hour interval. + The TimeZone shifts the interval along the UTC time line. + */ + Date DateInTZ; + + /** contains the time zone, as signed offset in minutes *from* UTC, + that is *east* of UTC, that is the amount of minutes that should + be added to UTC time to obtain time in that timezone. + */ + short Timezone; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ + diff --git a/offapi/com/sun/star/util/Duration.idl b/offapi/com/sun/star/util/Duration.idl new file mode 100644 index 000000000..03b58b7c0 --- /dev/null +++ b/offapi/com/sun/star/util/Duration.idl @@ -0,0 +1,83 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_util_Duration_idl__ +#define __com_sun_star_util_Duration_idl__ + + + +module com { module sun { module star { module util { + + +/** represents a duration. + + <p> + A duration is the difference of 2 DateTimes. + </p> + + <p> + Note that there are no constraints on the ranges of the members, + except that every member must be non-negative: + for example, a Duration of 400 Days is valid. + </p> + + @since OOo 3.3 + */ +struct Duration +{ + /** explicit sign bit. + */ + boolean Negative; + + /** contains the years. + */ + unsigned short Years; + + /** contains the months. + */ + unsigned short Months; + + /** contains the days. + */ + unsigned short Days; + + /** contains the hours. + */ + unsigned short Hours; + + /** contains the minutes. + */ + unsigned short Minutes; + + /** contains the seconds. + */ + unsigned short Seconds; + + /** contains the nanoseconds. + */ + unsigned long NanoSeconds; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/ElementChange.idl b/offapi/com/sun/star/util/ElementChange.idl new file mode 100644 index 000000000..88121deeb --- /dev/null +++ b/offapi/com/sun/star/util/ElementChange.idl @@ -0,0 +1,54 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_ElementChange_idl__ +#define __com_sun_star_util_ElementChange_idl__ + + + +module com { module sun { module star { module util { + + +/** This structure describes a single change that is part of a batch of changes. + */ +published struct ElementChange +{ + /** This contains the accessor to the element which changed. + + <p>The type and the value of the accessor depends on the service.</p> + */ + any Accessor; + + + /** This contains the element that was inserted or changed. + */ + any Element; + + + /** This contains the element that was replaced or removed. + */ + any ReplacedElement; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/Endianness.idl b/offapi/com/sun/star/util/Endianness.idl new file mode 100644 index 000000000..ad3217a49 --- /dev/null +++ b/offapi/com/sun/star/util/Endianness.idl @@ -0,0 +1,58 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_Endianness_idl__ +#define __com_sun_star_util_Endianness_idl__ + +module com { module sun { module star { module util { + +/** These constants describe the endianness of data structures.<p> + + The endianness specifies the order in which the bytes of larger + types are laid out in memory.<p> + + @since OOo 2.0 + */ +constants Endianness +{ + /** Little endian.<p> + + The values are stored in little endian format, i.e. the bytes + of the long word 0xAABBCCDD are laid out like 0xDD, 0xCC, + 0xBB, 0xAA in memory. That is, data of arbitrary machine word + lengths always starts with the least significant byte, and + ends with the most significant one.<p> + */ + const byte LITTLE=0; + + /** Big endian.<p> + + The values are stored in big endian format, i.e. the bytes of + the long word 0xAABBCCDD are laid out like 0xAA, 0xBB, 0xCC, + 0xDD in memory. That is, data of arbitrary machine word + lengths always start with the most significant byte, and ends + with the least significant one.<p> + */ + const byte BIG=1; +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/InvalidStateException.idl b/offapi/com/sun/star/util/InvalidStateException.idl new file mode 100644 index 000000000..f4ff6ce03 --- /dev/null +++ b/offapi/com/sun/star/util/InvalidStateException.idl @@ -0,0 +1,41 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_util_InvalidStateException_idl__ +#define __com_sun_star_util_InvalidStateException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + +module com { module sun { module star { module util { + + +/** is thrown when an object's state does not allow to call requested functionality. + */ +exception InvalidStateException : com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/JobManager.idl b/offapi/com/sun/star/util/JobManager.idl new file mode 100644 index 000000000..b2287e2ab --- /dev/null +++ b/offapi/com/sun/star/util/JobManager.idl @@ -0,0 +1,37 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_util_JobManager_idl__ +#define __com_sun_star_util_JobManager_idl__ + +#include <com/sun/star/util/XJobManager.idl> + +module com { module sun { module star { module util { + +/** Manage cancelable jobs + + @see XJobManager + */ +service JobManager : XJobManager; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/Language.idl b/offapi/com/sun/star/util/Language.idl new file mode 100644 index 000000000..42217ca38 --- /dev/null +++ b/offapi/com/sun/star/util/Language.idl @@ -0,0 +1,35 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_Language_idl__ +#define __com_sun_star_util_Language_idl__ + + + +module com { module sun { module star { module util { + +/** This type is used for a language identifier number. +*/ +published typedef short Language; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/MalformedNumberFormatException.idl b/offapi/com/sun/star/util/MalformedNumberFormatException.idl new file mode 100644 index 000000000..4038d5a46 --- /dev/null +++ b/offapi/com/sun/star/util/MalformedNumberFormatException.idl @@ -0,0 +1,47 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_MalformedNumberFormatException_idl__ +#define __com_sun_star_util_MalformedNumberFormatException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + + + module com { module sun { module star { module util { + + +/** is thrown when a NumberFormat string is syntactically + incorrect. + */ +published exception MalformedNumberFormatException: com::sun::star::uno::Exception +{ + + /** contains the character position in the string where the malformation + begins. + */ + long CheckPos; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/MeasureUnit.idl b/offapi/com/sun/star/util/MeasureUnit.idl new file mode 100644 index 000000000..165366d3f --- /dev/null +++ b/offapi/com/sun/star/util/MeasureUnit.idl @@ -0,0 +1,96 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_MeasureUnit_idl__ +#define __com_sun_star_util_MeasureUnit_idl__ + + + +module com { module sun { module star { module util { + + +/** These constants are used to specify a measure.<p> + A component using these constants may not support all units. + */ +published constants MeasureUnit +{ + /** all measures for this component are in 100th millimeter */ + const short MM_100TH = 0; + + /** all measures for this component are in 10th millimeter */ + const short MM_10TH = 1; + + /** all measures for this component are in millimeter */ + const short MM = 2; + + /** all measures for this component are in centimeters */ + const short CM = 3; + + /** all measures for this component are in 1000th inch */ + const short INCH_1000TH = 4; + + /** all measures for this component are in 100th inch */ + const short INCH_100TH = 5; + + /** all measures for this component are in 10th inch */ + const short INCH_10TH = 6; + + /** all measures for this component are in inch */ + const short INCH = 7; + + /** all measures for this component are in points */ + const short POINT = 8; + + /** all measures for this component are in twips */ + const short TWIP = 9; + + /** all measures for this component are in meters */ + const short M = 10; + + /** all measures for this component are in kilometers */ + const short KM = 11; + + /** all measures for this component are in pica */ + const short PICA = 12; + + /** all measures for this component are in foot */ + const short FOOT = 13; + + /** all measures for this component are in miles */ + const short MILE = 14; + + /** all measures for this component are in percentage */ + const short PERCENT = 15; + + /** all measures for this component are in pixel */ + const short PIXEL = 16; + + /** all measures for this component are in APPFONT */ + const short APPFONT = 17; + + /** all measures for this component are in SYSFONT */ + const short SYSFONT = 18; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/ModeChangeEvent.idl b/offapi/com/sun/star/util/ModeChangeEvent.idl new file mode 100644 index 000000000..f84cc6923 --- /dev/null +++ b/offapi/com/sun/star/util/ModeChangeEvent.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_util_ModeChangeEvent_idl__ +#define __com_sun_star_util_ModeChangeEvent_idl__ + +#include <com/sun/star/lang/EventObject.idl> + + +module com { module sun { module star { module util { + + +/** allows to veto changes in an object's internal mode. + + @see XModeChangeBroadcaster + @see XModeChangeListener + + @since OOo 1.1.2 +*/ +published struct ModeChangeEvent : com::sun::star::lang::EventObject +{ + /** denotes the new internal mode of a component + + <p>The semantics of the mode string is to be defined by the component + broadcasting this event.</p> + */ + string NewMode; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/NotLockedException.idl b/offapi/com/sun/star/util/NotLockedException.idl new file mode 100644 index 000000000..6106fd01b --- /dev/null +++ b/offapi/com/sun/star/util/NotLockedException.idl @@ -0,0 +1,41 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/NotNumericException.idl b/offapi/com/sun/star/util/NotNumericException.idl new file mode 100644 index 000000000..36867f2ed --- /dev/null +++ b/offapi/com/sun/star/util/NotNumericException.idl @@ -0,0 +1,40 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_NotNumericException_idl__ +#define __com_sun_star_util_NotNumericException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + + +module com { module sun { module star { module util { + + +/** indicates that a non-numeric string is to be converted to a number. + */ +published exception NotNumericException: com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/NumberFormat.idl b/offapi/com/sun/star/util/NumberFormat.idl new file mode 100644 index 000000000..e66a59d7e --- /dev/null +++ b/offapi/com/sun/star/util/NumberFormat.idl @@ -0,0 +1,116 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_NumberFormat_idl__ +#define __com_sun_star_util_NumberFormat_idl__ + + + + module com { module sun { module star { module util { + + +/** contains constants that are used to specify the type of a number format. + */ +published constants NumberFormat +{ + + /** selects all number formats. + */ + const short ALL = 0; + + + /** selects only user-defined number formats. + */ + const short DEFINED = 1; + + + /** selects date formats. + */ + const short DATE = 2; + + + /** selects time formats. + */ + const short TIME = 4; + + + /** selects currency formats. + */ + const short CURRENCY = 8; + + + /** selects decimal number formats. + */ + const short NUMBER = 16; + + + /** selects scientific number formats. + */ + const short SCIENTIFIC = 32; + + + /** selects number formats for fractions. + */ + const short FRACTION = 64; + + + /** selects percentage number formats. + */ + const short PERCENT = 128; + + + /** selects text number formats. + */ + const short TEXT = 256; + + + /** selects number formats which contain date and time. + */ + const short DATETIME = 6; + + + /** selects boolean number formats. + */ + const short LOGICAL = 1024; + + + /** is used as a return value if no format exists. + */ + const short UNDEFINED = 2048; + + + /** @internal is used to flag an empty sub format. + @since LibreOffice 5.1 + */ + const short EMPTY = 4096; + + + /** @internal selects a time duration format. + 8192 + TIME (4) + @since LibreOffice 6.2 + */ + const short DURATION = 8196; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/NumberFormatProperties.idl b/offapi/com/sun/star/util/NumberFormatProperties.idl new file mode 100644 index 000000000..39abbaec6 --- /dev/null +++ b/offapi/com/sun/star/util/NumberFormatProperties.idl @@ -0,0 +1,65 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_NumberFormatProperties_idl__ +#define __com_sun_star_util_NumberFormatProperties_idl__ + +#include <com/sun/star/lang/Locale.idl> + + + + module com { module sun { module star { module util { + + +/** contains properties specifying the behavior of a NumberFormatter. + + @see NumberFormatter + */ +published service NumberFormatProperties +{ + + /** contains the format string of the number format. + */ + [readonly, property] string FormatString; + + + /** contains the locale of the number format. + */ + [readonly, property] com::sun::star::lang::Locale Locale; + + + /** contains the type of the number format. + + @see NumberFormat + */ + [readonly, property] short Type; + + + /** contains a comment regarding the number format for + display to the user. + */ + [property] string Comment; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/NumberFormatSettings.idl b/offapi/com/sun/star/util/NumberFormatSettings.idl new file mode 100644 index 000000000..c7980f8e3 --- /dev/null +++ b/offapi/com/sun/star/util/NumberFormatSettings.idl @@ -0,0 +1,70 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_NumberFormatSettings_idl__ +#define __com_sun_star_util_NumberFormatSettings_idl__ + +#include <com/sun/star/beans/XPropertySet.idl> + +#include <com/sun/star/util/Date.idl> + + + + module com { module sun { module star { module util { + + +/** specifies the settings for number formatting. + */ +published service NumberFormatSettings +{ + /** provides access to the properties. + */ + interface com::sun::star::beans::XPropertySet; + + + /** specifies the date which is represented by the value 0. + + <p>The most common value for this is 12/30/1899.</p> + */ + [property] com::sun::star::util::Date NullDate; + + + /** specifies the maximum number of decimals used for the + standard number format ("General"). + */ + [property] short StandardDecimals; + + + /** is set to indicate that a zero value should be formatted as an empty string. + */ + [property] boolean NoZero; + + + /** specifies the first year to be generated from a two-digit + year input. + */ + [property] short TwoDigitDateStart; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/NumberFormats.idl b/offapi/com/sun/star/util/NumberFormats.idl new file mode 100644 index 000000000..a96cff5cd --- /dev/null +++ b/offapi/com/sun/star/util/NumberFormats.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_NumberFormats_idl__ +#define __com_sun_star_util_NumberFormats_idl__ + +#include <com/sun/star/util/XNumberFormats.idl> + +#include <com/sun/star/util/XNumberFormatTypes.idl> + + + + module com { module sun { module star { module util { + + +/** specifies a container of number formats. + */ +published service NumberFormats +{ + /** is used to access or create individual formats. + */ + interface com::sun::star::util::XNumberFormats; + + /** is used to get specific, predefined number formats. + */ + interface com::sun::star::util::XNumberFormatTypes; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/NumberFormatsSupplier.idl b/offapi/com/sun/star/util/NumberFormatsSupplier.idl new file mode 100644 index 000000000..d58fec9fd --- /dev/null +++ b/offapi/com/sun/star/util/NumberFormatsSupplier.idl @@ -0,0 +1,58 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_util_NumberFormatsSupplier_idl__ +#define __com_sun_star_util_NumberFormatsSupplier_idl__ + +#include <com/sun/star/util/XNumberFormatsSupplier.idl> +#include <com/sun/star/lang/Locale.idl> + + +module com { module sun { module star { module util { + + +/** provides an supplier of number formats + + @see NumberFormats + @see NumberFormatter + + @since OOo 1.1.2 +*/ +published service NumberFormatsSupplier : XNumberFormatsSupplier +{ + + /** + Create using specific locale. + + @param Locale the locale of the number formats supplier + */ + createWithLocale([in] com::sun::star::lang::Locale Locale); + + /** + Create using default locale. + */ + createWithDefaultLocale(); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/NumberFormatter.idl b/offapi/com/sun/star/util/NumberFormatter.idl new file mode 100644 index 000000000..54c65c3c8 --- /dev/null +++ b/offapi/com/sun/star/util/NumberFormatter.idl @@ -0,0 +1,40 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_NumberFormatter_idl__ +#define __com_sun_star_util_NumberFormatter_idl__ + +#include <com/sun/star/util/XNumberFormatter2.idl> + + +module com { module sun { module star { module util { + + +/** represents an object which can format numbers and strings. + + <p>A NumberFormatter, if available, can be created by the global + service manager.</p> + */ +published service NumberFormatter : XNumberFormatter2; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/OfficeInstallationDirectories.idl b/offapi/com/sun/star/util/OfficeInstallationDirectories.idl new file mode 100644 index 000000000..94f7164f1 --- /dev/null +++ b/offapi/com/sun/star/util/OfficeInstallationDirectories.idl @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_util_OfficeInstallationDirectories_idl__ +#define __com_sun_star_util_OfficeInstallationDirectories_idl__ + +#include <com/sun/star/util/XOfficeInstallationDirectories.idl> + + +module com { module sun { module star { module util { + + +/** encapsulates access to the current office installation directory and + office user data directory, provides functionality to create URLs + containing relocatable (not absolute) references to the current office + installation directory and user data directory and vice versa. + + <p>This functionality is useful when data containing references to the + current office installation directory or user data directory must be made + persistent and re-read later. In many cases, storing the reference + directly would destroy the relocatability of an office installation and the + possibility to share one office user data directory among parallel office + installations. + + @since OOo 2.0 + @deprecated rather use the singleton theOfficeInstallationDirectories + */ +published service OfficeInstallationDirectories { + interface XOfficeInstallationDirectories; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/PathSettings.idl b/offapi/com/sun/star/util/PathSettings.idl new file mode 100644 index 000000000..00ab23d55 --- /dev/null +++ b/offapi/com/sun/star/util/PathSettings.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_util_PathSettings_idl__ +#define __com_sun_star_util_PathSettings_idl__ + +#include <com/sun/star/util/XPathSettings.idl> + + +module com { module sun { module star { module util { + + +/** + A legacy (single-instance) service-variant of thePathSettings singleton. + + @deprecated Use thePathSettings singleton instead. + + @since OOo 1.1.2 + */ +published service PathSettings : XPathSettings; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/PathSubstitution.idl b/offapi/com/sun/star/util/PathSubstitution.idl new file mode 100644 index 000000000..1cee2597c --- /dev/null +++ b/offapi/com/sun/star/util/PathSubstitution.idl @@ -0,0 +1,84 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_util_PathSubstitution_idl__ +#define __com_sun_star_util_PathSubstitution_idl__ + +#include <com/sun/star/util/XStringSubstitution.idl> +#include <com/sun/star/container/XNameContainer.idl> +#include <com/sun/star/container/XContainerListener.idl> + + +module com { module sun { module star { module util { + + +/** A service to support the substitution and resubstitution of path variables. + + <p> + A path variable must be specified with the following syntax: "$("<variable-name>")". + Path variables are not case sensitive and are always provided as a UCB-compliant URLs + (for example: "file:///c:/temp" or "file:///usr/install"). This is mandatory to support an + optional remote file system.<br> + There is a set of variables that have pre-defined values: + </p> + <dl> + <dt>\$(inst)</dt> + <dd>Installation path of the Office.</dd> + <dt>\$(prog)</dt> + <dd>Program path of the Office.</dd> + <dt>\$(user)</dt> + <dd>The user installation directory.</dd> + <dt>\$(work)</dt> + <dd>The work directory of the user. Under Windows this would be the + "MyDocuments" subdirectory. Under Unix this would be the home-directory</dd> + <dt>\$(home)</dt> + <dd>The home directory of the user. Under Unix this would be the home- + directory. Under Windows this would be the CSIDL_PERSONAL directory, + for example "Documents and Settings\<username>\Documents".</dd> + <dt>\$(temp)</dt> + <dd>The current temporary directory.</dd> + <dt>\$(path)</dt> + <dd>The value of PATH environment variable.</dd> + <dt>\$(username)</dt> + <dd>The username (login name) of the currently active user, excluding the domain name on Windows. (Available since LibreOffice 5.2)</dd> + <dt>\$(langid)</dt> + <dd>The language code used by the Office, like 0x0009=English, 0x0409=English US.</dd> + <dt>\$(vlang)</dt> + <dd>The language used by the Office as a string. Like "German" for a German Office.</dd> + </dl> + <p> + Attention: Most predefined variables describe an absolute path. + The only exceptions are: \$(username), \$(langid) and \$(vlang). + Therefore the service implementation should only substitute variables which + are located at the start of a provided path string or are part of a multi-path. + This special service is not designed to be a text substitution but shall + provide (a) valid substituted path(s). + </p> + + @since OOo 1.1.2 +*/ + +published service PathSubstitution : XStringSubstitution; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/ReplaceDescriptor.idl b/offapi/com/sun/star/util/ReplaceDescriptor.idl new file mode 100644 index 000000000..69341b684 --- /dev/null +++ b/offapi/com/sun/star/util/ReplaceDescriptor.idl @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_ReplaceDescriptor_idl__ +#define __com_sun_star_util_ReplaceDescriptor_idl__ + +#include <com/sun/star/util/SearchDescriptor.idl> + +#include <com/sun/star/util/XReplaceDescriptor.idl> + + + +module com { module sun { module star { module util { + + +/** describes what and how to replace strings. + */ +published service ReplaceDescriptor +{ + service com::sun::star::util::SearchDescriptor; + + interface com::sun::star::util::XReplaceDescriptor; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/RevisionTag.idl b/offapi/com/sun/star/util/RevisionTag.idl new file mode 100644 index 000000000..9a1ac368d --- /dev/null +++ b/offapi/com/sun/star/util/RevisionTag.idl @@ -0,0 +1,58 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_RevisionTag_idl__ +#define __com_sun_star_util_RevisionTag_idl__ + +#include <com/sun/star/util/DateTime.idl> + + +module com { module sun { module star { module util { + + +/** represents the information that describes a revision of something. + */ +struct RevisionTag +{ + /** contains the time when the revision was created ( can be invalid ) + */ + DateTime TimeStamp; + + /** contains an identifier for the author that created the revision( can be empty ) + */ + string Author; + + /** contains a comment that the author has left for this revision ( can be empty ) + */ + string Comment; + + /** contains a unique identifier for the revision and must not be empty + <p> + This identifier can have any form. It can be something like "1.2.3" or "Version 1" etc. + It depends on the revision control system how it names the revisions. + </p> + */ + string Identifier; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/SearchAlgorithms.idl b/offapi/com/sun/star/util/SearchAlgorithms.idl new file mode 100644 index 000000000..3a2053323 --- /dev/null +++ b/offapi/com/sun/star/util/SearchAlgorithms.idl @@ -0,0 +1,42 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_util_SearchAlgorithms_idl__ +#define __com_sun_star_util_SearchAlgorithms_idl__ + + + +module com { module sun { module star { module util { + + +published enum SearchAlgorithms +{ + /// Literal + ABSOLUTE, // implemented as a kind of Boyer-Moore + /// Regular expression + REGEXP, + /// Weighted Levenshtein Distance + APPROXIMATE +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/SearchAlgorithms2.idl b/offapi/com/sun/star/util/SearchAlgorithms2.idl new file mode 100644 index 000000000..c3707ea79 --- /dev/null +++ b/offapi/com/sun/star/util/SearchAlgorithms2.idl @@ -0,0 +1,42 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_util_SearchAlgorithms2_idl__ +#define __com_sun_star_util_SearchAlgorithms2_idl__ + +module com { module sun { module star { module util { + +/** Constants that define the search algorithm to be used with + com::sun::star::util::SearchOptions2::SearchAlgorithms2 + + @since LibreOffice 5.2 + */ +constants SearchAlgorithms2 +{ + /// Literal + const short ABSOLUTE = 1; + + /// Regular expression + const short REGEXP = 2; + + /// Weighted Levenshtein Distance + const short APPROXIMATE = 3; + + /** Wildcards '*' and '?' + An escape character is defined by setting + com::sun::star::util::SearchOptions2::WildcardEscapeCharacter + */ + const short WILDCARD = 4; +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/SearchDescriptor.idl b/offapi/com/sun/star/util/SearchDescriptor.idl new file mode 100644 index 000000000..8d7e68da4 --- /dev/null +++ b/offapi/com/sun/star/util/SearchDescriptor.idl @@ -0,0 +1,139 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_SearchDescriptor_idl__ +#define __com_sun_star_util_SearchDescriptor_idl__ + +#include <com/sun/star/util/XSearchDescriptor.idl> + +#include <com/sun/star/beans/XPropertySet.idl> + + + +module com { module sun { module star { module util { + + +/** describes what and how to search within a container. + */ +published service SearchDescriptor +{ + interface com::sun::star::util::XSearchDescriptor; + + interface com::sun::star::beans::XPropertySet; + + /** If `TRUE`, the search is done backwards in the document. + */ + [property] boolean SearchBackwards; + + /** If `TRUE`, the case of the letters is important for the match. + */ + [property] boolean SearchCaseSensitive; + + /** If `TRUE`, only complete words will be found. + */ + [property] boolean SearchWords; + + /** If `TRUE`, the search string is evaluated as a regular expression. + + <p> SearchRegularExpression, SearchWildcard and SearchSimilarity + are mutually exclusive, only one can be `TRUE` at the same time. </p> + */ + [property] boolean SearchRegularExpression; + + /** If `TRUE`, it is searched for positions where the paragraph style with + the name of the search pattern is applied. + */ + [property] boolean SearchStyles; + + /** If `TRUE`, a "similarity search" is performed. + + <p>In the case of a similarity search, the following properties + specify the kind of similarity: + </p> + <ul> + <li>SearchSimilarityRelax + </li> + <li>SearchSimilarityRemove + </li> + <li>SearchSimilarityAdd + </li> + <li>SearchSimilarityExchange + </li> + </ul> + + <p> SearchRegularExpression, SearchWildcard and SearchSimilarity + are mutually exclusive, only one can be `TRUE` at the same time. </p> + */ + [property] boolean SearchSimilarity; + + /** If `TRUE`, all similarity rules are applied together. + + <p>In the case of a relaxed similarity search, the following + properties are applied together: + + </p> + <ul> + <li>SearchSimilarityRemove + </li> + <li>SearchSimilarityAdd + </li> + <li>SearchSimilarityExchange + </li> + </ul> + */ + [property] boolean SearchSimilarityRelax; + + /** This property specifies the number of characters that may be + ignored to match the search pattern. + */ + [property] short SearchSimilarityRemove; + + /** specifies the number of characters that must be + added to match the search pattern. + */ + [property] short SearchSimilarityAdd; + + /** This property specifies the number of characters that must + be replaced to match the search pattern. + */ + [property] short SearchSimilarityExchange; + + /** If `TRUE`, the search string is evaluated as a wildcard pattern. + + <p> Wildcards are '*' (asterisk) for any sequence of characters, + including an empty sequence, and '?' (question mark) for exactly + one character. Escape character is '\' (U+005C REVERSE SOLIDUS) + aka backslash, it escapes the special meaning of a question + mark, asterisk or escape character that follows immediately + after the escape character. </p> + + <p> SearchRegularExpression, SearchWildcard and SearchSimilarity + are mutually exclusive, only one can be `TRUE` at the same time. </p> + + @since LibreOffice 5.2 + */ + [optional, property] boolean SearchWildcard; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/SearchFlags.idl b/offapi/com/sun/star/util/SearchFlags.idl new file mode 100644 index 000000000..77d0da38b --- /dev/null +++ b/offapi/com/sun/star/util/SearchFlags.idl @@ -0,0 +1,146 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_util_SearchFlags_idl__ +#define __com_sun_star_util_SearchFlags_idl__ + + + +module com { module sun { module star { module util { + + +/// Flags for search methods +published constants SearchFlags +{ + /** + @deprecated The constant ALL_IGNORE_CASE is never supported - use + com::sun::star::i18n::TransliterationModules::IGNORE_CASE + with + SearchOptions::transliterateFlags() + instead. + + @see com::sun::star::i18n::TransliterationModules + */ + const long ALL_IGNORE_CASE = 0x00000001; + + /** Flag for normal (Boyer-Moore) search / Search for word only. */ + const long NORM_WORD_ONLY = 0x00000010; + + /** Flag for "regular expression" search / Interpret as extended + regular expression. + + @deprecated The flag is currently not supported by OOo. + */ + const long REG_EXTENDED = 0x00000100; + + /** Flag for "regular expression" search / No register information + or backreferences, i.e., avoid sub expressions. Return only + true/false if matched or not. + + @deprecated The flag is currently not supported by OOo. + */ + const long REG_NOSUB = 0x00000200; + + /** Flag for "regular expression" search / Special new line + treatment. + + @deprecated The flag is currently not supported by OOo. + + <p> A NEWLINE character in string will not be matched by a + period outside bracket expression or by any form of a non + matching list. </p> + + <p> A circumflex (^) in pattern when used to specify expression + anchoring will match the zero length string immediately after a + newline in string, regardless of the setting of + REG_NOT_BEGINOFLINE. </p> + + <p> A dollar-sign ($) in pattern when used to specify expression + anchoring, will match zero-length string immediately before a + new line in string, regardless of the setting of + REG_NOT_ENDOFLINE. </p> + */ + const long REG_NEWLINE = 0x00000400; + + /** The first character in the string is not the beginning of the + line therefore ^ will not match with first character of the + string. + */ + const long REG_NOT_BEGINOFLINE = 0x00000800; + + /** The last character in the string is not the end of the line + therefore $ will not match with last character of the string. + */ + const long REG_NOT_ENDOFLINE = 0x00001000; + + /** Flag for "Weighted Levenshtein Distance" search / Relaxed + checking of limit, split weigh pools. + + <p> If not specified (<b>strict</b>), the search is successful if + the WLD is within a calculated limit where each insertion, + deletion and replacement adds a weight to a common pool of + weights. This is the mathematically correct WLD. </p> + + <p> From a user's point of view the strict WLD is an + exclusive-OR of the arguments given, for example if allowed + insertions=2 and allowed replacements=2, the search fails if 2 + characters had been inserted and an additional operation would + be needed to match. Depending on the weights it may also fail if + 1 character was inserted and 1 character replaced and an + additional operation would be needed to match. The strict + algorithm may match less than expected from a first glance of + the specified arguments, but does not return false positives. </p> + + <p> If specified (<b>relaxed</b>), the search is also successful + if the combined pool for insertions and deletions is below a + doubled calculated limit and replacements are treated + differently. Additionally, swapped characters are counted as one + replacement. </p> + + <p> From a user's point of view the relaxed WLD is an + inclusive-OR of the arguments given, for example if allowed + insertions=2 and allowed replacements=2, the search succeeds if + 2 characters had been inserted and an additional replacement is + needed to match. The relaxed algorithm may return false + positives, but meets user expectation better. </p> + */ + const long LEV_RELAXED = 0x00010000; + + /** Flag for wildcards search if entire selection must match the + pattern. + + <p> If com::sun::star::util::SearchOptions2::AlgorithmType2 is + com::sun::star::util::SearchAlgorithms2::WILDCARD specifies + whether a wildcard pattern must match the entire selected range + of the string from start position to end position or a substring + match is allowed. </p> + + <p> If set, the entire selection must match. If not set, a + substring match is allowed. </p> + + @since LibreOffice 5.2 + */ + const long WILD_MATCH_SELECTION = 0x00100000; +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/SearchOptions.idl b/offapi/com/sun/star/util/SearchOptions.idl new file mode 100644 index 000000000..0b0a17965 --- /dev/null +++ b/offapi/com/sun/star/util/SearchOptions.idl @@ -0,0 +1,75 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_util_SearchOptions_idl__ +#define __com_sun_star_util_SearchOptions_idl__ + + +#include <com/sun/star/lang/Locale.idl> +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/util/SearchAlgorithms.idl> + + +module com { module sun { module star { module util { + + +published struct SearchOptions { + /** search type */ + SearchAlgorithms algorithmType; + + /** some flags - can be mixed + + @see SearchFlags + */ + long searchFlag; + + /** The text or pattern to be searched. */ + string searchString; + + /** The replacement text + (is for optional replacing - SearchOption is only the data container for it) */ + string replaceString; + + /** The locale for case insensitive search. */ + ::com::sun::star::lang::Locale Locale; + + /** This many characters can be different (as a replacement) between + the found word and the search pattern in a "Weighted Levenshtein + Distance" search. */ + long changedChars; + + /** This many characters can be missing in the found word in a + "Weighted Levenshtein Distance" search. */ + long deletedChars; + + /** This many characters can be additional in the found word in a + "Weighted Levenshtein Distance" search. */ + long insertedChars; + + /** Flags for the transliteration. Same meaning as the enum of + com::sun::star::i18n::TransliterationModules + */ + long transliterateFlags; +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/SearchOptions2.idl b/offapi/com/sun/star/util/SearchOptions2.idl new file mode 100644 index 000000000..39d0c8d51 --- /dev/null +++ b/offapi/com/sun/star/util/SearchOptions2.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_util_SearchOptions2_idl__ +#define __com_sun_star_util_SearchOptions2_idl__ + + +#include <com/sun/star/util/SearchOptions.idl> + + +module com { module sun { module star { module util { + +/** This augments com::sun::star::util::SearchOptions to be able to + specify additional search algorithms for use with + com::sun::star::util::XTextSearch2 + + @since LibreOffice 5.2 + */ +struct SearchOptions2 : com::sun::star::util::SearchOptions { + + /** Search type, one of com::sun::star::util::SearchAlgorithms2 + constants. This is preferred over the content of the + SearchAlgorithms SearchOptions::algorithmType enum field. + */ + short AlgorithmType2; + + /** The escape character to be used with a + com::sun::star::util::SearchAlgorithms2::WILDCARD search. + + <p> A Unicode character, if not 0 escapes the special meaning of + a question mark, asterisk or escape character that follows + immediately after the escape character. If 0 defines no escape + character is used. </p> + + <p> Common values are '\' (U+005C REVERSE SOLIDUS) aka backslash + in text processing context, or '~' (U+007E TILDE) in spreadsheet + processing context. </p> + */ + long WildcardEscapeCharacter; +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/SearchResult.idl b/offapi/com/sun/star/util/SearchResult.idl new file mode 100644 index 000000000..8f14de88b --- /dev/null +++ b/offapi/com/sun/star/util/SearchResult.idl @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_util_SearchResult_idl__ +#define __com_sun_star_util_SearchResult_idl__ + + + +module com { module sun { module star { module util { + + +published struct SearchResult { + + /** Number of subexpressions. + + If it is 0, then no match found; this value is 1 for ABSOLUTE + and APPROXIMATE match. + The start and endOffset are always dependent on the search direction. + + For example, if you search "X" in the text "-X-" the offsets are: + + for forward: start = 1, end = 2 + + for backward: start = 2, end = 1 + + Forward, the startOffset is inclusive, the endOffset exclusive. + Backward, the startOffset is exclusive, the endOffset inclusive. + + For regular expressions it can be greater than 1. + If the value is 1, startoffset[0] and endoffset[0] points to the matching sub string + if value is > 1, still startoffset[0] and endoffset[0] points to the matching substring for whole regular expression + startoffset[i] and endoffset[i] points to the matching substring of i th matching substring. + */ + long subRegExpressions; + sequence<long> startOffset; + sequence<long> endOffset; +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/SortDescriptor.idl b/offapi/com/sun/star/util/SortDescriptor.idl new file mode 100644 index 000000000..330935953 --- /dev/null +++ b/offapi/com/sun/star/util/SortDescriptor.idl @@ -0,0 +1,93 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_SortDescriptor_idl__ +#define __com_sun_star_util_SortDescriptor_idl__ + +#include <com/sun/star/beans/XPropertySet.idl> + +#include <com/sun/star/lang/Locale.idl> + + +module com { module sun { module star { module util { + + +/** specifies the properties which can be used to describe + a sort order applied to an XSortable. + + @see XSortable + + @deprecated + */ +published service SortDescriptor +{ + interface com::sun::star::beans::XPropertySet; + + /** specifies if the case of letters is important when comparing entries. + */ + [property] boolean IsCaseSensitive; + + /** specifies the sorting order. + + The sorting order may be defined for separate keys in specific + implementations. For those this property may not need to be set. + + @see com::sun::star::text::TextSortDescriptor + */ + [optional, property] boolean SortAscending; + + /** specifies if the columns are sorted. + + <dl> + <dt> + `TRUE` + </dt> + <dd>The columns are sorted. + + </dd> + <dt> + `FALSE` + </dt> + <dd>The rows are sorted. + </dd> + </dl> + */ + [property] boolean SortColumns; + + /** specifies the locale for the compare operator (collator). + */ + [property] com::sun::star::lang::Locale CollatorLocale; + + /** specifies the algorithm for the compare operator (collator). + + The collator algorithm may be defined for separate keys in specific + implementations. For those this property may not need to be set. + + @see com::sun::star::text::TextSortDescriptor + + @see com::sun::star::i18n::XCollator + */ + [optional, property] string CollatorAlgorithm; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/SortDescriptor2.idl b/offapi/com/sun/star/util/SortDescriptor2.idl new file mode 100644 index 000000000..b3129b11d --- /dev/null +++ b/offapi/com/sun/star/util/SortDescriptor2.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_SortDescriptor2_idl__ +#define __com_sun_star_util_SortDescriptor2_idl__ + + + +module com { module sun { module star { module util { + + +/** gives access to the properties of a sort descriptor. The properties are + given in a sequence of PropertyValue. + + <p>The available properties are listed in the specific sort + descriptor implementing this service.</p> + + @see XSortable + @see com::sun::star::table::TableSortDescriptor2 + @see com::sun::star::text::TextSortDescriptor2 + + @since OOo 1.1.2 + */ +published service SortDescriptor2 +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/SortField.idl b/offapi/com/sun/star/util/SortField.idl new file mode 100644 index 000000000..9efc514f6 --- /dev/null +++ b/offapi/com/sun/star/util/SortField.idl @@ -0,0 +1,54 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_SortField_idl__ +#define __com_sun_star_util_SortField_idl__ + +#include <com/sun/star/util/SortFieldType.idl> + + + +module com { module sun { module star { module util { + +/** describes a single field in a sort descriptor. + + @deprecated + */ +published struct SortField +{ + /** index of the field in the table; 0-based. + */ + long Field; + + /** `TRUE` if data are sorted in ascending order, + `FALSE` if in descending order. + */ + boolean SortAscending; + + /** type of contents in the field. + */ + com::sun::star::util::SortFieldType FieldType; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/SortFieldType.idl b/offapi/com/sun/star/util/SortFieldType.idl new file mode 100644 index 000000000..b9db01e67 --- /dev/null +++ b/offapi/com/sun/star/util/SortFieldType.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_SortFieldType_idl__ +#define __com_sun_star_util_SortFieldType_idl__ + + + +module com { module sun { module star { module util { + + +/** enumeration used to specify the type of contents in a sort field. + + @deprecated + */ +published enum SortFieldType +{ + /** type is determined automatically. + */ + AUTOMATIC, + + /** sort field contains numerical data. + */ + NUMERIC, + + /** sort field contains text data. + */ + ALPHANUMERIC + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/Sortable.idl b/offapi/com/sun/star/util/Sortable.idl new file mode 100644 index 000000000..d553810e6 --- /dev/null +++ b/offapi/com/sun/star/util/Sortable.idl @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_Sortable_idl__ +#define __com_sun_star_util_Sortable_idl__ + +#include <com/sun/star/util/SortDescriptor.idl> +#include <com/sun/star/util/XSortable.idl> + + + +module com { module sun { module star { module util { + + +/** provides an interface for sorting. + + @deprecated + + @since OOo 1.1.2 + + */ +published service Sortable +{ + /** the properties returned by a call to the "createSortDescriptor" method + of this interfaces implementation are those of the + "com.sun.star.util.SortDescriptor" service. + + @see com::sun::star::util::SortDescriptor + */ + interface com::sun::star::util::XSortable; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/TextSearch.idl b/offapi/com/sun/star/util/TextSearch.idl new file mode 100644 index 000000000..2932af6bb --- /dev/null +++ b/offapi/com/sun/star/util/TextSearch.idl @@ -0,0 +1,39 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_TextSearch_idl__ +#define __com_sun_star_util_TextSearch_idl__ + +#include <com/sun/star/util/XTextSearch.idl> + + +module com { module sun { module star { module util { + + +/** search a string with a defined algorithm in another string. + + <p>It is possible to search forward or backward in the string. +*/ +published service TextSearch : XTextSearch; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/TextSearch2.idl b/offapi/com/sun/star/util/TextSearch2.idl new file mode 100644 index 000000000..6f447bc89 --- /dev/null +++ b/offapi/com/sun/star/util/TextSearch2.idl @@ -0,0 +1,39 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_TextSearch2_idl__ +#define __com_sun_star_util_TextSearch2_idl__ + +#include <com/sun/star/util/XTextSearch2.idl> + + +module com { module sun { module star { module util { + + +/** search a string with a defined algorithm in another string. + + <p>It is possible to search forward or backward in the string. +*/ +service TextSearch2 : XTextSearch2; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/Time.idl b/offapi/com/sun/star/util/Time.idl new file mode 100644 index 000000000..5bf0b9d57 --- /dev/null +++ b/offapi/com/sun/star/util/Time.idl @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_Time_idl__ +#define __com_sun_star_util_Time_idl__ + + +module com { module sun { module star { module util { + + +/** represents a time value. + */ +published struct Time +{ + /** contains the nanoseconds (0 - 999 999 999). + */ + unsigned long NanoSeconds; + + /** contains the seconds (0-59). + */ + unsigned short Seconds; + + /** contains the minutes (0-59). + */ + unsigned short Minutes; + + /** contains the hour (0-23). + */ + unsigned short Hours; + + /** true: time zone is UTC false: unknown time zone. + + @since LibreOffice 4.1 + */ + boolean IsUTC; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/TimeWithTimezone.idl b/offapi/com/sun/star/util/TimeWithTimezone.idl new file mode 100644 index 000000000..70442ec0a --- /dev/null +++ b/offapi/com/sun/star/util/TimeWithTimezone.idl @@ -0,0 +1,44 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_util_TimeTZ_idl__ +#define __com_sun_star_util_TimeTZ_idl__ + +#include <com/sun/star/util/Time.idl> + + +module com { module sun { module star { module util { + +/** represents a combined time value with time zone. + + @since LibreOffice 4.1 + */ +struct TimeWithTimezone +{ + /** the time (in TimeZone) + */ + Time TimeInTZ; + + /** contains the time zone, as signed offset in minutes *from* UTC, + that is *east* of UTC, that is the amount of minutes that should + be added to UTC time to obtain the time in that timezone. + + To obtain UTC time from TimeInTZ, you need to *subtract* TimeZone + minutes. + */ + short Timezone; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ + diff --git a/offapi/com/sun/star/util/TriState.idl b/offapi/com/sun/star/util/TriState.idl new file mode 100644 index 000000000..e2b9138b5 --- /dev/null +++ b/offapi/com/sun/star/util/TriState.idl @@ -0,0 +1,55 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_TriState_idl__ +#define __com_sun_star_util_TriState_idl__ + + + +module com { module sun { module star { module util { + + +/** This enumeration represents a tristate value.<p> + + This enumeration defines three values, `TRUE`, `FALSE` and a don't know + value.<p> + */ +enum TriState +{ + /** The value is equivalent to `FALSE`. + */ + NO, + + + /** The value is equivalent to `TRUE`. + */ + YES, + + + /** The value is indeterminate. + */ + INDETERMINATE + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/URL.idl b/offapi/com/sun/star/util/URL.idl new file mode 100644 index 000000000..45acd86d3 --- /dev/null +++ b/offapi/com/sun/star/util/URL.idl @@ -0,0 +1,112 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_URL_idl__ +#define __com_sun_star_util_URL_idl__ + + + +module com { module sun { module star { module util { + + +/** represents the structure of a Uniform Resource Locator. + + <p> + If the structure represents a valid URL or not depends on prior usage of + the functions of XURLTransformer. Only after one of the functions + returned `TRUE` this can be assumed.<br> + It is not necessary to set all of the fields; either URL::Complete + or (some of) the others are set. Additionally, most of the other + fields, like URL::Host, URL::Port, + URL::User, URL::Password, + or URL::Mark, are optional. + + @see XURLTransformer + + </p> + */ +published struct URL +{ + /** contains the string representation of the complete URL, for example, + http://www.sun.de:8080/pub/test/foo.txt?a=b#xyz + + <p> + It is used as a central input/output or input parameter for the interfaces of + XURLTransformer. The usage of one of the XURLTransformer + function is mandatory to validate the URL. It cannot be assumed that + URL::Complete represents always a valid URL! + </p> + */ + string Complete; + + /** contains the URL without a mark and without arguments, for example, + http://www.sun.de:8080/pub/test/foo.txt + */ + string Main; + + /** contains the protocol (scheme) of the URL, for example, "http" + */ + string Protocol; + + /** contains the user-identifier of the URL, for example, "me" + */ + string User; + + /** contains the users password of the URL, for example, "pass" + */ + string Password; + + /** contains the server part of the URL, for example, "www.sun.de" + */ + string Server; + + /** contains the port at the server of the URL, for example, "8080" + */ + short Port; + + /** contains all segments but the last one of the hierarchical path of the URL, for example, "/pub/test/" + */ + string Path; + + /** contains the last segment of the hierarchical path of the URL, for the above example, "foo.txt" + <p> + <strong>Attention:</strong>A service implementing the XURLTransformer interface + will normally not detect if the last segment is a folder or a file. So it is possible that + the last segment describes a folder. If you want to be sure that a file URL that references + a folder will be correctly put into the URL fields you should append a "/" at the end of the + hierarchical path. + </p> + */ + string Name; + + /** contains the arguments part of the URL, for example, "a=b" + */ + string Arguments; + + /** contains the mark part of the URL, for example, "xyz" + */ + string Mark; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/URLTransformer.idl b/offapi/com/sun/star/util/URLTransformer.idl new file mode 100644 index 000000000..1f6f138ba --- /dev/null +++ b/offapi/com/sun/star/util/URLTransformer.idl @@ -0,0 +1,39 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_URLTransformer_idl__ +#define __com_sun_star_util_URLTransformer_idl__ + +#include <com/sun/star/util/XURLTransformer.idl> + + + +module com { module sun { module star { module util { + + +/** helps to split up a string containing a URL into its + structural parts and assembles the parts into a single string. + */ +published service URLTransformer : XURLTransformer; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/UriAbbreviation.idl b/offapi/com/sun/star/util/UriAbbreviation.idl new file mode 100644 index 000000000..e96d4b6ec --- /dev/null +++ b/offapi/com/sun/star/util/UriAbbreviation.idl @@ -0,0 +1,39 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_util_UriAbbreviation_idl__ +#define __com_sun_star_util_UriAbbreviation_idl__ + +#include <com/sun/star/util/XStringAbbreviation.idl> + +module com { module sun { module star { module util { + +/** Abbreviate arbitrary URIs. + + <p>An abbreviation implementation that is specialized to URIs.</p> + + @see XStringAbbreviation + */ +service UriAbbreviation: XStringAbbreviation; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/VetoException.idl b/offapi/com/sun/star/util/VetoException.idl new file mode 100644 index 000000000..ba3102c82 --- /dev/null +++ b/offapi/com/sun/star/util/VetoException.idl @@ -0,0 +1,42 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_util_VetoException_idl__ +#define __com_sun_star_util_VetoException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + +module com { module sun { module star { module util { + + +/** thrown to indicate a general veto. + + @since OOo 1.1.2 +*/ +published exception VetoException : com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XAccounting.idl b/offapi/com/sun/star/util/XAccounting.idl new file mode 100644 index 000000000..545a16ad5 --- /dev/null +++ b/offapi/com/sun/star/util/XAccounting.idl @@ -0,0 +1,34 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_util_XAccounting_idl__ +#define __com_sun_star_util_XAccounting_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +module com { module sun { module star { module util { + +/** allows estimating the memory usage of a service. + + @since LibreOffice 5.3 + */ +interface XAccounting : com::sun::star::uno::XInterface +{ + + /** @returns an estimate of the current memory usage, in octets. + */ + hyper estimateUsage(); + +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/offapi/com/sun/star/util/XAtomServer.idl b/offapi/com/sun/star/util/XAtomServer.idl new file mode 100644 index 000000000..6682dffb3 --- /dev/null +++ b/offapi/com/sun/star/util/XAtomServer.idl @@ -0,0 +1,130 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XAtomServer_idl__ +#define __com_sun_star_util_XAtomServer_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/util/AtomDescription.idl> +#include <com/sun/star/util/AtomClassRequest.idl> + + +module com +{ +module sun +{ +module star +{ +module util +{ + +/** an interface to map between <i>string</i>s and <i>id</i>s + + <p>a note on atoms:<br> + Atoms are abbreviations for strings. + When a string gets registered, it is assigned a numeric id + so that said string can always be referred to by this id. + This way strings have to be transported only once over remote connections. + Valid ids are (in this implementation) non zero, signed 32 bit values. + An atom of 0 means that the string in question is not registered</p> + + <p>Additionally there is the abstraction of atom class:<br> + Atoms are grouped into classes, so that an id can be assigned + to multiple strings, depending on the class context. The main + advantage of this is that atoms in one class may be kept + to small numbers, so that bandwidth can be reduced by sending + the atoms only as 16 bit values. Note that it is up to the user in this + case to handle overflows.</p> +*/ + +published interface XAtomServer : com::sun::star::uno::XInterface +{ + /** returns a whole atom class + + @param atomClass + which class to return + + @returns + the descriptions for all atoms of class <code>atomClass</code> + */ + sequence< AtomDescription > getClass( [in] long atomClass ); + /** returns multiple atom classes + + @param atomClasses + which classes to return + + @returns + the descriptions for all atoms of the requested classes + */ + sequence< sequence< AtomDescription > > getClasses( [in] sequence< long > atomClasses ); + /** returns the strings for an arbitrary amount of atoms of multiple classes + + @param atoms + describes which strings to return + + @returns + the strings for the requested atoms + */ + sequence< string > getAtomDescriptions( [in] sequence< AtomClassRequest > atoms ); + + /** returns the atoms that have been registered to a class after an + already known atom + + <p>Hint to implementor: using ascending atoms is the easiest way + to decide, which atoms are recent.</p> + + @param atomClass + the class in question + + @param atom + the last known atom + + @returns + all atom description that have been added to class + <code>atomClass</code> after <code>atom</code> + */ + sequence< AtomDescription > getRecentAtoms( [in] long atomClass, [in] long atom ); + + /** registers or searches for a string + + @param atomClass + the class of atoms in question + + @param description + the string in question + + @param create + if true a new atom will be created for an unknown string + else the invalid atom (0) will be returned for an unknown string + + @returns + the atom for the string <code>description</code> + */ + long getAtom( [in] long atomClass, [in] string description, [in] boolean create ); +}; + + +}; // module util +}; // module star +}; // module sun +}; // module com + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XBroadcaster.idl b/offapi/com/sun/star/util/XBroadcaster.idl new file mode 100644 index 000000000..f0a4fd250 --- /dev/null +++ b/offapi/com/sun/star/util/XBroadcaster.idl @@ -0,0 +1,72 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XBroadcaster_idl__ +#define __com_sun_star_util_XBroadcaster_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + +module com { module sun { module star { module util { + + +/** allows to control notification behavior of a broadcaster. + + @since OOo 3.0 + */ +interface XBroadcaster: com::sun::star::uno::XInterface +{ + /** suspends broadcasts to the registered listeners. + + <p> + The calls to XBroadcaster::lockBroadcasts() and + XBroadcaster::unlockBroadcasts() may be + nested and even overlapping, but they must be in pairs. While + there is at least one lock remaining, no broadcasts are + sent to registered listeners. + </p> + */ + void lockBroadcasts(); + + /** resumes the broadcasts which were suspended by + XBroadcaster::lockBroadcasts(). + + <p> + The calls to XBroadcaster::lockBroadcasts() and + XBroadcaster::unlockBroadcasts() may be + nested and even overlapping, but they must be in pairs. While + there is at least one lock remaining, no broadcasts are + sent to registered listeners. + </p> + + <p> Pending broadcasts will be sent immediately after the last + call to XBroadcaster::lockBroadcasts() is matched + by a call to XBroadcaster::unlockBroadcasts(). + An implementation can decide to broadcast all pending notification in + order or batch them in single broadcasts. + </p> + */ + void unlockBroadcasts(); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XCancellable.idl b/offapi/com/sun/star/util/XCancellable.idl new file mode 100644 index 000000000..1894ac95a --- /dev/null +++ b/offapi/com/sun/star/util/XCancellable.idl @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XCancellable_idl__ +#define __com_sun_star_util_XCancellable_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + + +module com { module sun { module star { module util { + + +/** offers the possibility of canceling a job. + + <p>This is supported by objects which represent a job. + */ +published interface XCancellable: com::sun::star::uno::XInterface +{ + /** cancels the current job of the object. + */ + void cancel(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XChainable.idl b/offapi/com/sun/star/util/XChainable.idl new file mode 100644 index 000000000..1a899d2e3 --- /dev/null +++ b/offapi/com/sun/star/util/XChainable.idl @@ -0,0 +1,66 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XChainable_idl__ +#define __com_sun_star_util_XChainable_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/lang/IllegalArgumentException.idl> + + + +module com { module sun { module star { module util { + + +/** enables the object to be a member of a chain. + */ +published interface XChainable: com::sun::star::uno::XInterface +{ + /** @returns + the previous object in this chain or NULL, if this is the first + object of this chain. + */ + com::sun::star::util::XChainable getPredecessor(); + + /** @returns + the next object in this chain or NULL, if this is the last + object in this chain. + */ + com::sun::star::util::XChainable getSuccessor(); + + /** connects the specified object to this object as the successor in a chain. + + <p>This implies that this object will become the predecessor of + <var>xChainable</var>. </p> + */ + void setSuccessor( [in] com::sun::star::util::XChainable xChainable ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** checks if the specified object can be linked to this. + */ + boolean isChainable( [in] com::sun::star::util::XChainable xChainable ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XChangesBatch.idl b/offapi/com/sun/star/util/XChangesBatch.idl new file mode 100644 index 000000000..9dbe74c94 --- /dev/null +++ b/offapi/com/sun/star/util/XChangesBatch.idl @@ -0,0 +1,68 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XChangesBatch_idl__ +#define __com_sun_star_util_XChangesBatch_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/lang/WrappedTargetException.idl> + +#include <com/sun/star/util/ChangesSet.idl> + + + +module com { module sun { module star { module util { + +/** this interface enables applying a set of changes in one batch transaction. + + <p>An object implementing this interface allows other interfaces to change + its state locally. It will keep a list of pending changes until such changes + are committed or canceled. </p> + + <p>Only when they are explicitly committed will these changes take effect + persistently or globally. </p> + + @see XChangesNotifier + @see XChangesSet + @see XCancellable + */ +published interface XChangesBatch: com::sun::star::uno::XInterface +{ + /** commits any pending changes. + + <p>The exact action depends on the concrete service. </p> + */ + void commitChanges() + raises( com::sun::star::lang::WrappedTargetException ); + + /** checks whether this object has any pending changes that can be committed. + */ + boolean hasPendingChanges(); + + /** queries for any pending changes that can be committed. + */ + ChangesSet getPendingChanges(); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XChangesListener.idl b/offapi/com/sun/star/util/XChangesListener.idl new file mode 100644 index 000000000..8db563589 --- /dev/null +++ b/offapi/com/sun/star/util/XChangesListener.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XChangesListener_idl__ +#define __com_sun_star_util_XChangesListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> + +#include <com/sun/star/util/ChangesEvent.idl> + + + +module com { module sun { module star { module util { + + +/** receives events from batch change broadcaster objects. + + @see ChangesEvent + @see XChangesNotifier + @see XChangesBatch + */ +published interface XChangesListener: com::sun::star::lang::XEventListener +{ + /** is invoked when a batch of changes occurred. + */ + void changesOccurred( [in] com::sun::star::util::ChangesEvent Event ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XChangesNotifier.idl b/offapi/com/sun/star/util/XChangesNotifier.idl new file mode 100644 index 000000000..4e9080620 --- /dev/null +++ b/offapi/com/sun/star/util/XChangesNotifier.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XChangesNotifier_idl__ +#define __com_sun_star_util_XChangesNotifier_idl__ + +#include <com/sun/star/util/XChangesListener.idl> + + +module com { module sun { module star { module util { + + +/** broadcasts events about multiple changes that occur in bulk. + + @see XChangesListener + @see XChangesBatch + @see ChangesEvent + */ +published interface XChangesNotifier: com::sun::star::uno::XInterface +{ + /** adds the specified listener to receive events when changes occurred. + */ + void addChangesListener( [in] com::sun::star::util::XChangesListener aListener ); + + /** removes the specified listener. + */ + void removeChangesListener( [in] com::sun::star::util::XChangesListener aListener ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XChangesSet.idl b/offapi/com/sun/star/util/XChangesSet.idl new file mode 100644 index 000000000..96efc8206 --- /dev/null +++ b/offapi/com/sun/star/util/XChangesSet.idl @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XChangesSet_idl__ +#define __com_sun_star_util_XChangesSet_idl__ + +#include <com/sun/star/container/XElementAccess.idl> + +#include <com/sun/star/lang/WrappedTargetException.idl> + +#include <com/sun/star/util/ElementChange.idl> + + + +module com { module sun { module star { module util { + +/** this interface enables inspecting a set of changes forming one batch transaction. + + <p>An object implementing this interface should implement more + container interfaces to access individual changes as well. </p> + + @see XChangesBatch + @see ChangesEvent + @see XChangesListener + @see XChangesNotifier + */ +published interface XChangesSet: com::sun::star::container::XElementAccess +{ + /** queries for all contained changes at once. + + @returns an array of ElementChange holding information about + each changes that is part of this object. + */ + sequence<ElementChange> getAllChanges(); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XCloneable.idl b/offapi/com/sun/star/util/XCloneable.idl new file mode 100644 index 000000000..9abca6c44 --- /dev/null +++ b/offapi/com/sun/star/util/XCloneable.idl @@ -0,0 +1,44 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XCloneable_idl__ +#define __com_sun_star_util_XCloneable_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + + +module com { module sun { module star { module util { + + +/** makes it possible to create a copy of the object which supports this interface. + */ +published interface XCloneable: com::sun::star::uno::XInterface +{ + /** creates a copy of the object. + */ + com::sun::star::util::XCloneable createClone(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XCloseBroadcaster.idl b/offapi/com/sun/star/util/XCloseBroadcaster.idl new file mode 100644 index 000000000..50959474f --- /dev/null +++ b/offapi/com/sun/star/util/XCloseBroadcaster.idl @@ -0,0 +1,64 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XCloseBroadcaster_idl__ +#define __com_sun_star_util_XCloseBroadcaster_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/util/XCloseListener.idl> + + + module com { module sun { module star { module util { + +/** broadcasts each tried closing of an object to all interest listener + + <p> + The called object for closing must post the closing events immediately + and before any internal cancel operations will be started. + If a listener disagree with that it should throw a CloseVetoException + and called function XCloseable::close() must be broken immediately. + It's not allowed to catch it inside the close() request. + If no listener nor internal processes hinder the object on closing + all listeners get a notification about real closing. + </p> + + @see + */ +published interface XCloseBroadcaster: com::sun::star::uno::XInterface +{ + /** adds the specified listener to receive or have a veto for "close" events + + @param Listener + the listener which is interest on closing events + */ + void addCloseListener( [in] XCloseListener Listener ); + + /** removes the specified listener + + @param Listener + the listener which isn't interest on closing events any longer + */ + void removeCloseListener( [in] XCloseListener Listener ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XCloseListener.idl b/offapi/com/sun/star/util/XCloseListener.idl new file mode 100644 index 000000000..6f3362a9e --- /dev/null +++ b/offapi/com/sun/star/util/XCloseListener.idl @@ -0,0 +1,120 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XCloseListener_idl__ +#define __com_sun_star_util_XCloseListener_idl__ + +#include <com/sun/star/util/CloseVetoException.idl> +#include <com/sun/star/lang/XEventListener.idl> +#include <com/sun/star/lang/EventObject.idl> + + + module com { module sun { module star { module util { + +/** makes it possible to receive events when an object + is called for closing + + <p> + Such close events are broadcasted by a XCloseBroadcaster + if somewhere tries to close it by calling XCloseable::close(). + Listener can: + <ul> + <li>break that by throwing CloseVetoException</li> + <li>or accept that by deregister himself at this broadcaster.</li> + </ul> + </p> + + <p> + If an event com::sun::star::lang::XEventListener::disposing() + occurred, nobody called XCloseable::close() on listened object before. + Then it's not allowed to break this request - it must be accepted! + </p> + + @see XCloseable + @see XCloseBroadcaster + */ +published interface XCloseListener: com::sun::star::lang::XEventListener +{ + /** is called when somewhere tries to close listened object + + <p> + Is called before XCloseListener::notifyClosing(). + Listener has the chance to break that by throwing a CloseVetoException. + This exception must be passed to the original caller of XCloseable::close() + without any interaction. + </p> + + <p> + The parameter <var>GetsOwnership</var> regulate who has to try to close the listened object + again, if this listener disagree with the request by throwing the exception. + If it's set to `FALSE` the original caller of XCloseable::close() + will be the owner in every case. It's not allowed to call close() from this listener then. + If it's set to `TRUE` this listener will be the new owner if he throw the exception, + otherwise not! If his still running processes will be finished he must call close() on + listened object again then. + </p> + + <p> + If this listener doesn't disagree with th close request it depends from his internal + implementation if he deregister himself at the listened object. + But normally this must be done in XCloseListener::notifyClosing(). + </p> + + @param Source + describes the source of the event (must be the listened object) + + @param GetsOwnership + `TRUE` pass the ownership to this listener, if he throw the veto exception + (otherwise this parameter must be ignored!) + <br> + `FALSE` forbids to grab the ownership for the listened close object and call + close() on that any time. + + @throws CloseVetoException + if listener disagree with the close request on listened object he must throw this exception + */ + void queryClosing( + [in] com::sun::star::lang::EventObject Source, + [in] boolean GetsOwnership ) + raises( CloseVetoException ); + + /** is called when the listened object is closed really + + <p> + Now the listened object is closed really. Listener has to accept that; + should deregister himself and release all references to it. + It's not allowed nor possible to disagree with that by throwing any exception. + </p> + + <p> + If the event com::sun::star::lang::XEventListener::disposing() occurred before + it must be accepted too. There exist no chance for a disagreement any more. + </p> + + @param Source + describes the source of the event (must be the listened object) + */ + void notifyClosing( [in] com::sun::star::lang::EventObject Source ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XCloseable.idl b/offapi/com/sun/star/util/XCloseable.idl new file mode 100644 index 000000000..ad39183c8 --- /dev/null +++ b/offapi/com/sun/star/util/XCloseable.idl @@ -0,0 +1,120 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XCloseable_idl__ +#define __com_sun_star_util_XCloseable_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/util/XCloseBroadcaster.idl> + + +module com { module sun { module star { module util { + +/** makes it possible to release any objects in an ordered manner by using + a two-step mechanism + + <p> + If an object should be terminated, it can be:<br> + <ul> + <li>disposed (if it supports com::sun::star::lang::XComponent::dispose())</li> + <li>closed (if it supports XCloseable::close())</li> + </ul> + First version gives the object no chance to disagree with that (e.g. if a + process is still running and can't be canceled really). Last version + provides this possibility, but can't guarantee real termination of called object. + It depends from the environment of an object, if one or both mechanism are necessary. + </p> + + <p> + Base interface XCloseBroadcaster makes it possible that any listener + which is interested on life time of listened object ... + <ul> + <li>can get a notification about closing of it</li> + <li>or can have a veto to break that.</li> + </ul> + </p> + + @see com::sun::star::lang::XComponent::dispose() + @see XCloseBroadcaster + @see XCloseListener + */ +published interface XCloseable: XCloseBroadcaster +{ + /** try to close the object + + <p> + Must definitely be called before com::sun::star::lang::XComponent::dispose(). + But nobody can guarantee real closing of called object - because it can disagree with that if any + still running processes can't be canceled yet. It's not allowed to block this call till internal + operations will be finished here. They must be canceled or call must return immediately by throwing + the CloseVetoException. Otherwise (if nothing exist to disagree) it must return normally. + </p> + + <p> + Before any internal processes will be canceled, all registered XCloseListener + must be notified. Any of them can disagree with a CloseVetoException too. + It's forbidden to catch this exception inside the called close() method because the caller must + get this information! + </p> + + <p> + If somewhere disagree with a CloseVetoException it will not clear who has to close the object again + after still running processes was finished. The parameter <var>DeliverOwnership</var> regulate that. + If it is set to `FALSE` the caller of the method close() will be the owner of this object in every case. + Then it's not allowed to call close() from any other place (may a registered XCloseListener). + If it is set to `TRUE` the caller gives up his ownership. If a XCloseListener throw the veto exception + he will be the new owner of the closing object. This information is passed to the listener by a parameter of + his notification method XCloseListener::queryClosing(). After his operations was finished + he MUST try to close it again. If the closing object itself disagree by an exception and the parameter + <var>DeliverOwnership</var> was set to `TRUE` the object will be his own owner with all consequences of that. + <br><strong>Note:</strong><br> + There is no way to get the ownership back if it was delivered! + </p> + + <p> + If this method was already called on an object it should return without any reaction. Normally it's possible to throw + a com::sun::star::lang::DisposedException for already disposed or closed objects + (which represent a com::sun::star::uno::RuntimeException and can be thrown by every interface call), + but it shouldn't be used here. The veto exception should be the only way to indicates the result. + </p> + + @param DeliverOwnership + `TRUE` delegates the ownership of this closing object to anyone which throw the CloseVetoException. + This new owner has to close the closing object again if his still running processes will be finished. + <br> + `FALSE` let the ownership at the original one which called the close() method. He must react for possible + CloseVetoExceptions and try it again at a later time. This can be useful for a generic UI handling. + + @throws CloseVetoException + indicates that the closing object himself or any of his currently registered listener disagree with this close() request. + + @see XCloseListener + @see CloseVetoException + @see com::sun::star::lang::XComponent::dispose() + @see com::sun::star::lang::DisposedException + */ + void close( [in] boolean DeliverOwnership ) + raises( CloseVetoException ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XDataEditor.idl b/offapi/com/sun/star/util/XDataEditor.idl new file mode 100644 index 000000000..09fa8397b --- /dev/null +++ b/offapi/com/sun/star/util/XDataEditor.idl @@ -0,0 +1,60 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XDataEditor_idl__ +#define __com_sun_star_util_XDataEditor_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/util/XDataEditorListener.idl> + + +module com { module sun { module star { module util { + +/** connects to a model and broadcasts status change events. + */ +published interface XDataEditor: com::sun::star::uno::XInterface +{ + /** makes the data editor visible to the user. + */ + void show(); + + /** connects the data editor to a data model. + */ + void setModel( [in] com::sun::star::uno::XInterface model ); + + /** @returns + the data model which was set by XDataEditor::setModel(). + */ + com::sun::star::uno::XInterface getModel(); + + /** registers a listener to receive `DataEditorEvent`s. + */ + void addDataEditorListener( [in] XDataEditorListener listener ); + + /** unregisters a listener. + */ + void removeDataEditorListener( [in] XDataEditorListener listener ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XDataEditorListener.idl b/offapi/com/sun/star/util/XDataEditorListener.idl new file mode 100644 index 000000000..019800bfe --- /dev/null +++ b/offapi/com/sun/star/util/XDataEditorListener.idl @@ -0,0 +1,44 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XDataEditorListener_idl__ +#define __com_sun_star_util_XDataEditorListener_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/util/DataEditorEvent.idl> + + +module com { module sun { module star { module util { + +/** makes it possible to receive status change events from an + XDataEditor. + */ +published interface XDataEditorListener: com::sun::star::uno::XInterface +{ + /** is called when the state of a connected XDataEditor changes. + */ + void updateDataEditorState( [in] DataEditorEvent event ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XFlushListener.idl b/offapi/com/sun/star/util/XFlushListener.idl new file mode 100644 index 000000000..9259f52eb --- /dev/null +++ b/offapi/com/sun/star/util/XFlushListener.idl @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XFlushListener_idl__ +#define __com_sun_star_util_XFlushListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> + +#include <com/sun/star/lang/EventObject.idl> + + + +module com { module sun { module star { module util { + + +/** makes it possible to receive <em>flushed</em> events. + */ +published interface XFlushListener: com::sun::star::lang::XEventListener +{ + /** is called when the object data is flushed. + */ + void flushed( [in] com::sun::star::lang::EventObject rEvent ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XFlushable.idl b/offapi/com/sun/star/util/XFlushable.idl new file mode 100644 index 000000000..d7f8e5ab2 --- /dev/null +++ b/offapi/com/sun/star/util/XFlushable.idl @@ -0,0 +1,54 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XFlushable_idl__ +#define __com_sun_star_util_XFlushable_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/util/XFlushListener.idl> + + + +module com { module sun { module star { module util { + + +/** is supported by objects with data that can be flushed to a data source. + */ +published interface XFlushable: com::sun::star::uno::XInterface +{ + /** flushes the data of the object to the connected data source. + */ + void flush(); + + /** adds the specified listener to receive event "flushed." + */ + void addFlushListener( [in] com::sun::star::util::XFlushListener l ); + + /** removes the specified listener. + */ + void removeFlushListener( [in] com::sun::star::util::XFlushListener l ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XImportable.idl b/offapi/com/sun/star/util/XImportable.idl new file mode 100644 index 000000000..6fa6b4ee7 --- /dev/null +++ b/offapi/com/sun/star/util/XImportable.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XImportable_idl__ +#define __com_sun_star_util_XImportable_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/beans/PropertyValue.idl> + + + + module com { module sun { module star { module util { + +/** makes it possible to import files into the object. + */ +published interface XImportable: com::sun::star::uno::XInterface +{ + /** @returns + a descriptor which contains the arguments for an import. + */ + sequence<com::sun::star::beans::PropertyValue> createImportDescriptor( [in] boolean bEmpty ); + + /** imports data from an external database. + */ + void doImport( [in] sequence<com::sun::star::beans::PropertyValue> aDescriptor ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XIndent.idl b/offapi/com/sun/star/util/XIndent.idl new file mode 100644 index 000000000..f7557b1ef --- /dev/null +++ b/offapi/com/sun/star/util/XIndent.idl @@ -0,0 +1,47 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XIndent_idl__ +#define __com_sun_star_util_XIndent_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + + + module com { module sun { module star { module util { + +/** allows indentation of the object to be changed. + */ +published interface XIndent: com::sun::star::uno::XInterface +{ + /** shifts the indentation by one default step to the left. + */ + void decrementIndent(); + + /** shifts the indentation by one default step to the right. + */ + void incrementIndent(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XJobManager.idl b/offapi/com/sun/star/util/XJobManager.idl new file mode 100644 index 000000000..77dbc2ee4 --- /dev/null +++ b/offapi/com/sun/star/util/XJobManager.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_util_XJobManager_idl__ +#define __com_sun_star_util_XJobManager_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/util/XCancellable.idl> + +module com { module sun { module star { module util { + +/** Manage cancelable jobs. + + */ +published interface XJobManager: com::sun::star::uno::XInterface +{ + /** registers a cancelable job. + */ + void registerJob( [in] com::sun::star::util::XCancellable Job ); + + /** deregisters a cancelable jobs. + */ + void releaseJob( [in] com::sun::star::util::XCancellable Job ); + + /** cancel all registered jobs. + */ + void cancelAllJobs(); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XLinkUpdate.idl b/offapi/com/sun/star/util/XLinkUpdate.idl new file mode 100644 index 000000000..71aa943cc --- /dev/null +++ b/offapi/com/sun/star/util/XLinkUpdate.idl @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XLinkUpdate_idl__ +#define __com_sun_star_util_XLinkUpdate_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + + +module com { module sun { module star { module util { + + +/** allows initiating an update of linked parts of a document. + + */ +published interface XLinkUpdate: com::sun::star::uno::XInterface +{ + /** initiates the reloading of all linked document content like linked graphics, + linked text sections. + */ + void updateLinks(); +}; + + +}; }; }; }; + +#endif + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XLocalizedAliases.idl b/offapi/com/sun/star/util/XLocalizedAliases.idl new file mode 100644 index 000000000..244c9b264 --- /dev/null +++ b/offapi/com/sun/star/util/XLocalizedAliases.idl @@ -0,0 +1,93 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XLocalizedAliases_idl__ +#define __com_sun_star_util_XLocalizedAliases_idl__ + +#include <com/sun/star/lang/Locale.idl> + +#include <com/sun/star/container/NoSuchElementException.idl> + +#include <com/sun/star/container/ElementExistException.idl> + +#include <com/sun/star/util/AliasProgrammaticPair.idl> + +module com { module sun { module star { module util { + + +/** is the interface for binding programmatic names to aliases. Aliases + can be provided in several locales for the same programmatic name. + */ +published interface XLocalizedAliases: com::sun::star::uno::XInterface +{ + + /** registers an alias for a programmatic name. + */ + void bindAlias([in]string programmaticName, + [in]com::sun::star::lang::Locale locale, + [in]string alias) + raises (com::sun::star::container::ElementExistException); + /** revokes an alias for a programmatic name. + */ + void unbindAlias([in]com::sun::star::lang::Locale locale, + [in]string alias) + raises (com::sun::star::container::NoSuchElementException); + /** retrieves a registered programmatic name identified by an alias. + */ + string lookupAlias([in]com::sun::star::lang::Locale locale, + [in]string Alias) + raises (com::sun::star::container::NoSuchElementException); + /** retrieves a given alias for a programmatic name. + */ + string lookupProgrammatic([in]com::sun::star::lang::Locale locale, + [in]string programmatic) + raises (com::sun::star::container::NoSuchElementException); + /** removes all aliases for a programmatic name. + */ + void unbindAliases([in]string programmaticName) + raises (com::sun::star::container::NoSuchElementException); + /** rebinds all aliases registered to a given URL to a new one. + */ + void rebindAliases([in]string currentProgrammatic, + [in]string newProgrammatic) + raises (com::sun::star::container::NoSuchElementException, + com::sun::star::container::ElementExistException); + /** renames an alias for a programmatic name. + */ + void renameAlias([in]com::sun::star::lang::Locale locale, + [in]string oldName, + [in]string aNewName) + raises (com::sun::star::container::NoSuchElementException, + com::sun::star::container::ElementExistException); + /** retrieves a list of all registered aliases for a certain language. + + @param locale + specifies the locale scope. + + @returns + a sequence of registered pair of alias and programmatic name. + */ + sequence<AliasProgrammaticPair> listAliases([in]com::sun::star::lang::Locale locale); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XLockable.idl b/offapi/com/sun/star/util/XLockable.idl new file mode 100644 index 000000000..07165fd3f --- /dev/null +++ b/offapi/com/sun/star/util/XLockable.idl @@ -0,0 +1,70 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#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 isLocked() 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XMergeable.idl b/offapi/com/sun/star/util/XMergeable.idl new file mode 100644 index 000000000..3a099c445 --- /dev/null +++ b/offapi/com/sun/star/util/XMergeable.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XMergeable_idl__ +#define __com_sun_star_util_XMergeable_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + + +module com { module sun { module star { module util { + + +/** represents a range of cells that can be merged. + */ +published interface XMergeable: com::sun::star::uno::XInterface +{ + /** merges/unmerges the area specified by this object. + */ + void merge( [in] boolean bMerge ); + + /** @returns + `TRUE` if the area specified by this object is merged, + or `FALSE` otherwise. + */ + boolean getIsMerged(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XModeChangeApproveListener.idl b/offapi/com/sun/star/util/XModeChangeApproveListener.idl new file mode 100644 index 000000000..dc1cec631 --- /dev/null +++ b/offapi/com/sun/star/util/XModeChangeApproveListener.idl @@ -0,0 +1,56 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_util_XModeChangeApproveListener_idl__ +#define __com_sun_star_util_XModeChangeApproveListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> +#include <com/sun/star/util/ModeChangeEvent.idl> +#include <com/sun/star/util/VetoException.idl> + + +module com { module sun { module star { module util { + + +/** allows to veto changes in an object's internal mode. + + @see XModeChangeBroadcaster + + @since OOo 1.1.2 +*/ +published interface XModeChangeApproveListener : com::sun::star::lang::XEventListener +{ + /** indicates that the mode of the broadcasting component is about to change. + + <p>The ModeChangeEvent::NewMode indicates the new mode which + is to be set on the component</p> + + @throws VetoException + when the mode change is vetoed + */ + void approveModeChange( [in] ModeChangeEvent rSource ) + raises ( VetoException ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XModeChangeBroadcaster.idl b/offapi/com/sun/star/util/XModeChangeBroadcaster.idl new file mode 100644 index 000000000..3cb0cefef --- /dev/null +++ b/offapi/com/sun/star/util/XModeChangeBroadcaster.idl @@ -0,0 +1,76 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_util_XModeChangeBroadcaster_idl__ +#define __com_sun_star_util_XModeChangeBroadcaster_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/lang/NoSupportException.idl> +#include <com/sun/star/util/XModeChangeListener.idl> +#include <com/sun/star/util/XModeChangeApproveListener.idl> + + +module com { module sun { module star { module util { + + +/** broadcasts changes in an object's internal mode. + + @see XModeSelector + @see XModeChangeListener + @see XModeChangeApproveListener + + @since OOo 1.1.2 +*/ +published interface XModeChangeBroadcaster : com::sun::star::uno::XInterface +{ + /** adds the given listener to the list of components to be notified when the mode + changes. + */ + void addModeChangeListener( [in] XModeChangeListener rxListener ); + + /** removes the given listener from the list of components to be notified when the mode + changes. + */ + void removeModeChangeListener( [in] XModeChangeListener rxListener ); + + /** adds the given listener to the list of components to be notified when the mode + is about to change. + + @throws com::sun::star::lang::NoSupportException + if the component does not allow vetoing mode changes + */ + void addModeChangeApproveListener( [in] XModeChangeApproveListener rxListener ) + raises( com::sun::star::lang::NoSupportException ); + + /** remove the given listener from the list of components to be notified when the mode + is about to change. + + @throws com::sun::star::lang::NoSupportException + if the component does not allow vetoing mode changes + */ + void removeModeChangeApproveListener( [in] XModeChangeApproveListener rxListener ) + raises( com::sun::star::lang::NoSupportException ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XModeChangeListener.idl b/offapi/com/sun/star/util/XModeChangeListener.idl new file mode 100644 index 000000000..634a2198e --- /dev/null +++ b/offapi/com/sun/star/util/XModeChangeListener.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_util_XModeChangeListener_idl__ +#define __com_sun_star_util_XModeChangeListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> + +#include <com/sun/star/util/ModeChangeEvent.idl> + + +module com { module sun { module star { module util { + + +/** allows to listen for changes in an object's internal mode. + + @see XModeChangeBroadcaster + + @since OOo 1.1.2 +*/ +published interface XModeChangeListener : com::sun::star::lang::XEventListener +{ + /** indicates that the mode of the broadcasting component has changed. + */ + void modeChanged( [in] ModeChangeEvent rSource ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XModeSelector.idl b/offapi/com/sun/star/util/XModeSelector.idl new file mode 100644 index 000000000..c679d24c9 --- /dev/null +++ b/offapi/com/sun/star/util/XModeSelector.idl @@ -0,0 +1,61 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XModeSelector_idl__ +#define __com_sun_star_util_XModeSelector_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/lang/NoSupportException.idl> + + + +module com { module sun { module star { module util { + + +/** is supported by objects which supply different modes. + */ +published interface XModeSelector: com::sun::star::uno::XInterface +{ + /** sets a new mode for the implementing object. + */ + void setMode( [in] string aMode ) + raises( com::sun::star::lang::NoSupportException ); + + /** @returns + the current mode. + */ + string getMode(); + + /** @returns + a sequence of all supported modes. + */ + sequence<string> getSupportedModes(); + + /** asks whether a mode is supported or not. + */ + boolean supportsMode( [in] string aMode ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XModifiable.idl b/offapi/com/sun/star/util/XModifiable.idl new file mode 100644 index 000000000..372fbf506 --- /dev/null +++ b/offapi/com/sun/star/util/XModifiable.idl @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XModifiable_idl__ +#define __com_sun_star_util_XModifiable_idl__ + +#include <com/sun/star/util/XModifyBroadcaster.idl> + +#include <com/sun/star/beans/PropertyVetoException.idl> + + + +module com { module sun { module star { module util { + + +/** makes the modify state of the object accessible. + + <p>Additionally, it makes it possible to register listener objects, which + get notification whenever the status or content of the object changes. </p> + */ +published interface XModifiable: com::sun::star::util::XModifyBroadcaster +{ + /** @returns + `TRUE` if the object is modified. + + <p>The modification is always in relation to a certain state + (i.e., the initial, loaded, or last stored version). + */ + boolean isModified(); + + /** sets the status of the <em>modified</em>-flag from outside of the + object. + */ + void setModified( [in] boolean bModified ) + raises( com::sun::star::beans::PropertyVetoException ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XModifiable2.idl b/offapi/com/sun/star/util/XModifiable2.idl new file mode 100644 index 000000000..895c974ae --- /dev/null +++ b/offapi/com/sun/star/util/XModifiable2.idl @@ -0,0 +1,71 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XModifiable2_idl__ +#define __com_sun_star_util_XModifiable2_idl__ + +#include <com/sun/star/util/XModifiable.idl> + +#include <com/sun/star/beans/PropertyVetoException.idl> + + + +module com { module sun { module star { module util { + + +/** allows to control modifiable state change. + + <p> + This interface allows to prevent changing of the modified state of the + object. It is introduced for performance optimizations, to allow to prevent + unnecessary updates, for example while importing a document. + Please use this interface very carefully. + </p> + */ +interface XModifiable2: com::sun::star::util::XModifiable +{ + /** disable possibility to change modified state of the document + + @returns the value that says whether the modified state change was + enabled before the call + `TRUE` the changing of the modified state was already disabled + `FALSE` the changing of the modified state was enabled + + */ + boolean disableSetModified(); + + /** enable possibility to change modified state of the document + + @returns the value that says whether the modified state change was + enabled before the call + `TRUE` the changing of the modified state was disabled + `FALSE` the changing of the modified state was already enabled + */ + boolean enableSetModified(); + + /** allows to detect whether the modified state change is enabled + */ + boolean isSetModifiedEnabled(); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XModifyBroadcaster.idl b/offapi/com/sun/star/util/XModifyBroadcaster.idl new file mode 100644 index 000000000..9d9077725 --- /dev/null +++ b/offapi/com/sun/star/util/XModifyBroadcaster.idl @@ -0,0 +1,54 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XModifyBroadcaster_idl__ +#define __com_sun_star_util_XModifyBroadcaster_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/util/XModifyListener.idl> + + + +module com { module sun { module star { module util { + + +/** broadcasts each modification made on the date data of the object which + supports this interface. + + <p>The modified object must post the modification events immediately + after the modification is performed.</p> + */ +published interface XModifyBroadcaster: com::sun::star::uno::XInterface +{ + /** adds the specified listener to receive events "modified." + */ + void addModifyListener( [in] com::sun::star::util::XModifyListener aListener ); + + /** removes the specified listener. + */ + void removeModifyListener( [in] com::sun::star::util::XModifyListener aListener ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XModifyListener.idl b/offapi/com/sun/star/util/XModifyListener.idl new file mode 100644 index 000000000..c6804d483 --- /dev/null +++ b/offapi/com/sun/star/util/XModifyListener.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XModifyListener_idl__ +#define __com_sun_star_util_XModifyListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> + +#include <com/sun/star/lang/EventObject.idl> + + + +module com { module sun { module star { module util { + + +/** makes it possible to receive events when a model object changes. + */ +published interface XModifyListener: com::sun::star::lang::XEventListener +{ + /** is called when something changes in the object. + + <p>Due to such an event, it may be necessary to update views or + controllers. </p> + + <p>The source of the event may be the content of the object to + which the listener is registered.</p> + */ + void modified( [in] com::sun::star::lang::EventObject aEvent ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XNumberFormatPreviewer.idl b/offapi/com/sun/star/util/XNumberFormatPreviewer.idl new file mode 100644 index 000000000..00db87678 --- /dev/null +++ b/offapi/com/sun/star/util/XNumberFormatPreviewer.idl @@ -0,0 +1,112 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XNumberFormatPreviewer_idl__ +#define __com_sun_star_util_XNumberFormatPreviewer_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/util/Color.idl> +#include <com/sun/star/lang/Locale.idl> + +#include <com/sun/star/util/MalformedNumberFormatException.idl> + + + + module com { module sun { module star { module util { + + +/** represents a number formatter which can preview number + formats without inserting them. + + @see NumberFormatter + */ +published interface XNumberFormatPreviewer: com::sun::star::uno::XInterface +{ + + /** formats a value using a format string, without inserting a + number format into the list. + + @param aFormat + is the format string that is used for formatting. + + @param fValue + is the value that is formatted. + + @param nLocale + is the locale that is used to interpret the format string. + + @param bAllowEnglish + specifies if English language number format strings are accepted + in addition to those from the selected locale. + + @returns + the formatted string. + + @throws com::sun::star::util::MalformedNumberFormatException + if the format string is invalid. + + */ + string convertNumberToPreviewString( [in] string aFormat, + [in] double fValue, + [in] com::sun::star::lang::Locale nLocale, + [in] boolean bAllowEnglish ) + raises( com::sun::star::util::MalformedNumberFormatException ); + + + /** returns the color which is to be used for a number. + + @param aFormat + is the format string that is used for formatting. + + @param fValue + is the value that is formatted. + + @param nLocale + is the locale that is used to interpret the format string. + + @param bAllowEnglish + specifies if English language number format strings are accepted + in addition to those from the selected locale. + + @param aDefaultColor + is the color that should be returned if no color is set by + the number format. + + @returns + the color that should used to output the formatted string. + + @throws com::sun::star::util::MalformedNumberFormatException + if the format string is invalid. + + */ + com::sun::star::util::Color queryPreviewColorForNumber( [in] string aFormat, + [in] double fValue, + [in] com::sun::star::lang::Locale nLocale, + [in] boolean bAllowEnglish, + [in] com::sun::star::util::Color aDefaultColor ) + raises( com::sun::star::util::MalformedNumberFormatException ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XNumberFormatTypes.idl b/offapi/com/sun/star/util/XNumberFormatTypes.idl new file mode 100644 index 000000000..b281710fa --- /dev/null +++ b/offapi/com/sun/star/util/XNumberFormatTypes.idl @@ -0,0 +1,96 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XNumberFormatTypes_idl__ +#define __com_sun_star_util_XNumberFormatTypes_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/lang/Locale.idl> + + + + module com { module sun { module star { module util { + + +/** represents functions to get specific, predefined number formats. + */ +published interface XNumberFormatTypes: com::sun::star::uno::XInterface +{ + + /** @returns + the key of the standard format for a locale. + */ + long getStandardIndex( [in] com::sun::star::lang::Locale nLocale ); + + + /** @returns + the key of the standard format within a specified type for a given locale. + + @param nType + the type of the number format. Must be one of the + NumberFormat constants. + @param nLocale + the locale for which the number format is requested. + + */ + long getStandardFormat( [in] short nType, + [in] com::sun::star::lang::Locale nLocale ); + + + /** @returns + the key of a built-in format for a locale: + + @param nIndex + the index of the wanted number format within the formats for + the given locale. One of the + com::sun::star::i18n::NumberFormatIndex + constants. + @param nLocale + the locale for which the key is requested. + */ + long getFormatIndex( [in] short nIndex, + [in] com::sun::star::lang::Locale nLocale ); + + + /** verifies if one type of number format is compatible with another type. + */ + boolean isTypeCompatible( [in] short nOldType, + [in] short nNewType ); + + + /** @returns + the index of the converted number format if successful, + the old index if the number format could not be converted. + + @param nKey + index of the old number format + + @param nLocale + the locale to which the number format is converted + */ + long getFormatForLocale( [in] long nKey, + [in] com::sun::star::lang::Locale nLocale ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XNumberFormats.idl b/offapi/com/sun/star/util/XNumberFormats.idl new file mode 100644 index 000000000..8e4bcbe69 --- /dev/null +++ b/offapi/com/sun/star/util/XNumberFormats.idl @@ -0,0 +1,179 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XNumberFormats_idl__ +#define __com_sun_star_util_XNumberFormats_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/beans/XPropertySet.idl> + +#include <com/sun/star/lang/Locale.idl> + +#include <com/sun/star/util/MalformedNumberFormatException.idl> + + + + module com { module sun { module star { module util { + + +/** provides access to multiple NumberFormats. + + The number formats are managed by their unique key in the document. + */ +published interface XNumberFormats: com::sun::star::uno::XInterface +{ + + /** @returns + a readonly NumberFormatProperties. + + @param nKey + the key for the format + */ + com::sun::star::beans::XPropertySet getByKey( [in] long nKey ); + + + /** @returns + a sequence of the keys of all number formats with the specified type and language. + + @param nType + the type of number formats to return. Must be one of the + NumberFormat constants. + + @param nLocale + the locale of number formats to return. + + @param bCreate + `TRUE`: create new entries if no formats for the selected language exist<BR> + `FALSE`: return an empty list if no formats for the selected language exist + */ + sequence<long> queryKeys( [in] short nType, + [in] com::sun::star::lang::Locale nLocale, + [in] boolean bCreate ); + + + /** finds a number format by its format string and returns its key. + + @returns + the key for the format if found, otherwise -1. + + @param aFormat + the string representation of the number format + + @param nLocale + the locale for number formats to find + + @param bScan + reserved for future use and should be set to false + */ + long queryKey( [in] string aFormat, + [in] com::sun::star::lang::Locale nLocale, + [in] boolean bScan ); + + + /** adds a new number format to the list, using a format string. + + @returns + the key for new number format + + @param aFormat + the string representation of the number format + + @param nLocale + the locale for the number format + + @throws com::sun::star::util::MalformedNumberFormatException + if incorrect number format is specified + */ + long addNew( [in] string aFormat, + [in] com::sun::star::lang::Locale nLocale ) + raises( com::sun::star::util::MalformedNumberFormatException ); + + + /** adds a new number format to the list, using a format + string in a different locale than the desired locale of the + resulting number format. + + @returns + the key for added number format + + @param aFormat + the key for the number format + + @param nLocale + the original locale for the number format + + @param nNewLocale + the new locale for the number format to be converted + + @throws com::sun::star::util::MalformedNumberFormatException + if incorrect number format is specified + */ + long addNewConverted( [in] string aFormat, + [in] com::sun::star::lang::Locale nLocale, + [in] com::sun::star::lang::Locale nNewLocale ) + raises( com::sun::star::util::MalformedNumberFormatException ); + + + /** removes a number format from the list. + + @param nKey + the key for the numberformat + */ + void removeByKey( [in] long nKey ); + + + /** generates a format string from several parameters without + creating an actual number format. + + @returns + the string representation for the number format + + @param nBaseKey + the key for the number format to be used as base format + + @param nLocale + the locale for the number format + + @param bThousands + the thousands separator is shown or not + + @param bRed + show negative number in red colored if `TRUE` + + @param nDecimals + how many digits are shown after the decimal point + + @param nLeading + how many number of leading zeros are shown + */ + string generateFormat( [in] long nBaseKey, + [in] com::sun::star::lang::Locale nLocale, + [in] boolean bThousands, + [in] boolean bRed, + [in] short nDecimals, + [in] short nLeading ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XNumberFormatsSupplier.idl b/offapi/com/sun/star/util/XNumberFormatsSupplier.idl new file mode 100644 index 000000000..9ef6a72e7 --- /dev/null +++ b/offapi/com/sun/star/util/XNumberFormatsSupplier.idl @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XNumberFormatsSupplier_idl__ +#define __com_sun_star_util_XNumberFormatsSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/beans/XPropertySet.idl> + +#include <com/sun/star/util/XNumberFormats.idl> + + + + module com { module sun { module star { module util { + + +/** supplies the collection of NumberFormats (for example, in a + document) and the settings belonging to these formats. + */ +published interface XNumberFormatsSupplier: com::sun::star::uno::XInterface +{ + + /** @returns + the NumberFormatSettings of this object. + */ + com::sun::star::beans::XPropertySet getNumberFormatSettings(); + + + /** @returns + the collection of number formats belonging to this object (e.g., to this document). + */ + com::sun::star::util::XNumberFormats getNumberFormats(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XNumberFormatter.idl b/offapi/com/sun/star/util/XNumberFormatter.idl new file mode 100644 index 000000000..dd32f4862 --- /dev/null +++ b/offapi/com/sun/star/util/XNumberFormatter.idl @@ -0,0 +1,117 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XNumberFormatter_idl__ +#define __com_sun_star_util_XNumberFormatter_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/util/Color.idl> +#include <com/sun/star/util/XNumberFormatsSupplier.idl> + +#include <com/sun/star/util/NotNumericException.idl> + + + + module com { module sun { module star { module util { + + +/** represents a number formatter. + */ +published interface XNumberFormatter: com::sun::star::uno::XInterface +{ + + /** attaches an XNumberFormatsSupplier to this + NumberFormatter. + + <p>This NumberFormatter will only use the NumberFormats + specified in the attached XNumberFormatsSupplier. Without an attached + XNumberFormatsSupplier, no formatting is possible.</p> + */ + void attachNumberFormatsSupplier( [in] com::sun::star::util::XNumberFormatsSupplier xSupplier ); + + + /** @returns + the attached XNumberFormatsSupplier. + */ + com::sun::star::util::XNumberFormatsSupplier getNumberFormatsSupplier(); + + + /** detects the number format in a string which contains a formatted number. + */ + long detectNumberFormat( [in] long nKey, + [in] string aString ) + raises( com::sun::star::util::NotNumericException ); + + + /** converts a string which contains a formatted number into a number. + + <p>If this is a text format, the string will not be converted.</p> + */ + double convertStringToNumber( [in] long nKey, + [in] string aString ) + raises( com::sun::star::util::NotNumericException ); + + + /** converts a number into a string. + */ + string convertNumberToString( [in] long nKey, + [in] double fValue ); + + + /** @returns + the color which is specified for the given value in the number format, + which is otherwise the value of <var>aDefaultColor</var>. + */ + com::sun::star::util::Color queryColorForNumber( [in] long nKey, + [in] double fValue, + [in] com::sun::star::util::Color aDefaultColor ); + + + /** converts a string into another string. + */ + string formatString( [in] long nKey, + [in] string aString ); + + + /** @returns + the color which is specified for the given string in the number format, + which is otherwise the value of <var>aDefaultColor</var>. + */ + com::sun::star::util::Color queryColorForString( [in] long nKey, + [in] string aString, + [in] com::sun::star::util::Color aDefaultColor ); + + + /** converts a number into a string with the specified format. + + <p>This string can always be converted back to a number using the same + format. + </p> + */ + string getInputString( [in] long nKey, + [in] double fValue ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XNumberFormatter2.idl b/offapi/com/sun/star/util/XNumberFormatter2.idl new file mode 100644 index 000000000..e9299eb80 --- /dev/null +++ b/offapi/com/sun/star/util/XNumberFormatter2.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XNumberFormatter2_idl__ +#define __com_sun_star_util_XNumberFormatter2_idl__ + +#include <com/sun/star/util/XNumberFormatter.idl> +#include <com/sun/star/util/XNumberFormatPreviewer.idl> + +module com { module sun { module star { module util { + +/** + Provides a unified interface for the NumberFormatter service to implement. + + @since LibreOffice 4.0 +*/ +published interface XNumberFormatter2 +{ + + /** is used to format or parse numbers using formats from a + NumberFormats object. + */ + interface com::sun::star::util::XNumberFormatter; + + /** is used to format numbers using a number format string + that is not inserted into a NumberFormats object. + */ + interface com::sun::star::util::XNumberFormatPreviewer; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XOfficeInstallationDirectories.idl b/offapi/com/sun/star/util/XOfficeInstallationDirectories.idl new file mode 100644 index 000000000..e9dc1e61f --- /dev/null +++ b/offapi/com/sun/star/util/XOfficeInstallationDirectories.idl @@ -0,0 +1,102 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_util_XOfficeInstallationDirectories_idl__ +#define __com_sun_star_util_XOfficeInstallationDirectories_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +module com { module sun { module star { module util { + +/** encapsulates access to the current office installation directory and + office user data directory, provides functionality to create URLs + containing relocatable (not absolute) references to the current office + installation directory and user data directory and vice versa. + + <p>This functionality is useful when data containing references to the + current office installation directory must be made persistent and re-read + later. In many cases, storing the reference directly would destroy the + relocatability of an office installation. + + @since OOo 2.0 + */ +published interface XOfficeInstallationDirectories : com::sun::star::uno::XInterface +{ + /** returns the absolute URL containing the directory of the current office + installation (for example "file:///opt/LibreOffice") + + @returns + the absolute URL containing the directory of the current office + installation. + */ + string getOfficeInstallationDirectoryURL(); + + /** returns the absolute URL containing the directory where the current + office installation expects its user data (for example + "file:///home/kso/.config/libreoffice/4") + + @returns + the absolute URL containing the directory of the current office + user data. + */ + string getOfficeUserDataDirectoryURL(); + + /** calculates a relocatable URL from the given URL. + + <p>If the given URL contains an absolute reference to the current office + installation directory or office user data directory, this method will + replace the absolute reference by an opaque placeholder string. + <code>makeRelocatableURL</code> must be used in order to re-replace the + placeholder by an absolute reference. + + @param URL + The URL for that a relocatable URL is requested. In case the URL does + not contain a reference to the current office installation or to the office + user data directory, the input URL will be returned unchanged. + + @returns + The relocatable URL. + */ + string makeRelocatableURL( [in] string URL ); + + /** the counterpart of <code>makeRelocatableURL</code>. + + <p>If the given URL contains a placeholder for an absolute reference to + the current office installation directory or for the office user data + directory, that was created using <code>makeRelocatableURL</code>, the + respective placeholder will be replaced by an absolute reference to the + current office installation directory or office user data directory. + + @param URL + The URL for that an absolute URL is requested. In case the URL does + not contain the opaque relocation placeholder used by + <code>makeRelocatableURL</code>, the input URL will be returned + unchanged. + + @returns + The absolute URL. + */ + string makeAbsoluteURL( [in] string URL ); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XPathSettings.idl b/offapi/com/sun/star/util/XPathSettings.idl new file mode 100644 index 000000000..d54c12269 --- /dev/null +++ b/offapi/com/sun/star/util/XPathSettings.idl @@ -0,0 +1,139 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_util_XPathSettings_idl__ +#define __com_sun_star_util_XPathSettings_idl__ + +#include <com/sun/star/beans/XPropertySet.idl> + + +module com { module sun { module star { module util { + + +/** + @since LibreOffice 4.1 + */ +published interface XPathSettings +{ + /** Main interface to have access to the path properties. */ + interface com::sun::star::beans::XPropertySet; + + /** Specifies the directory that contains spreadsheet add-ins which use + the old add-in API */ + [attribute] string Addin; + + /** The settings of the AutoCorrect dialog. The value can be more than + one path separated by a semicolon. + */ + [attribute] string AutoCorrect; + + /**The directory which contains the AutoText modules. The value can be more than + one path separated by a semicolon.*/ + [attribute] string AutoText; + + /** Automatic backup copies of documents are stored here. */ + [attribute] string Backup; + + /** The Basic files, used by the AutoPilots, can be found here. The value can be more than + one path separated by a semicolon.*/ + [attribute] string Basic; + + /** This directory contains the icons for the toolbars. */ + [attribute] string Bitmap; + + /** The configuration files are located here. This entry cannot be changed + by the user in Office user interface. */ + [attribute] string Config; + + /** The provided dictionaries are stored here. */ + [attribute] string Dictionary; + + /** Path to save folder bookmarks */ + [attribute] string Favorite; + + /** Specifies the directory where all the filters are stored. */ + [attribute] string Filter; + + /** Specifies the directories which contains the Gallery + database and multimedia files. The value can be more than + one path separated by a semicolon.*/ + [attribute] string Gallery; + + /** This directory is displayed when the dialog for opening a graphic + or for saving a new graphic is called. */ + [attribute] string Graphic; + + /** The path to the Office help files. */ + [attribute] string Help; + + /** The files that are necessary for the spell check are saved here. */ + [attribute] string Linguistic; + + /** This is the path for the modules. */ + [attribute] string Module; + + /** This is the path to the palette files *.SOB to *.SOF containing + user-defined colors and patterns. The value can be more than + one path separated by a semicolon.*/ + [attribute] string Palette; + + /** Plugins are saved in these directories. The value can be more than + one path separated by a semicolon.*/ + [attribute] string Plugin; + + /** Mail, News files and other information (for example, about FTP Server) + are stored here.*/ + [attribute] string Storage; + + /** The base url to the office temp-files */ + [attribute] string Temp; + + /** The templates originate from these folders and sub-folders. The value + can be more than one path separated by a semicolon.*/ + [attribute] string Template; + + /** Global directories to look for user interface configuration files. The + user interface configuration will be merged with user settings stored + in the directory specified by <var>UserConfig</var>. The value can be more + than one path separated by a semicolon.*/ + [attribute] string UIConfig; + + /** Specifies the folder with the user settings. */ + [attribute] string UserConfig; + + /** The custom dictionaries are contained here. + * @deprecated + * */ + [attribute] string UserDictionary; + + /** The path of the work folder can be modified according to the + user's needs. The path specified here can be seen in the Open + or Save dialog. */ + [attribute] string Work; + + [attribute] string BasePathShareLayer; + [attribute] string BasePathUserLayer; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XPropertyReplace.idl b/offapi/com/sun/star/util/XPropertyReplace.idl new file mode 100644 index 000000000..cf46f5762 --- /dev/null +++ b/offapi/com/sun/star/util/XPropertyReplace.idl @@ -0,0 +1,78 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XPropertyReplace_idl__ +#define __com_sun_star_util_XPropertyReplace_idl__ + +#include <com/sun/star/util/XReplaceDescriptor.idl> + +#include <com/sun/star/beans/PropertyValue.idl> + +#include <com/sun/star/beans/UnknownPropertyException.idl> + +#include <com/sun/star/lang/IllegalArgumentException.idl> + + + +module com { module sun { module star { module util { + + +/** makes it possible to search and replace properties. + */ +published interface XPropertyReplace: com::sun::star::util::XReplaceDescriptor +{ + /** provides the information if specific property values are + searched, or just the existence of the specified properties. + */ + boolean getValueSearch(); + + /** specifies if specific property values are searched, + or just the existence of the specified properties. + */ + void setValueSearch( [in] boolean bValueSearch ); + + /** @returns + the attributes to search for. + */ + sequence<com::sun::star::beans::PropertyValue> getSearchAttributes(); + + /** sets the properties to search for. + */ + void setSearchAttributes( [in] sequence<com::sun::star::beans::PropertyValue> aSearchAttribs ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::IllegalArgumentException ); + + /** @returns + the attribute values which are used to replace the found occurrences. + */ + sequence<com::sun::star::beans::PropertyValue> getReplaceAttributes(); + + /** sets the properties to replace the found occurrences. + */ + void setReplaceAttributes( [in] sequence<com::sun::star::beans::PropertyValue> aSearchAttribs ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::IllegalArgumentException ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XProtectable.idl b/offapi/com/sun/star/util/XProtectable.idl new file mode 100644 index 000000000..62e8b123b --- /dev/null +++ b/offapi/com/sun/star/util/XProtectable.idl @@ -0,0 +1,64 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XProtectable_idl__ +#define __com_sun_star_util_XProtectable_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/lang/IllegalArgumentException.idl> + + + +module com { module sun { module star { module util { + + +/** makes it possible to protect objects from modifications. + */ +published interface XProtectable: com::sun::star::uno::XInterface +{ + /** activates the protection. + + @param aPassword + a string to specify new password. + */ + void protect( [in] string aPassword ); + + /** removes the protection. + + @param aPassword + a string to match with the current password. + @throws com::sun::star::lang::IllegalArgumentException + if invalid password is specified. + */ + void unprotect( [in] string aPassword ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** @returns + the current state of protection. + */ + boolean isProtected(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XRefreshListener.idl b/offapi/com/sun/star/util/XRefreshListener.idl new file mode 100644 index 000000000..739db4ddf --- /dev/null +++ b/offapi/com/sun/star/util/XRefreshListener.idl @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XRefreshListener_idl__ +#define __com_sun_star_util_XRefreshListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> + +#include <com/sun/star/lang/EventObject.idl> + + + +module com { module sun { module star { module util { + + +/** makes it possible to receive <em>refreshed</em> events. + */ +published interface XRefreshListener: com::sun::star::lang::XEventListener +{ + /** is called when the object data is refreshed. + */ + void refreshed( [in] com::sun::star::lang::EventObject rEvent ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XRefreshable.idl b/offapi/com/sun/star/util/XRefreshable.idl new file mode 100644 index 000000000..0ce24272f --- /dev/null +++ b/offapi/com/sun/star/util/XRefreshable.idl @@ -0,0 +1,54 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XRefreshable_idl__ +#define __com_sun_star_util_XRefreshable_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/util/XRefreshListener.idl> + + + +module com { module sun { module star { module util { + + +/** is supported by objects with data that can be refreshed from a data source. + */ +published interface XRefreshable: com::sun::star::uno::XInterface +{ + /** refreshes the data of the object from the connected data source. + */ + void refresh(); + + /** adds the specified listener to receive the event "refreshed." + */ + void addRefreshListener( [in] com::sun::star::util::XRefreshListener l ); + + /** removes the specified listener. + */ + void removeRefreshListener( [in] com::sun::star::util::XRefreshListener l ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XReplaceDescriptor.idl b/offapi/com/sun/star/util/XReplaceDescriptor.idl new file mode 100644 index 000000000..a2a3bec04 --- /dev/null +++ b/offapi/com/sun/star/util/XReplaceDescriptor.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XReplaceDescriptor_idl__ +#define __com_sun_star_util_XReplaceDescriptor_idl__ + +#include <com/sun/star/util/XSearchDescriptor.idl> + + + +module com { module sun { module star { module util { + + +/** specifies a string replace operation. + */ +published interface XReplaceDescriptor: com::sun::star::util::XSearchDescriptor +{ + /** @returns + the string which replaces the found occurrences. + */ + string getReplaceString(); + + /** sets the string which replaces the found occurrences. + */ + void setReplaceString( [in] string aReplaceString ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XReplaceable.idl b/offapi/com/sun/star/util/XReplaceable.idl new file mode 100644 index 000000000..4a3d00841 --- /dev/null +++ b/offapi/com/sun/star/util/XReplaceable.idl @@ -0,0 +1,63 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XReplaceable_idl__ +#define __com_sun_star_util_XReplaceable_idl__ + +#include <com/sun/star/util/XSearchable.idl> + +#include <com/sun/star/util/XReplaceDescriptor.idl> + +#include <com/sun/star/util/XSearchDescriptor.idl> + + + +module com { module sun { module star { module util { + + +/** makes it possible to replace strings in a text described by a + SearchDescriptor. + + Example: replace all bold words "search for" by "look for" + + @code{.py} + xReplaceDescr = xDocument.createReplaceDescriptor() + xReplaceDescr.SearchString = "search for" + xReplaceDescr.ReplaceString = "look for" + xFound = xDocument.replaceAll( xReplaceDescr ) + @endcode + */ +published interface XReplaceable: com::sun::star::util::XSearchable +{ + /** creates a descriptor which contains properties that + specify a search in this container.@see SearchDescriptor + */ + com::sun::star::util::XReplaceDescriptor createReplaceDescriptor(); + + /** searches for all occurrences of whatever is specified.@see SearchDescriptor + */ + long replaceAll( [in] com::sun::star::util::XSearchDescriptor xDesc ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XSearchDescriptor.idl b/offapi/com/sun/star/util/XSearchDescriptor.idl new file mode 100644 index 000000000..30535d07c --- /dev/null +++ b/offapi/com/sun/star/util/XSearchDescriptor.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XSearchDescriptor_idl__ +#define __com_sun_star_util_XSearchDescriptor_idl__ + +#include <com/sun/star/beans/XPropertySet.idl> + + + +module com { module sun { module star { module util { + + +/** specifies a string search operation. + */ +published interface XSearchDescriptor: com::sun::star::beans::XPropertySet +{ + /** @returns + the string of characters to search for. + */ + string getSearchString(); + + /** sets the string of characters to look for. + */ + void setSearchString( [in] string aString ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XSearchable.idl b/offapi/com/sun/star/util/XSearchable.idl new file mode 100644 index 000000000..b470815fe --- /dev/null +++ b/offapi/com/sun/star/util/XSearchable.idl @@ -0,0 +1,95 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XSearchable_idl__ +#define __com_sun_star_util_XSearchable_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/util/XSearchDescriptor.idl> + +#include <com/sun/star/container/XIndexAccess.idl> + + + +module com { module sun { module star { module util { + + +/** enables the object to look for specified contents of the object + (in particular, for a text range which contains a specific string pattern). + + Example: + in a com::sun::star::text::TextDocument: + set all "search for" to bold using findFirst()/findNext(): + + @code{.bas} + xSearchDescr = xDocument.createSearchDescriptor() + xSearchDescr.SearchString = "search for" + xSearchDescr.SearchCaseSensitive = true + xSearchDescr.SearchWords = true + xFound = xDocument.findFirst( xSearchDescr ) + do while not IsNull(xFound) + xFound.CharWeight = com.sun.star.awt.FontWeight.BOLD + xFound = xDocument.findNext( xFound.End, xSearchDescr ) + loop + @endcode + + */ +published interface XSearchable: com::sun::star::uno::XInterface +{ + /** creates a SearchDescriptor which contains properties that + specify a search in this container.@see SearchDescriptor + */ + com::sun::star::util::XSearchDescriptor createSearchDescriptor(); + + /** searches the contained texts for all occurrences of whatever is specified.@see SearchDescriptor + */ + com::sun::star::container::XIndexAccess findAll( [in] com::sun::star::util::XSearchDescriptor xDesc ); + + /** searches the contained texts for the next occurrence of whatever is specified. + + @returns + the position within the component, e.g. a com::sun::star::text::XTextRange + which determines the found elements. + + @see SearchDescriptor + */ + com::sun::star::uno::XInterface findFirst( [in] com::sun::star::util::XSearchDescriptor xDesc ); + + /** searches the contained texts for the next occurrence of whatever is specified. + + @param xStartAt + represents a position within the component at which the search continues. + This position is returned by XSearchable::findFirst() or + the previous XSearchable::findNext(). + @param xDesc + the descriptor used for searching. + + @see SearchDescriptor + */ + com::sun::star::uno::XInterface findNext( [in] com::sun::star::uno::XInterface xStartAt, + [in] com::sun::star::util::XSearchDescriptor xDesc ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XSortable.idl b/offapi/com/sun/star/util/XSortable.idl new file mode 100644 index 000000000..7093a0469 --- /dev/null +++ b/offapi/com/sun/star/util/XSortable.idl @@ -0,0 +1,98 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XSortable_idl__ +#define __com_sun_star_util_XSortable_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/beans/PropertyValue.idl> + + + +module com { module sun { module star { module util { + + +/** makes it possible to sort the contents of this object. + + <p>The available properties describing the sort criteria are + defined in the sort descriptor implemented by the object that + implements this interface.</p> + + <p>There are older deprecated sort descriptors:</p> + <ul> + <li>com::sun::star::util::SortDescriptor</li> + <li>com::sun::star::table::TableSortDescriptor</li> + <li>com::sun::star::text::TextSortDescriptor</li> + </ul> + + <p>And a new set of sort descriptors:</p> + <ul> + <li>com::sun::star::util::SortDescriptor2</li> + <li>com::sun::star::table::TableSortDescriptor2</li> + <li>com::sun::star::text::TextSortDescriptor2</li> + </ul> + + <p>Both types may be implemented by the same object. + When calling the sort method however properties from different + descriptors must not be mixed.</p> + */ +published interface XSortable: com::sun::star::uno::XInterface +{ + /** @returns + a sequence of properties which allows to specify/modify the + sort criteria. + + <p>The set of properties is specific to the type of object that + implements this interface. Therefore they can usually be used + only for objects of that same type.</p> + + @see com::sun::star::util::SortDescriptor + @see com::sun::star::table::TableSortDescriptor + @see com::sun::star::text::TextSortDescriptor + @see com::sun::star::util::SortDescriptor2 + @see com::sun::star::table::TableSortDescriptor2 + @see com::sun::star::text::TextSortDescriptor2 + + */ + sequence< com::sun::star::beans::PropertyValue > createSortDescriptor(); + + /** sorts the contents of the object according to the specified + properties. + + <p>The specified properties are usually the same or a subset of + those obtained by calling createSortDescriptor() + on the same type of object.<p> + + @see com::sun::star::util::SortDescriptor + @see com::sun::star::table::TableSortDescriptor + @see com::sun::star::text::TextSortDescriptor + @see com::sun::star::util::SortDescriptor2 + @see com::sun::star::table::TableSortDescriptor2 + @see com::sun::star::text::TextSortDescriptor2 + */ + void sort( [in] sequence< com::sun::star::beans::PropertyValue > xDescriptor ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XStringAbbreviation.idl b/offapi/com/sun/star/util/XStringAbbreviation.idl new file mode 100644 index 000000000..686bbc0de --- /dev/null +++ b/offapi/com/sun/star/util/XStringAbbreviation.idl @@ -0,0 +1,73 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_util_XStringAbbreviation_idl__ +#define __com_sun_star_util_XStringAbbreviation_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +module com { module sun { module star { module util { + published interface XStringWidth; +}; }; }; }; + +module com { module sun { module star { module util { + +/** Abbreviate arbitrary strings. + + <p>It is expected that there will be different implementations of this + interface, that each expect strings conforming to a certain structure + (e.g., URIs, platform-specific file paths, or newsgroup names). The + abbreviation algorithms will then take into account the structural + information.</p> + + @see XStringWidth + */ +published interface XStringAbbreviation: com::sun::star::uno::XInterface +{ + /** Abbreviate a string, so that the resulting abbreviated string is not + wider than some given width. + + <p>The width of a string is an abstract concept here, measured via + an XStringWidth interface. Examples are the number of + characters in the string (XStringWidth will measure the + string's length), or the width in pixel when displayed with a specific + font (which XStringWidth would encapsulate).</p> + + @param xStringWidth + The interface that makes concrete the abstract notion of string width. + + @param nWidth + The resulting abbreviated string's width will be no larger than this. + + @param aString + The string that is abbreviated. + + @returns + an abbreviated string. + */ + string abbreviateString([in] XStringWidth xStringWidth, + [in] long nWidth, + [in] string aString); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XStringEscape.idl b/offapi/com/sun/star/util/XStringEscape.idl new file mode 100644 index 000000000..00c6c0461 --- /dev/null +++ b/offapi/com/sun/star/util/XStringEscape.idl @@ -0,0 +1,70 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XStringEscape_idl__ +#define __com_sun_star_util_XStringEscape_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/lang/IllegalArgumentException.idl> + + +module com { module sun { module star { module util { + +/** This interface is used to encode an arbitrary String into a + escaped form. + + <p>The escaped form is chosen to be suitable for use with other interfaces + of the object or service providing this interface.</p> + + <p>Any characters or character sequences that are not compatible with + any naming rules or restrictions must be replaced by an escaped form, + that complies to these rules. + + <p>The transformation should preserve all traits of the string that are + generally respected by the service. For example, the case of a string + may be lost after encoding and then decoding, if the service + generally is case insensitive. + + <p>Other than that the encoding is one-to-one and can be reversed. The + encoding should try to preserve as much as possible of the original + string, to keep human-readable input human-friendly where possible. + Strings that already conform to the naming conventions should be left + unchanged or minimally modified.</p> + */ +published interface XStringEscape: com::sun::star::uno::XInterface +{ + /** encodes an arbitrary string into an escaped form compatible with some naming rules. + */ + string escapeString([in] string aString) + raises( com::sun::star::lang::IllegalArgumentException); + + /** decodes an escaped string into the original form. + */ + string unescapeString([in] string aEscapedString) + raises( com::sun::star::lang::IllegalArgumentException); +}; + + + +}; }; }; }; + +#endif + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XStringMapping.idl b/offapi/com/sun/star/util/XStringMapping.idl new file mode 100644 index 000000000..dc250cde4 --- /dev/null +++ b/offapi/com/sun/star/util/XStringMapping.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XStringMapping_idl__ +#define __com_sun_star_util_XStringMapping_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + +module com { module sun { module star { module util { + + +/** provides a mapping from `string` to `string` + */ +published interface XStringMapping: com::sun::star::uno::XInterface +{ + /** provides a mapping for a given sequence of strings to + a sequence of belonging strings. + */ + boolean mapStrings( [inout] sequence< string > Parameter ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XStringSubstitution.idl b/offapi/com/sun/star/util/XStringSubstitution.idl new file mode 100644 index 000000000..7d20fb74b --- /dev/null +++ b/offapi/com/sun/star/util/XStringSubstitution.idl @@ -0,0 +1,117 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_util_XStringSubstitution_idl__ +#define __com_sun_star_util_XStringSubstitution_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/container/NoSuchElementException.idl> + + + module com { module sun { module star { module util { + +/** A common interface for substituting string variables with + other strings. + + <p> + The substitution algorithm and the syntax for a string variable are + not part of this interface definition. Please look at the documentation + of the implementation that must specify these parameters. + </p> + + @since OOo 1.1.2 +*/ +published interface XStringSubstitution : com::sun::star::uno::XInterface +{ + /** Exchanges variables inside a given text with a substitution text + defined for the variables. + + <p> + The method iterates through its internal variables list to match the + variables in the given string. A match replaces the variable with the + string defined for this variable. If no variable can be found in the string + it will be returned unchanged. The behavior if a variable is found in + the string but it is unknown for the implementation depends on the parameter + bSubstRequired. + </p> + + @param aText + A string containing variables that should be substituted. + + @param bSubstRequired + Specifies if a successful substitution is required. The + function throws a com::sun::star::container::NoSuchElementException + if it finds a variable that is unknown. In this case it is possible + that the returned string would not be what the caller expected! + + @return + Returns a string based on <var>aText</var> where all variables were + exchanged with their value defined at calling time. + */ + string substituteVariables( [in] string aText, [in] boolean bSubstRequired ) + raises( com::sun::star::container::NoSuchElementException ); + + /** Tries to replace parts of aText with variables that represents + these sub strings. + + <p> + The method iterates through its internal variable list and tries to match + parts of the given string Tries to replace parts of <var>aText</var> with + variables that represents these sub strings.If more than one variable + matches the one with the longest matching sub string will be chosen. + </p> + + @param aText + A string where known substrings should be replaced by variables. + + @return + Returns the resubstituted string with variables for all parts + that could be replaced. The unchanged argument will be returned + if nothing can be resubstituted. + */ + + string reSubstituteVariables( [in] string aText ); + + /** Returns the current value of a variable. + + <p> + The method iterates through its internal variable list and tries to + find the given variable. If the variable is unknown a + com::sun::star::container::NoSuchElementException + is thrown. + </p> + + @param variable + The name of a variable. + + @return + Returns a string that represents the variable. If the + variable is unknown a com::sun::star::container::NoSuchElementException + is thrown. + */ + string getSubstituteVariableValue( [in] string variable ) + raises (::com::sun::star::container::NoSuchElementException ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XStringWidth.idl b/offapi/com/sun/star/util/XStringWidth.idl new file mode 100644 index 000000000..946d3cc55 --- /dev/null +++ b/offapi/com/sun/star/util/XStringWidth.idl @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_util_XStringWidth_idl__ +#define __com_sun_star_util_XStringWidth_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +module com { module sun { module star { module util { + +/** An interface that encapsulates the abstract notion of string width. + + @see XStringAbbreviation + */ +published interface XStringWidth: com::sun::star::uno::XInterface +{ + /** compute the width of a given string. + + <p>Depending on the implementation of this interface, the width of a + string can be rather different things, like the number of characters + in the string, or the width in pixel when displayed with a specific + font.</p> + + @param aString + The string that is to be measured. + + @returns + the string's width. + */ + long queryStringWidth([in] string aString); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XTextSearch.idl b/offapi/com/sun/star/util/XTextSearch.idl new file mode 100644 index 000000000..2ada6946e --- /dev/null +++ b/offapi/com/sun/star/util/XTextSearch.idl @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_util_XTextSearch_idl__ +#define __com_sun_star_util_XTextSearch_idl__ + + +#include <com/sun/star/lang/Locale.idl> +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/util/SearchOptions.idl> +#include <com/sun/star/util/SearchResult.idl> + + +module com { module sun { module star { module util { + +/** enables an object to search in its content. + */ +published interface XTextSearch : com::sun::star::uno::XInterface +{ + /** set the options for the forward or backward search. + + */ + void setOptions ([in] SearchOptions options); + /** search forward in the searchStr, starts at startPos and ends by endpos. + The result is returned in the SearchResult. + + */ + SearchResult searchForward ([in] string searchStr, [in] long startPos, [in] long endPos ); + /** search backward in the searchStr, starts at startPos and ends by endpos. + The endpos must be lower than the startpos, because the function searches backward! + The result is returned in the SearchResult. + + */ + SearchResult searchBackward ([in] string searchStr, [in] long startPos, [in] long endPos ); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XTextSearch2.idl b/offapi/com/sun/star/util/XTextSearch2.idl new file mode 100644 index 000000000..597a2c5ee --- /dev/null +++ b/offapi/com/sun/star/util/XTextSearch2.idl @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_util_XTextSearch2_idl__ +#define __com_sun_star_util_XTextSearch2_idl__ + + +#include <com/sun/star/util/XTextSearch.idl> + + +module com { module sun { module star { module util { + +/** enables an object to search in its content. + + Derived from com::sun::star::util::XTextSearch this interface adds + simple wildcard search capabilities using + com::sun::star::util::SearchOptions2 options. + + @since LibreOffice 5.2 + */ +interface XTextSearch2 : com::sun::star::util::XTextSearch +{ + /** set the options for the forward or backward search. + */ + void setOptions2 ([in] SearchOptions2 options); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XTimeStamped.idl b/offapi/com/sun/star/util/XTimeStamped.idl new file mode 100644 index 000000000..166c3eb85 --- /dev/null +++ b/offapi/com/sun/star/util/XTimeStamped.idl @@ -0,0 +1,62 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_util_XTimeStamped_idl__ +#define __com_sun_star_util_XTimeStamped_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +module com { module sun { module star { module util { + + +/** + provides timestamp information for an object + in the form of an arbitrary string. + + <p> The format and meaning of the timestamp depends on the implementation. + Services implementing this interface must document the meaning and + format they use. + </p> + + <p> If the timestamp is unchanged between two calls, the + associated object has not changed. Any properties beyond this, + particularly the presence of a meaningful order between + timestamps, depend on the implementation. + </p> + + @since OOo 1.1.2 + */ +published interface XTimeStamped : ::com::sun::star::uno::XInterface +{ + + /** + returns the timestamp of the object. + + + @return + a `string` that represents a timestamp. + */ + string getTimestamp() ; + +} ; + +} ; } ; } ; } ; +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XURLTransformer.idl b/offapi/com/sun/star/util/XURLTransformer.idl new file mode 100644 index 000000000..cf3fa615e --- /dev/null +++ b/offapi/com/sun/star/util/XURLTransformer.idl @@ -0,0 +1,128 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XURLTransformer_idl__ +#define __com_sun_star_util_XURLTransformer_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/util/URL.idl> + + + +module com { module sun { module star { module util { + + +/** supports parsing and assembling of URLs + + @see URL + @see URLTransformer + */ +published interface XURLTransformer: com::sun::star::uno::XInterface +{ + /** parses the string in URL::Complete which should contain + a syntactically complete URL. + + <p> + The implementation is allowed to correct minor failures in URL::Complete + if the meaning of the URL remain unchanged. Parts of the URL are stored in the other + fields of <var>aURL</var>. + </p> + + @param aURL + the URL which include the complete string notation and will contain + all parsed parts of it after finishing this call. URL::Complete + can be overwritten if the implementation corrected minor failures. + + @returns + `TRUE` if parsing was successful (means if given URL was syntactically correct) + or `FALSE` otherwise. + */ + boolean parseStrict( [inout] com::sun::star::util::URL aURL ); + + /** parses the string in URL::Complete, which may contain + a syntactically complete URL or is specified by the provided protocol + + <p> + The implementation can use smart functions to correct or interpret + URL::Complete if it is not a syntactically complete URL. + The parts of the URL are stored in the other fields of <var>aURL</var>. + </p> + + @param aURL + the URL which include the string notation and will contain + all parsed parts of it after finishing this call. This includes + URL::Complete. + + @param sSmartProtocol + optional information which protocol specification should be used to parse + URL::Complete. If empty the implementation can use a + protocol which fits best. + + @returns + `TRUE` if parsing was successful (means if URL::Complete could + be syntactically correct) or `FALSE` otherwise. + */ + boolean parseSmart( + [inout] com::sun::star::util::URL aURL, + [in] string sSmartProtocol ); + + /** assembles the parts of the URL specified by <var>aURL</var> and + stores it into URL::Complete + + @param aURL + the URL which contains all necessary information in a structured form. The + member URL::Complete contains the URL in string notation after + the operation finished successfully. Otherwise the content of + URL::Complete is not defined. + + @returns + `TRUE` if assembling was successful or `FALSE` otherwise. + */ + boolean assemble( [inout] com::sun::star::util::URL aURL ); + + /** returns a representation of the URL for UI purposes only + + <p> + Sometimes it can be useful to show a URL on an user interface + in a more "human readable" form. Such URL can't be used on any API + call, but make it easier for the user to understand it. + </p> + + @param aURL + URL in structured form which should be shown at the UI + + @param bWithPassword + specifies whether the password will be included in the encoding + or not. Usually passwords should never be shown at the user + interface. + + @returns + a string representing the <var>aURL</var> if it is syntactically correct. A empty string if <var>aURL</var> + is not syntactically correct. + */ + string getPresentation( + [in] com::sun::star::util::URL aURL, + [in] boolean bWithPassword ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XUniqueIDFactory.idl b/offapi/com/sun/star/util/XUniqueIDFactory.idl new file mode 100644 index 000000000..e0c61f38d --- /dev/null +++ b/offapi/com/sun/star/util/XUniqueIDFactory.idl @@ -0,0 +1,41 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XUniqueIDFactory_idl__ +#define __com_sun_star_util_XUniqueIDFactory_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + +module com { module sun { module star { module util { + + +/** creates IDs which are unique within the container. + */ +published interface XUniqueIDFactory: com::sun::star::uno::XInterface +{ + /// creates a new ID, unique within this container. + string createUniqueID( ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XUpdatable.idl b/offapi/com/sun/star/util/XUpdatable.idl new file mode 100644 index 000000000..304cae2a7 --- /dev/null +++ b/offapi/com/sun/star/util/XUpdatable.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_util_XUpdatable_idl__ +#define __com_sun_star_util_XUpdatable_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/util/XRefreshListener.idl> + + + +module com { module sun { module star { module util { + +/** is supported by objects with data that can be updated from a data source. + */ +published interface XUpdatable: com::sun::star::uno::XInterface +{ + /** refreshes the data of the object from the connected data source. + */ + void update(); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/XUpdatable2.idl b/offapi/com/sun/star/util/XUpdatable2.idl new file mode 100644 index 000000000..ce5652a96 --- /dev/null +++ b/offapi/com/sun/star/util/XUpdatable2.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_util_XUpdatable2_idl__ +#define __com_sun_star_util_XUpdatable2_idl__ + +#include <com/sun/star/util/XUpdatable.idl> + +module com { module sun { module star { module util { + +/** + * This interface extends XUpdatable in order to provide more fine-tuned + * update modes. When performing a <i>soft</i> update, the implementor may + * decide not to update in certain cases, such as when the controller is + * locked. When performing a <i>hard</i> update, on the other hand, the + * implementor should perform update more aggressively even when the + * controller is locked. + */ +interface XUpdatable2: com::sun::star::util::XUpdatable +{ + /** + * Perform update, but update may not always be performed especially when + * the controller is locked. + */ + void updateSoft(); + + /** + * Perform update, even when the controller is locked. + */ + void updateHard(); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/theOfficeInstallationDirectories.idl b/offapi/com/sun/star/util/theOfficeInstallationDirectories.idl new file mode 100644 index 000000000..275c069dd --- /dev/null +++ b/offapi/com/sun/star/util/theOfficeInstallationDirectories.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_util_theOfficeInstallationDirectories_idl__ +#define __com_sun_star_util_theOfficeInstallationDirectories_idl__ + +#include <com/sun/star/util/XOfficeInstallationDirectories.idl> + + +module com { module sun { module star { module util { + + +/** encapsulates access to the current office installation directory and + office user data directory, provides functionality to create URLs + containing relocatable (not absolute) references to the current office + installation directory and user data directory and vice versa. + + <p>This functionality is useful when data containing references to the + current office installation directory or user data directory must be made + persistent and re-read later. In many cases, storing the reference + directly would destroy the relocatability of an office installation and the + possibility to share one office user data directory among parallel office + installations. + */ +published singleton theOfficeInstallationDirectories : XOfficeInstallationDirectories; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/util/thePathSettings.idl b/offapi/com/sun/star/util/thePathSettings.idl new file mode 100644 index 000000000..ea3adb691 --- /dev/null +++ b/offapi/com/sun/star/util/thePathSettings.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_util_thePathSettings_idl__ +#define __com_sun_star_util_thePathSettings_idl__ + +#include <com/sun/star/util/XPathSettings.idl> + + +module com { module sun { module star { module util { + + +/** Supports read/write access and listener for the paths properties that + the Office uses. + <p> + The property names of the Office paths/directories are an exactly match + to the configuration entries found in the file + (org/openoffice/Office/Common.xml).<br> + This service supports the usage of path variables to define + paths that a relative to other office or system directories. + See PathSubstitution + </p> + + Prior to LibreOffice 4.3, this singleton was only available as a + (single-instance) PathSettings service. + + @since LibreOffice 4.3 + */ +published singleton thePathSettings : XPathSettings; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |