diff options
Diffstat (limited to 'offapi/com/sun/star/gallery')
-rw-r--r-- | offapi/com/sun/star/gallery/GalleryItem.idl | 83 | ||||
-rw-r--r-- | offapi/com/sun/star/gallery/GalleryItemType.idl | 51 | ||||
-rw-r--r-- | offapi/com/sun/star/gallery/GalleryTheme.idl | 46 | ||||
-rw-r--r-- | offapi/com/sun/star/gallery/GalleryThemeProvider.idl | 60 | ||||
-rw-r--r-- | offapi/com/sun/star/gallery/XGalleryItem.idl | 48 | ||||
-rw-r--r-- | offapi/com/sun/star/gallery/XGalleryTheme.idl | 151 | ||||
-rw-r--r-- | offapi/com/sun/star/gallery/XGalleryThemeProvider.idl | 76 |
7 files changed, 515 insertions, 0 deletions
diff --git a/offapi/com/sun/star/gallery/GalleryItem.idl b/offapi/com/sun/star/gallery/GalleryItem.idl new file mode 100644 index 000000000..848973e99 --- /dev/null +++ b/offapi/com/sun/star/gallery/GalleryItem.idl @@ -0,0 +1,83 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_gallery_GalleryItem_idl__ +#define __com_sun_star_gallery_GalleryItem_idl__ + +#include <com/sun/star/gallery/XGalleryItem.idl> +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/graphic/XGraphic.idl> +#include <com/sun/star/lang/XComponent.idl> + + +module com { module sun { module star { module gallery { + + +/** service to get access to the properties of a single Gallery item + */ +service GalleryItem +{ + interface ::com::sun::star::gallery::XGalleryItem; + + interface ::com::sun::star::beans::XPropertySet; + + /** The type of the Gallery item + + @see GalleryItemType + */ + [readonly, property] byte GalleryItemType; + + /** the URL of the Gallery item + + <p>The interpretation of the URL depends on the type + of the Gallery item. In case of graphic and media items, + the URL is a "real" URL, in case of drawings it is a private + URL</p> + */ + [readonly, property] string URL; + + /** the title of the Gallery item + */ + [property] string Title; + + /** the thumbnail of the Gallery item + + <p>The thumbnail may be either a pixel or a vector graphic</p> + */ + [readonly, property] com::sun::star::graphic::XGraphic Thumbnail; + + /** the graphic content of the Gallery item + + <p>This is an optional property and may not available for every item</p> + */ + [optional, readonly, property ] ::com::sun::star::graphic::XGraphic Graphic; + + /** the drawing content of the Gallery item + + <p>This is an optional property and may not available for every item</p> + */ + [optional, readonly, property ] ::com::sun::star::lang::XComponent Drawing; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/gallery/GalleryItemType.idl b/offapi/com/sun/star/gallery/GalleryItemType.idl new file mode 100644 index 000000000..f598a2a7d --- /dev/null +++ b/offapi/com/sun/star/gallery/GalleryItemType.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_gallery_GalleryItemType_idl__ +#define __com_sun_star_gallery_GalleryItemType_idl__ + +module com { module sun { module star { module gallery { + +/** Constants that describe the type of graphic +*/ +constants GalleryItemType +{ + /** Item is empty + */ + const byte EMPTY = 0; + + /** Item represents a graphic + */ + const byte GRAPHIC = 1; + + /** Item represents a media file + */ + const byte MEDIA = 2; + + /** Item represents a drawing + */ + const byte DRAWING = 3; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/gallery/GalleryTheme.idl b/offapi/com/sun/star/gallery/GalleryTheme.idl new file mode 100644 index 000000000..c59f6de89 --- /dev/null +++ b/offapi/com/sun/star/gallery/GalleryTheme.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_gallery_GalleryTheme_idl__ +#define __com_sun_star_gallery_GalleryTheme_idl__ + +#include <com/sun/star/gallery/XGalleryTheme.idl> + + +module com { module sun { module star { module gallery { + + +/** provides access to a container of Gallery items and makes it + possible for you to manipulate them. + + @see XGalleryTheme + */ +service GalleryTheme +{ + /** lets you access and create Gallery items + */ + interface com::sun::star::gallery::XGalleryTheme; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/gallery/GalleryThemeProvider.idl b/offapi/com/sun/star/gallery/GalleryThemeProvider.idl new file mode 100644 index 000000000..c8bc257c6 --- /dev/null +++ b/offapi/com/sun/star/gallery/GalleryThemeProvider.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_gallery_GalleryThemeProvider_idl__ +#define __com_sun_star_gallery_GalleryThemeProvider_idl__ + +#include <com/sun/star/gallery/XGalleryThemeProvider.idl> +#include <com/sun/star/lang/XInitialization.idl> + + +module com { module sun { module star { module gallery { + + +/** provides access to a container of GalleryThemes + and makes it possible for you to manipulate them. + + @see XGalleryThemeProvider + */ +service GalleryThemeProvider +{ + /** lets you access and create GalleryThemes + */ + interface com::sun::star::gallery::XGalleryThemeProvider; + + /** allows initializing the provider + <p>You do not need to call the initialize method directly, instead you may use the createInstanceWithArguments + method of your com::sun::star::lang::XMultiServiceFactory.</p> + + <p>You specify a parameter by passing one (or more) + com::sun::star::beans::PropertyValue + object(s) to the initialize method, where the <em>Name</em> field contains a string describing which aspect + you want to affect, and the <em>Value</em> field containing a value.</p> + + <p>Currently, there are no public properties available</p> + */ + interface com::sun::star::lang::XInitialization; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/gallery/XGalleryItem.idl b/offapi/com/sun/star/gallery/XGalleryItem.idl new file mode 100644 index 000000000..6687b8354 --- /dev/null +++ b/offapi/com/sun/star/gallery/XGalleryItem.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_gallery_XGalleryItem_idl__ +#define __com_sun_star_gallery_XGalleryItem_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + +module com { module sun { module star { module gallery { + + +/** provides access to a single item of a Gallery theme. + */ +interface XGalleryItem : com::sun::star::uno::XInterface +{ + /** retrieves the type of the Gallery item + + @returns + The type of the Gallery item + + @see GalleryItemType + */ + byte getType(); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/gallery/XGalleryTheme.idl b/offapi/com/sun/star/gallery/XGalleryTheme.idl new file mode 100644 index 000000000..749def1d7 --- /dev/null +++ b/offapi/com/sun/star/gallery/XGalleryTheme.idl @@ -0,0 +1,151 @@ +/* -*- 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_gallery_XGalleryTheme_idl__ +#define __com_sun_star_gallery_XGalleryTheme_idl__ + +#include <com/sun/star/container/XIndexAccess.idl> +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/lang/IndexOutOfBoundsException.idl> +#include <com/sun/star/lang/WrappedTargetException.idl> +#include <com/sun/star/graphic/XGraphic.idl> +#include <com/sun/star/gallery/XGalleryItem.idl> + + +module com { module sun { module star { module gallery { + + +/** provides access to the items of a Gallery themes. It also allows + inserting and removing of single items. + + <p>This interface extends the interface + com::sun::star::container::XIndexAccess which provides + access to existing Gallery items collection.</p> + + @see com::sun::star::container::XIndexAccess + @see com::sun::star::sheet::DataPilotTable + */ +interface XGalleryTheme : com::sun::star::container::XIndexAccess +{ + /** retrieves the name of the Gallery theme + + @returns + The name of the Gallery theme + */ + string getName(); + + /** updates the theme + + <p>This method iterates over each item of the Gallery theme + and updates it accordingly. Main purpose is to automatically + regenerate the thumbnails and to remove invalid items, that is items + who have got a URL that has become invalid. This method also + optimizes underlying data structures.</p> + */ + void update(); + + /** inserts an item + + @param URL + The URL of a graphic or media object, that should + be added to the collection + + @param Index + The zero based index of the position where to insert + the new object inside the collection. If the index is larger than + or equal to the number of already inserted items, the + item is inserted at the end of the collection. If the index + is smaller than 0, the item is inserted at the beginning of + the collection. + + @returns + The zero based position at which the object was inserted. + If the object could not be inserted, -1 is returned. + + @see XGalleryItem + @see com::sun::star::lang::WrappedTargetException + */ + long insertURLByIndex( [in] string URL, [in] long Index ) + raises ( com::sun::star::lang::WrappedTargetException ); + /** inserts an item + + @param Graphic + The com::sun::star::graphic::XGraphic object + that should be added to the collection + + @param Index + The zero based index of the position where to insert + the new object inside the collection. If the index is larger than + or equal to the number of already inserted items, the + item is inserted at the end of the collection. If the index + is smaller than 0, the item is inserted at the beginning of + the collection. + + @returns + The zero based position at which the object was inserted. + If the object could not be inserted, -1 is returned. + + @see com::sun::star::graphic::XGraphic + @see XGalleryItem + @see com::sun::star::lang::WrappedTargetException + */ + long insertGraphicByIndex( [in] com::sun::star::graphic::XGraphic Graphic, [in] long Index ) + raises ( com::sun::star::lang::WrappedTargetException ); + + /** inserts an item + + @param Drawing + A drawing model that should be added to the collection + + @param Index + The zero based index of the position where to insert + the new object inside the collection. If the index is larger than + or equal to the number of already inserted items, the + item is inserted at the end of the collection. If the index + is smaller than 0, the item is inserted at the beginning of + the collection. + + @returns + The zero based position at which the object was inserted. + If the object could not be inserted, -1 is returned. + + @see XGalleryItem + @see com::sun::star::lang::WrappedTargetException + */ + long insertDrawingByIndex( [in] com::sun::star::lang::XComponent Drawing, [in] long Index ) + raises ( com::sun::star::lang::WrappedTargetException ); + + /** deletes an item from the collection + + @param Index + The position of the item to be removed. The + position is zero based. + + @see com::sun::star::container::NoSuchElementException + */ + void removeByIndex( [in] long Index ) + raises ( com::sun::star::lang::IndexOutOfBoundsException ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/gallery/XGalleryThemeProvider.idl b/offapi/com/sun/star/gallery/XGalleryThemeProvider.idl new file mode 100644 index 000000000..515663358 --- /dev/null +++ b/offapi/com/sun/star/gallery/XGalleryThemeProvider.idl @@ -0,0 +1,76 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_gallery_XGalleryThemeProvider_idl__ +#define __com_sun_star_gallery_XGalleryThemeProvider_idl__ + +#include <com/sun/star/gallery/XGalleryTheme.idl> +#include <com/sun/star/container/XNameAccess.idl> +#include <com/sun/star/container/ElementExistException.idl> +#include <com/sun/star/container/NoSuchElementException.idl> + + +module com { module sun { module star { module gallery { + + +/** provides access to the Gallery themes. It also allows inserting and + removing of Gallery themes by name. + + <p>This interface extends the interface + com::sun::star::container::XNameAccess which provides + access to existing Gallery themes collection.</p> + + @see com::sun::star::container::XNameAccess + */ +interface XGalleryThemeProvider : com::sun::star::container::XNameAccess +{ + /** creates a new Gallery theme and adds it to the collection. + + @param ThemeName + The name of the Gallery theme to be added to the collection. + The name must be unique. + + @returns XGalleryTheme + The created theme interface + + @see com::sun::star::container::ElementExistException + */ + XGalleryTheme insertNewByName( [in] string ThemeName ) + raises ( com::sun::star::container::ElementExistException ); + + + /** deletes a Gallery theme from the collection. + + @param ThemeName + The name of the Gallery theme to be removed. The + theme with the given name must exist. + + @see com::sun::star::container::NoSuchElementException + */ + void removeByName( [in] string ThemeName ) + raises ( com::sun::star::container::NoSuchElementException ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |