diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 05:54:39 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 05:54:39 +0000 |
commit | 267c6f2ac71f92999e969232431ba04678e7437e (patch) | |
tree | 358c9467650e1d0a1d7227a21dac2e3d08b622b2 /offapi/com/sun/star/view | |
parent | Initial commit. (diff) | |
download | libreoffice-267c6f2ac71f92999e969232431ba04678e7437e.tar.xz libreoffice-267c6f2ac71f92999e969232431ba04678e7437e.zip |
Adding upstream version 4:24.2.0.upstream/4%24.2.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'offapi/com/sun/star/view')
32 files changed, 1906 insertions, 0 deletions
diff --git a/offapi/com/sun/star/view/DocumentZoomType.idl b/offapi/com/sun/star/view/DocumentZoomType.idl new file mode 100644 index 0000000000..f8ec38f490 --- /dev/null +++ b/offapi/com/sun/star/view/DocumentZoomType.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 . + */ + + + +module com { module sun { module star { module view { + + +/** These constants specify how the document content is zoomed into the document view. + */ +published constants DocumentZoomType +{ + /** The page content width (excluding margins) at the current selection is fit into the view. + */ + const short OPTIMAL = 0; + + /** The page width at the current selection is fit into the view. + */ + const short PAGE_WIDTH = 1; + + /** A complete page of the document is fit into the view. + */ + const short ENTIRE_PAGE = 2; + + /** The zoom is relative and is to be set via the property + ViewSettings::ZoomValue. + */ + const short BY_VALUE = 3; + /** The page width at the current selection is fit into the view, + with the view ends exactly at the end of the page. + */ + const short PAGE_WIDTH_EXACT = 4; +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/DuplexMode.idl b/offapi/com/sun/star/view/DuplexMode.idl new file mode 100644 index 0000000000..98fdd3c0f4 --- /dev/null +++ b/offapi/com/sun/star/view/DuplexMode.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 . + */ + + + +module com { module sun { module star { module view { + + +/** These constants specify available duplex modes + */ +constants DuplexMode +{ + /** specifies an unknown duplex mode. + */ + const short UNKNOWN = 0; + + /** specifies that there is no duplex mode enabled + */ + const short OFF = 1; + + /** specifies a long edge duplex mode + */ + const short LONGEDGE = 2; + + /** specifies a short edge duplex mode + */ + const short SHORTEDGE = 3; +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/OfficeDocumentView.idl b/offapi/com/sun/star/view/OfficeDocumentView.idl new file mode 100644 index 0000000000..1f2cb77306 --- /dev/null +++ b/offapi/com/sun/star/view/OfficeDocumentView.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 . + */ + + + +module com { module sun { module star { module view { + + +/** specifies a view of a standard office document. + */ +published service OfficeDocumentView +{ + /** This mandatory interface gives access to the current user selection + within this office document view. + + <p>The type of the selection depends on the actual document type.</p> + */ + interface com::sun::star::view::XSelectionSupplier; + + + /** This optional interface gives access to the view properties within this + control for an office document. + + @see ViewSettings + */ + [optional] interface com::sun::star::view::XViewSettingsSupplier; + + + /** Within this office document view, this optional interface gives + access to the controls which belong to specified control models. + */ + [optional] interface com::sun::star::view::XControlAccess; + +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/PaperFormat.idl b/offapi/com/sun/star/view/PaperFormat.idl new file mode 100644 index 0000000000..c9c9df0f4e --- /dev/null +++ b/offapi/com/sun/star/view/PaperFormat.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 . + */ + + + +module com { module sun { module star { module view { + + +/** specifies the format (size) of the paper on a text document. + */ +published enum PaperFormat +{ + /** specifies the paper format as A3. + */ + A3, + + /** specifies the paper format as A4. + */ + A4, + + /** specifies the paper format as A5. + */ + A5, + + /** specifies the paper format as B4. + */ + B4, + + /** specifies the paper format as B5. + */ + B5, + + /** specifies the paper format as Letter. + */ + LETTER, + + /** specifies the paper format as Legal. + */ + LEGAL, + + /** specifies the paper format as Tabloid. + */ + TABLOID, + + /** The real paper size is user defined in 100th mm. + */ + USER + +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/PaperOrientation.idl b/offapi/com/sun/star/view/PaperOrientation.idl new file mode 100644 index 0000000000..f70fdcd1f3 --- /dev/null +++ b/offapi/com/sun/star/view/PaperOrientation.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 . + */ + + + +module com { module sun { module star { module view { + + +/** specifies the orientation of the paper. + */ +published enum PaperOrientation +{ + /** set the paper orientation to portrait. + */ + PORTRAIT, + + /** set the paper orientation to landscape. + */ + LANDSCAPE + +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/PrintJobEvent.idl b/offapi/com/sun/star/view/PrintJobEvent.idl new file mode 100644 index 0000000000..ceb978ff2d --- /dev/null +++ b/offapi/com/sun/star/view/PrintJobEvent.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 . + */ + + +module com { module sun { module star { module view { + + +/** specifies the print progress of an XPrintJob. + + <p>com::sun::star::lang::EventObject::Source + contains the XPrintJob having changed its state</p>. + + @since OOo 1.1.2 + + */ +published struct PrintJobEvent : com::sun::star::lang::EventObject +{ + /// contains the current state. + PrintableState State; +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/PrintOptions.idl b/offapi/com/sun/star/view/PrintOptions.idl new file mode 100644 index 0000000000..3941b6e5dd --- /dev/null +++ b/offapi/com/sun/star/view/PrintOptions.idl @@ -0,0 +1,94 @@ +/* -*- 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 . + */ + + + +module com { module sun { module star { module view { + + +/** describes the options for print jobs. + + <p>These options are only valid for a single print job. They do not + change layout or formatting of the document. + */ +published service PrintOptions +{ + /** specifies the number of copies to print. + */ + [property] short CopyCount; + + /** if set, specifies the name of a file to print to. + */ + [property] string FileName; + + /** advises the printer to collate the pages of the copies. + */ + [property] boolean Collate; + + /** advises the printer to sort the pages of the copies. + + @deprecated + Use Collate instead. + */ + [property] boolean Sort; + + /** specifies which pages to print. + + <p>This range is given as at the user interface. For example: "1-4;10" + to print the pages 1 to 4 and 10. </p> + */ + [property] string Pages; + + /** if set to TRUE, the corresponding XPrintable.print() request will + be executed synchronous. + + <p>Default is the asynchronous print mode.</p> + + @attention Using of this property with TRUE as value is highly recommended. + Otherwise following actions (as e.g. closing the corresponding model) can fail. + */ + [optional, property] boolean Wait; + + /** determines the duplex mode for the print job. + + @see DuplexMode for more information about supported values + */ + [optional, property] short DuplexMode; + + /** if set, specifies name of the printer to use. + */ + [optional, property] string PrinterName; + + /** advises the printer to create a single print job for each copy. + */ + [optional, property] boolean SinglePrintJobs; + + /** The job name which is sent to the printer (can be seen in the Printer job queue). + * + * If omitted, the document title will be used as default. + * + * @since LibreOffice 7.5 + */ + [optional, property] boolean JobName; +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/PrintSettings.idl b/offapi/com/sun/star/view/PrintSettings.idl new file mode 100644 index 0000000000..093480523d --- /dev/null +++ b/offapi/com/sun/star/view/PrintSettings.idl @@ -0,0 +1,87 @@ +/* -*- 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 . + */ + + + +module com { module sun { module star { module view { + + +/** provides access to the settings for printing documents. + + <p>These settings are printer independent but affect the rendering of + the document. + */ +published service PrintSettings +{ + /** If `TRUE`, all characters are printed in black. + + <p>It is useful for printing colored text on a b/w printer.</p> + */ + [property] boolean PrintBlackFonts; + + /** If `TRUE`, control shapes are included in printing. + */ + [property] boolean PrintControls; + + /** If `TRUE`, drawing objects (shapes) are included in printing. + */ + [property] boolean PrintDrawings; + + /** If `TRUE`, graphic objects are included in printing. + */ + [property] boolean PrintGraphics; + + /** If `TRUE`, left pages are included in printing. + */ + [property] boolean PrintLeftPages; + + /** If `TRUE`, right pages are included in printing. + */ + [property] boolean PrintRightPages; + + /** If `TRUE`, tables are included in printing. + */ + [property] boolean PrintTables; + + /** If `TRUE`, the pages are printed in reverse order. + + <p>The last page is printed first.</p> + */ + [property] boolean PrintReversed; + + /** If `TRUE`, the pages are printed in the order of prospects. + */ + [property] boolean PrintProspect; + + /** If `TRUE`, the background of the page is printed. + */ + [property] boolean PrintPageBackground; + + /** determines how annotations are printed. + + @see NotePrintMode + */ + [property] short PrintAnnotationMode; + +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/PrintableState.idl b/offapi/com/sun/star/view/PrintableState.idl new file mode 100644 index 0000000000..93e1eddeac --- /dev/null +++ b/offapi/com/sun/star/view/PrintableState.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 . + */ + + + +module com { module sun { module star { module view { + + +/** specifies the print progress of an XPrintable. + + <p>Printing consists of two abstract phases: rendering the document + for the printer and then sending it to the printer (spooling). + PrintableState describes which phase is currently + progressing or has failed.</p> + + @see PrintableStateEvent + */ +published enum PrintableState +{ + /** printing (rendering the document) has begun + */ + JOB_STARTED, + + /** printing (rendering the document) has finished, spooling has begun + */ + JOB_COMPLETED, + + /** spooling has finished successfully. This is the only state + that can be considered as "success" for a print job. + */ + JOB_SPOOLED, + + /** printing was aborted (e.g., by the user) while either printing or spooling. + */ + JOB_ABORTED, + + /** printing ran into an error. + */ + JOB_FAILED, + + /** the document could be printed but not spooled. + */ + JOB_SPOOLING_FAILED +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/PrintableStateEvent.idl b/offapi/com/sun/star/view/PrintableStateEvent.idl new file mode 100644 index 0000000000..b83ec6fda2 --- /dev/null +++ b/offapi/com/sun/star/view/PrintableStateEvent.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 . + */ + + +module com { module sun { module star { module view { + + +/** specifies the print progress of an XPrintable. + + <p>com::sun::star::lang::EventObject::Source + contains the XPrintable having changed its state</p>. + + */ +published struct PrintableStateEvent : com::sun::star::lang::EventObject +{ + /// contains the current state. + PrintableState State; +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/PrinterDescriptor.idl b/offapi/com/sun/star/view/PrinterDescriptor.idl new file mode 100644 index 0000000000..17ec7a9b09 --- /dev/null +++ b/offapi/com/sun/star/view/PrinterDescriptor.idl @@ -0,0 +1,85 @@ +/* -*- 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 . + */ + + + +module com { module sun { module star { module view { + + +/** describes a printer by specifying the queue name and some settings. + + <p>This service may be represented by a + com::sun::star::beans::PropertyValue[]. + + @see com::sun::star::beans::PropertyValue + */ +published service PrinterDescriptor +{ + /** specifies the name of the printer queue to be used. + + <p>Which printer queues are available, can be figured out with the + system library of the used programming language/environment. + */ + [property] string Name; + + /** specifies the orientation of the paper. + */ + [property] com::sun::star::view::PaperOrientation PaperOrientation; + + /** specifies a predefined paper size or if the paper size + is a user-defined size. + + <p>Setting this property may change the value of + PrinterDescriptor::PaperSize.</p> + */ + [property] com::sun::star::view::PaperFormat PaperFormat; + + /** specifies the size of the paper in 100th mm. + + <p>Setting this property may change the value of + PrinterDescriptor::PaperFormat.</p> + */ + [property] com::sun::star::awt::Size PaperSize; + + /** indicates, whether the printer is busy or not. + */ + [readonly, property] boolean IsBusy; + + /** indicates, whether the printer allows changes to + PrinterDescriptor::PaperOrientation. + */ + [readonly, property] boolean CanSetPaperOrientation; + + /** indicates, whether the printer allows changes to + PrinterDescriptor::PaperFormat. + */ + [readonly, property] boolean CanSetPaperFormat; + + + /** indicates if the printer allows changes to + PrinterDescriptor::PaperSize. + */ + [readonly, property] boolean CanSetPaperSize; + +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/RenderDescriptor.idl b/offapi/com/sun/star/view/RenderDescriptor.idl new file mode 100644 index 0000000000..104aa08fdb --- /dev/null +++ b/offapi/com/sun/star/view/RenderDescriptor.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 . + */ + + +module com { module sun { module star { module view { + + +/** describes the options for Render jobs. + + @since OOo 1.1.2 + */ +published service RenderDescriptor +{ + + /** specifies the page size for the current renderer. The unit of this page + size is 1/100th mm. + */ + [property] com::sun::star::awt::Size PageSize; +}; + + +}; }; }; }; + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/RenderOptions.idl b/offapi/com/sun/star/view/RenderOptions.idl new file mode 100644 index 0000000000..cbcfbe6750 --- /dev/null +++ b/offapi/com/sun/star/view/RenderOptions.idl @@ -0,0 +1,90 @@ +/* -*- 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 . + */ + + +module com { module sun { module star { module view { + + +/** describes the options for Render jobs. + + @since OOo 1.1.2 + */ +published service RenderOptions +{ + + /** specifies the device the page should be rendered to + */ + [property] com::sun::star::awt::XDevice RenderDevice; + + + /** indicates that the current page is the first page to be exported. + + <p>Hyperlinks, notes, and outlines cannot be exported on a per + page base. They have to be exported once *before* the first page + is exported. Therefore the IsFirstPage property has been introduced. + It is evaluated in the render function and indicates that the + current page is the first page to be exported. + </p> + + @see XRenderable + */ + [optional, property] boolean IsFirstPage; + + /** indicates that the current page is the last page to be exported. + + <p>Hyperlinks from the EditEngine have to be exported once *after* + the last page has been processed. Therefore the IsLastPage property + has been introduced. It is evaluated in the render function and + indicates that the current page is the last page to be exported. + </p> + + @see XRenderable + */ + [optional, property] boolean IsLastPage; + + /** specifies if empty pages should be skipped. + + <p>Tells the PDF export to skip empty pages. This flag also has + to be passed to the render function, in order to calculate to + correct page numbers during the export of hyperlinks, notes, and + outlines. + </p> + + @see XRenderable + */ + [optional, property] boolean IsSkipEmptyPages; + + /** specifies the page ranges to be rendered. + + <p>Tells the PDF export to skip empty pages. This flag also has + to be passed to the render function, in order to calculate to + correct page numbers during the export of hyperlinks, notes, + and outlines. + </p> + + @see XRenderable + */ + [optional, property] string PageRange; +}; + + +}; }; }; }; + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/SelectionType.idl b/offapi/com/sun/star/view/SelectionType.idl new file mode 100644 index 0000000000..bd99958c9f --- /dev/null +++ b/offapi/com/sun/star/view/SelectionType.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 . + */ + + +module com { module sun { module star { module view { + + +/** Specifies a selection type for a view that supports a selection model. + */ +published enum SelectionType +{ + + /** No selection is possible. + <p>The selection is always empty.</p> + */ + NONE, + + + /** The selection can only contain one or zero objects. + */ + SINGLE, + + + /** The selection can contain zero or more objects. + */ + MULTI, + + + /** The selection can contain zero or more objects. + <p>all selected objects must be part of a continues range</p> + */ + RANGE +}; + + +}; }; }; }; + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/ViewSettings.idl b/offapi/com/sun/star/view/ViewSettings.idl new file mode 100644 index 0000000000..0c5e977c04 --- /dev/null +++ b/offapi/com/sun/star/view/ViewSettings.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 . + */ + + +module com { module sun { module star { module view { + + +/** provides access to the settings of the controller of an office document. + */ +published service ViewSettings +{ + interface com::sun::star::beans::XPropertySet; + + /** If this property is `TRUE`, the horizontal ruler is displayed. + */ + [optional, property] boolean ShowHoriRuler; + + /** If this property is `TRUE`, the horizontal scroll bar is displayed. + */ + [optional, property] boolean ShowHoriScrollBar; + + /** specifies the zoom-value in percent. + */ + [optional, property] short ZoomValue; + + /** If this property is `TRUE`, the vertical ruler is displayed. + */ + [optional, property] boolean ShowVertRuler; + + /** If this property is `TRUE`, the vertical scroll bar is displayed. + */ + [optional, property] boolean ShowVertScrollBar; +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/XControlAccess.idl b/offapi/com/sun/star/view/XControlAccess.idl new file mode 100644 index 0000000000..abedc8b77d --- /dev/null +++ b/offapi/com/sun/star/view/XControlAccess.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 . + */ + + + +module com { module sun { module star { module view { + + +/** provides access to the controls in a view. + + @see com::sun::star::frame::XController + */ +published interface XControlAccess: com::sun::star::uno::XInterface +{ + /** is called to get the control from the specified control model. + */ + com::sun::star::awt::XControl getControl( [in] com::sun::star::awt::XControlModel xModel ) + raises( com::sun::star::container::NoSuchElementException ); + +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/XFormLayerAccess.idl b/offapi/com/sun/star/view/XFormLayerAccess.idl new file mode 100644 index 0000000000..d53481f720 --- /dev/null +++ b/offapi/com/sun/star/view/XFormLayerAccess.idl @@ -0,0 +1,81 @@ +/* -*- 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 . + */ + + +module com { module sun { module star { module view { + + +/** provides access to the form layer elements in a view + + @since OOo 2.3 + */ +interface XFormLayerAccess +{ + /// provides access to form controls contained in the view + interface XControlAccess; + + /** returns the com::sun::star::form::FormController + instance which operates on a given form. + + <p>A form controller is a component which controls the user interaction + with the form layer, as long as the form is not in design mode.</p> + + @return + the requested form controller, or `NULL` if the view's + form layer is currently in design mode. Note that the returned + instance becomes non-functional as soon as the form layer is switched + to design mode. + + @see isDesignMode + @see setDesignMode + @see ::com::sun::star::form::runtime::FormController + @see ::com::sun::star::form::runtime::FormOperations + */ + ::com::sun::star::form::runtime::XFormController + getFormController( + [in] ::com::sun::star::form::XForm Form + ); + + /** determines whether the view's form layer is currently in design + or alive mode + + <p><em>Note</em>: This is a convenience method. In the user interface, + the design mode is coupled with the <code>.uno:SwitchControlDesignMode</code> + feature (see com::sun::star::frame::XDispatchProvider), + and asking for the current mode is the same as asking for the state of this + feature.</p> + */ + boolean isFormDesignMode(); + + /** determines whether the view's form layer is currently in design + or alive mode + + <p><em>Note</em>: This is a convenience method. In the user interface, + the design mode is coupled with the <code>.uno:SwitchControlDesignMode</code> + feature (see com::sun::star::frame::XDispatchProvider), + and changing the current mode is the same as dispatching this feature URL.</p> + */ + void setFormDesignMode( [in] boolean DesignMode ); +}; + + +}; }; }; }; + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/XLineCursor.idl b/offapi/com/sun/star/view/XLineCursor.idl new file mode 100644 index 0000000000..a88218bc98 --- /dev/null +++ b/offapi/com/sun/star/view/XLineCursor.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 . + */ + + + +module com { module sun { module star { module view { + + +/** makes it possible to move a cursor by lines within laid out text. + + @see com::sun::star::table::CellCursor + @see com::sun::star::text::TextCursor + @see com::sun::star::text::XTextViewCursor + */ +published interface XLineCursor: com::sun::star::uno::XInterface +{ + /** determines if the cursor is positioned at the start of a line. + */ + boolean isAtStartOfLine(); + + /** determines if the cursor is positioned at the end of a line. + */ + boolean isAtEndOfLine(); + + /** moves the cursor to the end of the current line. + + @param bExpand + determines whether the text range of the cursor is expanded (`TRUE`) + or the cursor will be just at the new position after the move (`FALSE`). + */ + void gotoEndOfLine( [in] boolean bExpand ); + + /** moves the cursor to the start of the current line. + + @param bExpand + determines whether the text range of the cursor is expanded (`TRUE`) + or the cursor will be just at the new position after the move (`FALSE`). + */ + void gotoStartOfLine( [in] boolean bExpand ); + +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/XMultiSelectionSupplier.idl b/offapi/com/sun/star/view/XMultiSelectionSupplier.idl new file mode 100644 index 0000000000..937d3d3470 --- /dev/null +++ b/offapi/com/sun/star/view/XMultiSelectionSupplier.idl @@ -0,0 +1,100 @@ +/* -*- 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 . + */ + + +module com { module sun { module star { module view { + + +/** makes it possible to append and remove objects from a selection. + + <p>The method XSelectionSupplier::setSelection() for an + instance that also supports XMultiSelectionSupplier should + be implemented that it also takes either a selectable object or a sequence + of selectable objects.</p> + + <p>Adding an object more than once to a selection should not toggle the + selection for that object but only select it once</p> + */ +interface XMultiSelectionSupplier: XSelectionSupplier +{ + + /** adds the object or the objects represented by <var>Selection</var> to the selection + of this XMultiSelectionSupplier. + + @param Selection + either an Object that is selectable or a sequence of objects that are selectable. + + @returns + `TRUE`, if <var>Selection</var> was added to the current selection. + `FALSE`, if <var>Selection</var> or parts of <var>Selection</var> could not be + added to the current selection. For example, if the selection already contains + objects that are forbidden to be selected together with <var>Selection</var> + + @throws com::sun::star::lang::IllegalArgumentException + If <var>Selection</var> is not a selectable object for this XMultiSelectionSupplier. + <p>Adding an object to the selection that is already part of the selection should not raise this exception</p> + */ + boolean addSelection( [in] any Selection ) + raises( com::sun::star::lang::IllegalArgumentException ); + + + /** remove the object or objects represented by <var>Selection</var> from the + selection of this XMultiSelectionSupplier. + + @param Selection + either an Object that is selectable or a sequence of objects that are selectable. + + @throws com::sun::star::lang::IllegalArgumentException + If <var>Selection</var> is not a selectable object for this XMultiSelectionSupplier. + <p>Removing an object from the selection that is not part of the selection should not raise this exception</p> + */ + void removeSelection( [in] any Selection ) + raises( com::sun::star::lang::IllegalArgumentException ); + + + /** clears the selection of this XMultiSelectionSupplier. + */ + void clearSelection(); + + + /** returns the number of selected objects of this XMultiSelectionSupplier. + */ + long getSelectionCount(); + + + /** @returns + a new object to enumerate the selection of this XMultiSelectionSupplier. + It returns NULL if there are no objects in the selection. + */ + com::sun::star::container::XEnumeration createSelectionEnumeration(); + + + /** @returns + a new object to enumerate the selection of this XMultiSelectionSupplier + in reverse order. If the order of the selected objects + It returns NULL if there are no objects in the selection. + */ + com::sun::star::container::XEnumeration createReverseSelectionEnumeration(); + +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/XPrintJob.idl b/offapi/com/sun/star/view/XPrintJob.idl new file mode 100644 index 0000000000..0159a4355d --- /dev/null +++ b/offapi/com/sun/star/view/XPrintJob.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 . + */ + + + +module com { module sun { module star { module view { + +/** allows for getting information about a print job. + + <p>XPrintJob is implemented by print jobs that are created by + classes that implement XPrintable. It gives information about + the context of the print job.</p> + + @see XPrintJobListener + + @since OOo 1.1.2 + */ +published interface XPrintJob : com::sun::star::uno::XInterface +{ + /** returns the PrintOptions used for the print job + */ + sequence<com::sun::star::beans::PropertyValue> getPrintOptions(); + + /** returns the Printer used for the print job + */ + sequence<com::sun::star::beans::PropertyValue> getPrinter(); + + /** returns the printed object used for the print job + */ + XPrintable getPrintable(); + + void cancelJob(); +}; + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/XPrintJobBroadcaster.idl b/offapi/com/sun/star/view/XPrintJobBroadcaster.idl new file mode 100644 index 0000000000..d05a90d996 --- /dev/null +++ b/offapi/com/sun/star/view/XPrintJobBroadcaster.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 . + */ + + +module com { module sun { module star { module view { + +/** allows for getting information about a print job. + + <p>XPrintJobBroadcaster can be implemented by classes which + implement XPrintable. It allows a XPrintJobListener + to be registered, thus a client object will learn about the print progress.</p> + + @see XPrintJobListener + + @since OOo 1.1.2 + */ +published interface XPrintJobBroadcaster : com::sun::star::uno::XInterface +{ + /** adds an XPrintJobListener to be notified about print progress. + */ + void addPrintJobListener( [in] XPrintJobListener xListener ); + + /** removes an XPrintJobListener. + */ + void removePrintJobListener( [in] XPrintJobListener xListener ); +}; + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/XPrintJobListener.idl b/offapi/com/sun/star/view/XPrintJobListener.idl new file mode 100644 index 0000000000..0fb251d472 --- /dev/null +++ b/offapi/com/sun/star/view/XPrintJobListener.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 . + */ + + +module com { module sun { module star { module view { + +/** receives events about print job progress. + + <p>XPrintJobListener can be registered to XPrintJobBroadcaster. + Then, the client object will be notified when a new print job starts or its state changes.</p> + + @see XPrintJobBroadcaster + @see XPrintJob + + @since OOo 1.1.2 + */ +published interface XPrintJobListener : com::sun::star::lang::XEventListener +{ + /** informs the user about the creation or the progress of a PrintJob + @param Event + contains the XPrintJob having changed state and the new state. + */ + void printJobEvent( [in] PrintJobEvent Event ); +}; + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/XPrintSettingsSupplier.idl b/offapi/com/sun/star/view/XPrintSettingsSupplier.idl new file mode 100644 index 0000000000..9eaf5d5684 --- /dev/null +++ b/offapi/com/sun/star/view/XPrintSettingsSupplier.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 . + */ + + + +module com { module sun { module star { module view { + + +/** offers printing related settings, which affect document rendering, + but are not related to the printer itself. + */ +published interface XPrintSettingsSupplier: com::sun::star::uno::XInterface +{ + + /** @returns + a set of properties which are related to printing. + + @see PrintSettings + */ + com::sun::star::beans::XPropertySet getPrintSettings(); + +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/XPrintable.idl b/offapi/com/sun/star/view/XPrintable.idl new file mode 100644 index 0000000000..3fb9d50f50 --- /dev/null +++ b/offapi/com/sun/star/view/XPrintable.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 . + */ + + + +module com { module sun { module star { module view { + + +/** offers printing functionality. + */ +published interface XPrintable: com::sun::star::uno::XInterface +{ + /** @returns + a descriptor of the current printer. + + <p>The attributes of the current printer are used for formatting. + + @see PrinterDescriptor + */ + sequence<com::sun::star::beans::PropertyValue> getPrinter(); + + /** assigns a new printer to the object. + + <p>Setting a new printer will cause reformatting. + + @see PrinterDescriptor + */ + void setPrinter( [in] sequence<com::sun::star::beans::PropertyValue> aPrinter ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** prints the object. + + @param xOptions + specifies the number of copies and some other values which do not + affect formatting. + + @see PrintOptions + */ + void print( [in] sequence<com::sun::star::beans::PropertyValue> xOptions ) + raises( com::sun::star::lang::IllegalArgumentException ); + +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/XPrintableBroadcaster.idl b/offapi/com/sun/star/view/XPrintableBroadcaster.idl new file mode 100644 index 0000000000..ca42f7e458 --- /dev/null +++ b/offapi/com/sun/star/view/XPrintableBroadcaster.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 . + */ + + +module com { module sun { module star { module view { + +/** allows for getting information about a print job. + + <p>XPrintableBroadcaster can be implemented by classes which + implement XPrintable. It allows a XPrintableListener + to be registered, thus a client object will learn about the print progress.</p> + + @see XPrintableListener + */ +published interface XPrintableBroadcaster : com::sun::star::uno::XInterface +{ + /** adds an XPrintableListener to be notified about print progress. + */ + void addPrintableListener( [in] XPrintableListener xListener ); + + /** removes an XPrintableListener. + */ + void removePrintableListener( [in] XPrintableListener xListener ); +}; + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/XPrintableListener.idl b/offapi/com/sun/star/view/XPrintableListener.idl new file mode 100644 index 0000000000..76c9c2ae6b --- /dev/null +++ b/offapi/com/sun/star/view/XPrintableListener.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 . + */ + + +module com { module sun { module star { module view { + +/** receives events about print job progress. + + <p>XPrintableListener can be registered to XPrintableBroadcaster. + Then, the client object will receive events about print progress. </p> + + @see XPrintableBroadcaster + */ +published interface XPrintableListener : com::sun::star::lang::XEventListener +{ + /** informs the user of the new state in print progress. + + @param Event + contains the XPrintable having changed state and the new state. + */ + void stateChanged( [in] PrintableStateEvent Event ); +}; + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/XRenderable.idl b/offapi/com/sun/star/view/XRenderable.idl new file mode 100644 index 0000000000..d6634c6e96 --- /dev/null +++ b/offapi/com/sun/star/view/XRenderable.idl @@ -0,0 +1,82 @@ +/* -*- 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 . + */ + + +module com { module sun { module star { module view { + + +/** represents something that can be rendered. + + @since OOo 1.1.2 + */ +published interface XRenderable : com::sun::star::uno::XInterface +{ + + /** @returns + the count of renderers (based on paper count of a document, for example). + + <p> If a selection is given, the count has to be calculated + based on this selection. The other methods of this interface + will rely on this value if called. + + <p> If the selection contains a valid XModel interface, + it is assumed that the whole document should be rendered. + If the selection is empty, nothing should be rendered. + + @see RenderOptions + */ + long getRendererCount( [in] any aSelection, [in] sequence<com::sun::star::beans::PropertyValue> xOptions ) + raises( com::sun::star::lang::IllegalArgumentException ); + + + /** @returns + a descriptor of the specific renderer. + + <p> returns the specific renderer properties based on the given selection. + + <p> If the selection contains a valid XModel interface, + it is assumed that the whole document should be rendered. + If the selection is empty, nothing should be rendered. + + @see RenderDescriptor + @see RenderOptions + */ + sequence<com::sun::star::beans::PropertyValue> getRenderer( [in] long nRenderer, [in] any aSelection, [in] sequence<com::sun::star::beans::PropertyValue> xOptions ) + raises( com::sun::star::lang::IllegalArgumentException ); + + + /** renders the object. + + <p> renders the object with the specific renderer based on the given selection. + + <p> If the selection contains a valid XModel interface, + it is assumed that the whole document should be rendered. + If the selection is empty, nothing should be rendered. + + @see RenderOptions + */ + void render( [in] long nRenderer, [in] any aSelection, [in] sequence<com::sun::star::beans::PropertyValue> xOptions ) + raises( com::sun::star::lang::IllegalArgumentException ); + +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/XScreenCursor.idl b/offapi/com/sun/star/view/XScreenCursor.idl new file mode 100644 index 0000000000..6ddd131a74 --- /dev/null +++ b/offapi/com/sun/star/view/XScreenCursor.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 . + */ + + + +module com { module sun { module star { module view { + + +/** makes it possible to page through the document in steps of the displayed size. + */ +published interface XScreenCursor: com::sun::star::uno::XInterface +{ + /** scrolls the view forward by one visible page. + */ + boolean screenDown(); + + /** scrolls the view backward by one visible page. + */ + boolean screenUp(); + +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/XSelectionChangeListener.idl b/offapi/com/sun/star/view/XSelectionChangeListener.idl new file mode 100644 index 0000000000..ab36b6b5e0 --- /dev/null +++ b/offapi/com/sun/star/view/XSelectionChangeListener.idl @@ -0,0 +1,45 @@ +/* -*- 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 . + */ + + + +module com { module sun { module star { module view { + + +/** makes it possible to receive an event when the current selection changes. + + @see com::sun::star::view::XSelectionSupplier + */ +published interface XSelectionChangeListener: com::sun::star::lang::XEventListener +{ + + /** is called when the selection changes. + + <p>You can get the new selection via XSelectionSupplier from + com::sun::star::lang::EventObject::Source. + + */ + void selectionChanged( [in] com::sun::star::lang::EventObject aEvent ); + +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/XSelectionSupplier.idl b/offapi/com/sun/star/view/XSelectionSupplier.idl new file mode 100644 index 0000000000..a893e6ad69 --- /dev/null +++ b/offapi/com/sun/star/view/XSelectionSupplier.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 . + */ + + + +module com { module sun { module star { module view { + + +/** makes it possible to access and change the selection in a view. + + @see OfficeDocumentView + */ +published interface XSelectionSupplier: com::sun::star::uno::XInterface +{ + /** selects the object represented by <var>xSelection</var> if it is + known and selectable in this object. + */ + boolean select( [in] any xSelection ) + raises( com::sun::star::lang::IllegalArgumentException ); + + /** @returns + the current selection. + + <p>The selection is either specified by an object which is contained + in the component to which the view belongs, or it is an interface of a + collection which contains such objects. + */ + any getSelection(); + + /** registers an event listener, which is called when the selection changes. + */ + void addSelectionChangeListener( [in] com::sun::star::view::XSelectionChangeListener xListener ); + + /** unregisters an event listener which was registered with + XSelectionSupplier::addSelectionChangeListener(). + */ + void removeSelectionChangeListener( [in] com::sun::star::view::XSelectionChangeListener xListener ); + +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/XViewCursor.idl b/offapi/com/sun/star/view/XViewCursor.idl new file mode 100644 index 0000000000..ed59a9a696 --- /dev/null +++ b/offapi/com/sun/star/view/XViewCursor.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 . + */ + + + +module com { module sun { module star { module view { + + +/** makes it possible to move a cursor up/down/left/right within laid out text. + + @see com::sun::star::table::CellCursor + @see com::sun::star::text::TextCursor + @see com::sun::star::view::XLineCursor + */ +published interface XViewCursor: com::sun::star::uno::XInterface +{ + /** moves the cursor the specified number of lines down. + + @param nCount + specifies the number of lines to go down. + + @param bExpand + determines whether the text range of the cursor is expanded (`TRUE`) + or the cursor will be just at the new position after the move (`FALSE`). + + @returns + `TRUE` if the cursor was moved, + or `FALSE` if it was already in the bottom row. + */ + boolean goDown( [in] short nCount, [in] boolean bExpand ); + + /** moves the cursor the specified number of lines up. + + @param nCount + specifies the number of lines to go up. + + @param bExpand + determines whether the text range of the cursor is expanded (`TRUE`) + + @returns + `TRUE` if the cursor was moved, + or `FALSE` if it was already in the top row. + */ + boolean goUp( [in] short nCount, [in] boolean bExpand ); + + /** moves the cursor the specified number of characters to the left. + + @param nCount + specifies the number of characters to move. + + @param bExpand + determines whether the text range of the cursor is expanded (`TRUE`) + + @returns + `TRUE` if the cursor was moved, + or `FALSE` if it was already at the leftmost position. + */ + boolean goLeft( [in] short nCount, [in] boolean bExpand ); + + /** moves the cursor the specified number of characters to the right. + + @param nCount + specifies the number of characters to move. + + @param bExpand + determines whether the text range of the cursor is expanded (`TRUE`) + + @returns + `TRUE` if the cursor was moved, + or `FALSE` if it was already at the rightmost position. + */ + boolean goRight( [in] short nCount, [in] boolean bExpand ); + +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/view/XViewSettingsSupplier.idl b/offapi/com/sun/star/view/XViewSettingsSupplier.idl new file mode 100644 index 0000000000..0b0e860549 --- /dev/null +++ b/offapi/com/sun/star/view/XViewSettingsSupplier.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 . + */ + + + +module com { module sun { module star { module view { + + +/** provides access to the view settings of the object. + */ +published interface XViewSettingsSupplier: com::sun::star::uno::XInterface +{ + + /** @returns + an interface to the ViewSettings. + + <p>Subclasses might be returned instead, offering more settings. </p> + */ + com::sun::star::beans::XPropertySet getViewSettings(); + +}; + + +}; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |