diff options
Diffstat (limited to '')
32 files changed, 2127 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 000000000..98e3a9c93 --- /dev/null +++ b/offapi/com/sun/star/view/DocumentZoomType.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_view_DocumentZoomType_idl__ +#define __com_sun_star_view_DocumentZoomType_idl__ + + + +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; +}; + + +}; }; }; }; + +#endif + +/* 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 000000000..4c05ec695 --- /dev/null +++ b/offapi/com/sun/star/view/DuplexMode.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_view_DuplexMode_idl__ +#define __com_sun_star_view_DuplexMode_idl__ + + + +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; +}; + + +}; }; }; }; + +#endif + +/* 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 000000000..1485ad73c --- /dev/null +++ b/offapi/com/sun/star/view/OfficeDocumentView.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_view_OfficeDocumentView_idl__ +#define __com_sun_star_view_OfficeDocumentView_idl__ + +#include <com/sun/star/view/XSelectionSupplier.idl> + +#include <com/sun/star/view/XViewSettingsSupplier.idl> + +#include <com/sun/star/view/XControlAccess.idl> + + + +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; + +}; + + +}; }; }; }; + +#endif + +/* 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 000000000..247a2a876 --- /dev/null +++ b/offapi/com/sun/star/view/PaperFormat.idl @@ -0,0 +1,74 @@ +/* -*- 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_view_PaperFormat_idl__ +#define __com_sun_star_view_PaperFormat_idl__ + + + +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 + +}; + + +}; }; }; }; + +#endif + +/* 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 000000000..91901a769 --- /dev/null +++ b/offapi/com/sun/star/view/PaperOrientation.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_view_PaperOrientation_idl__ +#define __com_sun_star_view_PaperOrientation_idl__ + + + +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 + +}; + + +}; }; }; }; + +#endif + +/* 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 000000000..8359f8312 --- /dev/null +++ b/offapi/com/sun/star/view/PrintJobEvent.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_view_PrintJobEvent_idl__ +#define __com_sun_star_view_PrintJobEvent_idl__ + +#include <com/sun/star/lang/EventObject.idl> +#include <com/sun/star/view/PrintableState.idl> + + +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; +}; + + +}; }; }; }; + +#endif + +/* 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 000000000..4ed8b23ba --- /dev/null +++ b/offapi/com/sun/star/view/PrintOptions.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 . + */ +#ifndef __com_sun_star_view_PrintOptions_idl__ +#define __com_sun_star_view_PrintOptions_idl__ + + + +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; +}; + + +}; }; }; }; + +#endif + +/* 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 000000000..e7671ea69 --- /dev/null +++ b/offapi/com/sun/star/view/PrintSettings.idl @@ -0,0 +1,91 @@ +/* -*- 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_view_PrintSettings_idl__ +#define __com_sun_star_view_PrintSettings_idl__ + + + +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; + +}; + + +}; }; }; }; + +#endif + +/* 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 000000000..b687d8174 --- /dev/null +++ b/offapi/com/sun/star/view/PrintableState.idl @@ -0,0 +1,69 @@ +/* -*- 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_view_PrintableState_idl__ +#define __com_sun_star_view_PrintableState_idl__ + + + +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 +}; + + +}; }; }; }; + +#endif + +/* 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 000000000..41a3fa5f5 --- /dev/null +++ b/offapi/com/sun/star/view/PrintableStateEvent.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_view_PrintableStateEvent_idl__ +#define __com_sun_star_view_PrintableStateEvent_idl__ + +#include <com/sun/star/lang/EventObject.idl> +#include <com/sun/star/view/PrintableState.idl> + + +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; +}; + + +}; }; }; }; + +#endif + +/* 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 000000000..29f2b1360 --- /dev/null +++ b/offapi/com/sun/star/view/PrinterDescriptor.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_view_PrinterDescriptor_idl__ +#define __com_sun_star_view_PrinterDescriptor_idl__ + +#include <com/sun/star/view/PaperOrientation.idl> + +#include <com/sun/star/view/PaperFormat.idl> + +#include <com/sun/star/awt/Size.idl> + + + +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; + +}; + + +}; }; }; }; + +#endif + +/* 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 000000000..ec35bee8a --- /dev/null +++ b/offapi/com/sun/star/view/RenderDescriptor.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_view_RenderDescriptor_idl__ +#define __com_sun_star_view_RenderDescriptor_idl__ + +#include <com/sun/star/awt/Size.idl> + + +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; +}; + + +}; }; }; }; + + +#endif + +/* 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 000000000..747315584 --- /dev/null +++ b/offapi/com/sun/star/view/RenderOptions.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_view_RenderOptions_idl__ +#define __com_sun_star_view_RenderOptions_idl__ + +#include <com/sun/star/awt/XDevice.idl> + + +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; +}; + + +}; }; }; }; + + +#endif + +/* 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 000000000..5cf828945 --- /dev/null +++ b/offapi/com/sun/star/view/SelectionType.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_view_SelectionType_idl__ +#define __com_sun_star_view_SelectionType_idl__ + + +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 +}; + + +}; }; }; }; + + +#endif + +/* 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 000000000..788a195e3 --- /dev/null +++ b/offapi/com/sun/star/view/ViewSettings.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_view_ViewSettings_idl__ +#define __com_sun_star_view_ViewSettings_idl__ + +#include <com/sun/star/beans/XPropertySet.idl> + + +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; +}; + + +}; }; }; }; + +#endif + +/* 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 000000000..19060b184 --- /dev/null +++ b/offapi/com/sun/star/view/XControlAccess.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_view_XControlAccess_idl__ +#define __com_sun_star_view_XControlAccess_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/awt/XControl.idl> + +#include <com/sun/star/awt/XControlModel.idl> + +#include <com/sun/star/container/NoSuchElementException.idl> + + + +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 ); + +}; + + +}; }; }; }; + +#endif + +/* 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 000000000..f498f688c --- /dev/null +++ b/offapi/com/sun/star/view/XFormLayerAccess.idl @@ -0,0 +1,91 @@ +/* -*- 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_view_XFormLayerAccess_idl__ +#define __com_sun_star_view_XFormLayerAccess_idl__ + +#include <com/sun/star/view/XControlAccess.idl> +#include <com/sun/star/form/XForm.idl> +#include <com/sun/star/form/runtime/XFormController.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> + + +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 ); +}; + + +}; }; }; }; + + +#endif + +/* 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 000000000..fc125f653 --- /dev/null +++ b/offapi/com/sun/star/view/XLineCursor.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_view_XLineCursor_idl__ +#define __com_sun_star_view_XLineCursor_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + + +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 ); + +}; + + +}; }; }; }; + +#endif + +/* 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 000000000..d7c8bd9e0 --- /dev/null +++ b/offapi/com/sun/star/view/XMultiSelectionSupplier.idl @@ -0,0 +1,113 @@ +/* -*- 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_view_XMultiSelectionSupplier_idl__ +#define __com_sun_star_view_XMultiSelectionSupplier_idl__ + +#include <com/sun/star/view/XSelectionSupplier.idl> +#include <com/sun/star/container/XEnumeration.idl> + + +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. + + @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>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(); + +}; + + +}; }; }; }; + +#endif + +/* 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 000000000..d01bab007 --- /dev/null +++ b/offapi/com/sun/star/view/XPrintJob.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_view_XPrintJob_idl__ +#define __com_sun_star_view_XPrintJob_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/view/XPrintable.idl> +#include <com/sun/star/beans/PropertyValue.idl> + + + +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(); +}; + +}; }; }; }; + +#endif + +/* 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 000000000..dec3733f9 --- /dev/null +++ b/offapi/com/sun/star/view/XPrintJobBroadcaster.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_view_XPrintJobBroadcaster_idl__ +#define __com_sun_star_view_XPrintJobBroadcaster_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/view/XPrintJobListener.idl> + + +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 ); +}; + +}; }; }; }; + +#endif + +/* 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 000000000..7c7adfccd --- /dev/null +++ b/offapi/com/sun/star/view/XPrintJobListener.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_view_XPrintJobListener_idl__ +#define __com_sun_star_view_XPrintJobListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> +#include <com/sun/star/view/PrintJobEvent.idl> + + +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 ); +}; + +}; }; }; }; + +#endif + +/* 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 000000000..6ce20217d --- /dev/null +++ b/offapi/com/sun/star/view/XPrintSettingsSupplier.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_view_XPrintSettingsSupplier_idl__ +#define __com_sun_star_view_XPrintSettingsSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/beans/XPropertySet.idl> + + + +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(); + +}; + + +}; }; }; }; + +#endif + +/* 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 000000000..efc4fbf9c --- /dev/null +++ b/offapi/com/sun/star/view/XPrintable.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_view_XPrintable_idl__ +#define __com_sun_star_view_XPrintable_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/beans/PropertyValue.idl> + +#include <com/sun/star/lang/IllegalArgumentException.idl> + + + +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 ); + +}; + + +}; }; }; }; + +#endif + +/* 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 000000000..e2613f696 --- /dev/null +++ b/offapi/com/sun/star/view/XPrintableBroadcaster.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_view_XPrintableBroadcaster_idl__ +#define __com_sun_star_view_XPrintableBroadcaster_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/view/XPrintableListener.idl> + + +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 ); +}; + +}; }; }; }; + +#endif + +/* 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 000000000..89c178914 --- /dev/null +++ b/offapi/com/sun/star/view/XPrintableListener.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_view_XPrintableListener_idl__ +#define __com_sun_star_view_XPrintableListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> +#include <com/sun/star/view/XPrintable.idl> + +#include <com/sun/star/view/PrintableStateEvent.idl> + + +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 ); +}; + +}; }; }; }; + +#endif + +/* 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 000000000..527bddc3b --- /dev/null +++ b/offapi/com/sun/star/view/XRenderable.idl @@ -0,0 +1,92 @@ +/* -*- 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_view_XRenderable_idl__ +#define __com_sun_star_view_XRenderable_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/beans/PropertyValue.idl> + +#include <com/sun/star/lang/IllegalArgumentException.idl> + + +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 ); + +}; + + +}; }; }; }; + +#endif + +/* 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 000000000..82a4a09da --- /dev/null +++ b/offapi/com/sun/star/view/XScreenCursor.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_view_XScreenCursor_idl__ +#define __com_sun_star_view_XScreenCursor_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + + +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(); + +}; + + +}; }; }; }; + +#endif + +/* 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 000000000..24fc610f4 --- /dev/null +++ b/offapi/com/sun/star/view/XSelectionChangeListener.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_view_XSelectionChangeListener_idl__ +#define __com_sun_star_view_XSelectionChangeListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> + +#include <com/sun/star/lang/EventObject.idl> + + + +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 ); + +}; + + +}; }; }; }; + +#endif + +/* 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 000000000..b4d0efa2e --- /dev/null +++ b/offapi/com/sun/star/view/XSelectionSupplier.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_view_XSelectionSupplier_idl__ +#define __com_sun_star_view_XSelectionSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/lang/IllegalArgumentException.idl> + +#include <com/sun/star/view/XSelectionChangeListener.idl> + + + +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 ); + +}; + + +}; }; }; }; + +#endif + +/* 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 000000000..5f20dca37 --- /dev/null +++ b/offapi/com/sun/star/view/XViewCursor.idl @@ -0,0 +1,101 @@ +/* -*- 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_view_XViewCursor_idl__ +#define __com_sun_star_view_XViewCursor_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + + +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 ); + +}; + + +}; }; }; }; + +#endif + +/* 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 000000000..f00c38207 --- /dev/null +++ b/offapi/com/sun/star/view/XViewSettingsSupplier.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_view_XViewSettingsSupplier_idl__ +#define __com_sun_star_view_XViewSettingsSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/beans/XPropertySet.idl> + + + +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(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |