diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2019-07-23 08:15:20 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2019-07-23 14:49:04 +0200 |
commit | d367ee2f8c204f351072c0eb10259fd7aa497770 (patch) | |
tree | 351c016c0d0ef15a739fe8e766d9ae0b0c1edf72 /framework | |
parent | bfe225b7003d119ff214cbaa771289de105c48d5 (diff) |
Simplify framework image manager
various bits are no longer used since
commit ca00697e3dae9a03573d11281fc8d9a4ee391d3d
Date: Tue Sep 8 04:57:32 2009 +0000
CWS-TOOLING: integrate CWS oj18
Change-Id: Iea57cee35026fd90f6a9aaf9927a80a646d722bb
Reviewed-on: https://gerrit.libreoffice.org/76147
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'framework')
-rw-r--r-- | framework/dtd/image.dtd | 4 | ||||
-rw-r--r-- | framework/inc/xml/imagesconfiguration.hxx | 28 | ||||
-rw-r--r-- | framework/inc/xml/imagesdocumenthandler.hxx | 9 | ||||
-rw-r--r-- | framework/source/uiconfiguration/imagemanagerimpl.cxx | 3 | ||||
-rw-r--r-- | framework/source/xml/imagesdocumenthandler.cxx | 344 |
5 files changed, 5 insertions, 383 deletions
diff --git a/framework/dtd/image.dtd b/framework/dtd/image.dtd index 44e2f5315646..59b0f3f92f08 100644 --- a/framework/dtd/image.dtd +++ b/framework/dtd/image.dtd @@ -31,13 +31,13 @@ <!ELEMENT image:entry EMPTY> <!ATTLIST image:entry image:command %url; #REQUIRED - image:bitmap-index CDATA #REQUIRED + image:bitmap-index CDATA > <!ELEMENT image:externalentry EMPTY> <!ATTLIST image:externalentry image:command %url; #REQUIRED - xlink:href %uriReference; #REQUIRED + xlink:href %uriReference; xlink:type CDATA #FIXED "simple" > diff --git a/framework/inc/xml/imagesconfiguration.hxx b/framework/inc/xml/imagesconfiguration.hxx index 330c023707da..983a16d66c9b 100644 --- a/framework/inc/xml/imagesconfiguration.hxx +++ b/framework/inc/xml/imagesconfiguration.hxx @@ -34,52 +34,24 @@ namespace framework { -enum ImageMaskMode -{ - ImageMaskMode_Color, - ImageMaskMode_Bitmap -}; - struct ImageItemDescriptor { - ImageItemDescriptor() : nIndex( -1 ) {} - OUString aCommandURL; // URL command to dispatch - long nIndex; // index of the bitmap inside the bitmaplist -}; - -struct ExternalImageItemDescriptor -{ - OUString aCommandURL; // URL command to dispatch - OUString aURL; // a URL to an external bitmap }; typedef std::vector<std::unique_ptr<ImageItemDescriptor> > ImageItemListDescriptor; -typedef std::vector<std::unique_ptr<ExternalImageItemDescriptor> > ExternalImageItemListDescriptor; - struct ImageListItemDescriptor { - ImageListItemDescriptor() : nMaskMode( ImageMaskMode_Color ) {} - - OUString aURL; // a URL to a bitmap with several images inside - Color aMaskColor; // a color used as transparent - OUString aMaskURL; // a URL to an optional bitmap used as a mask - ImageMaskMode nMaskMode; // an enum to describe the current mask mode std::unique_ptr<ImageItemListDescriptor> pImageItemList; // an array of ImageItemDescriptors that describes every image - OUString aHighContrastURL; // a URL to an optional high contrast bitmap with several images inside - OUString aHighContrastMaskURL; // a URL to an optional high contrast bitmap as a mask }; typedef std::vector<std::unique_ptr<ImageListItemDescriptor> > ImageListDescriptor; struct ImageListsDescriptor { - ImageListsDescriptor() {} - std::unique_ptr<ImageListDescriptor> pImageList; - std::unique_ptr<ExternalImageItemListDescriptor> pExternalImageList; }; class ImagesConfiguration diff --git a/framework/inc/xml/imagesdocumenthandler.hxx b/framework/inc/xml/imagesdocumenthandler.hxx index cd41974d51e8..720071d0632e 100644 --- a/framework/inc/xml/imagesdocumenthandler.hxx +++ b/framework/inc/xml/imagesdocumenthandler.hxx @@ -103,7 +103,6 @@ class OReadImagesDocumentHandler : public ::cppu::WeakImplHelper< css::xml::sax: ImageHashMap m_aImageMap; ImageListsDescriptor& m_aImageList; ImageListItemDescriptor* m_pImages; - ExternalImageItemListDescriptor* m_pExternalImages; css::uno::Reference< css::xml::sax::XLocator > m_xLocator; }; @@ -127,16 +126,8 @@ class OWriteImagesDocumentHandler final /// @throws css::xml::sax::SAXException /// @throws css::uno::RuntimeException - void WriteExternalImageList( const ExternalImageItemListDescriptor* ); - - /// @throws css::xml::sax::SAXException - /// @throws css::uno::RuntimeException void WriteImage( const ImageItemDescriptor* ); - /// @throws css::xml::sax::SAXException - /// @throws css::uno::RuntimeException - void WriteExternalImage( const ExternalImageItemDescriptor* ); - const ImageListsDescriptor& m_aImageListsItems; css::uno::Reference< css::xml::sax::XDocumentHandler > m_xWriteDocumentHandler; css::uno::Reference< css::xml::sax::XAttributeList > m_xEmptyList; diff --git a/framework/source/uiconfiguration/imagemanagerimpl.cxx b/framework/source/uiconfiguration/imagemanagerimpl.cxx index ff53261f56b8..fc6a54d3d2c2 100644 --- a/framework/source/uiconfiguration/imagemanagerimpl.cxx +++ b/framework/source/uiconfiguration/imagemanagerimpl.cxx @@ -403,13 +403,10 @@ bool ImageManagerImpl::implts_storeUserImages( for ( sal_uInt16 i=0; i < pImageList->GetImageCount(); i++ ) { ImageItemDescriptor* pItem = new ImageItemDescriptor; - pItem->nIndex = i; pItem->aCommandURL = pImageList->GetImageName( i ); pList->pImageItemList->push_back( std::unique_ptr<ImageItemDescriptor>(pItem) ); } - pList->aURL = "Bitmaps/" + OUString::createFromAscii(BITMAP_FILE_NAMES[nImageType]); - uno::Reference< XTransactedObject > xTransaction; uno::Reference< XOutputStream > xOutputStream; uno::Reference< XStream > xStream = xUserImageStorage->openStreamElement( OUString::createFromAscii( IMAGELIST_XML_FILE[nImageType] ), diff --git a/framework/source/xml/imagesdocumenthandler.cxx b/framework/source/xml/imagesdocumenthandler.cxx index 927e52627e97..7005a07b89ac 100644 --- a/framework/source/xml/imagesdocumenthandler.cxx +++ b/framework/source/xml/imagesdocumenthandler.cxx @@ -43,8 +43,6 @@ using namespace ::com::sun::star::xml::sax; #define ELEMENT_NS_IMAGESCONTAINER "image:imagescontainer" #define ELEMENT_NS_IMAGES "image:images" #define ELEMENT_NS_ENTRY "image:entry" -#define ELEMENT_NS_EXTERNALIMAGES "image:externalimages" -#define ELEMENT_NS_EXTERNALENTRY "image:externalentry" #define ATTRIBUTE_HREF "href" #define ATTRIBUTE_MASKCOLOR "maskcolor" @@ -102,11 +100,9 @@ ImageXMLEntryProperty const ImagesEntries[OReadImagesDocumentHandler::IMG_XML_EN OReadImagesDocumentHandler::OReadImagesDocumentHandler( ImageListsDescriptor& aItems ) : m_aImageList( aItems ), - m_pImages( nullptr ), - m_pExternalImages( nullptr ) + m_pImages( nullptr ) { m_aImageList.pImageList = nullptr; - m_aImageList.pExternalImageList = nullptr; m_nHashMaskModeBitmap = OUString( ATTRIBUTE_MASKMODE_BITMAP ).hashCode(); m_nHashMaskModeColor = OUString( ATTRIBUTE_MASKMODE_COLOR ).hashCode(); @@ -200,86 +196,6 @@ void SAL_CALL OReadImagesDocumentHandler::startElement( m_bImagesStartFound = true; m_pImages = new ImageListItemDescriptor; - - for ( sal_Int16 n = 0; n < xAttribs->getLength(); n++ ) - { - pImageEntry = m_aImageMap.find( xAttribs->getNameByIndex( n ) ); - if ( pImageEntry != m_aImageMap.end() ) - { - switch ( pImageEntry->second ) - { - case IMG_ATTRIBUTE_HREF: - { - m_pImages->aURL = xAttribs->getValueByIndex( n ); - } - break; - - case IMG_ATTRIBUTE_MASKCOLOR: - { - OUString aColor = xAttribs->getValueByIndex( n ); - - if ( aColor.startsWith("#") ) - { - // the color value is given as #rrggbb and used the hexadecimal system!! - sal_uInt32 nColor = aColor.copy( 1 ).toUInt32( 16 ); - - m_pImages->aMaskColor = Color( nColor ); - } - } - break; - - case IMG_ATTRIBUTE_MASKURL: - { - m_pImages->aMaskURL = xAttribs->getValueByIndex( n ); - } - break; - - case IMG_ATTRIBUTE_MASKMODE: - { - sal_Int32 nHashCode = xAttribs->getValueByIndex( n ).hashCode(); - if ( nHashCode == m_nHashMaskModeBitmap ) - m_pImages->nMaskMode = ImageMaskMode_Bitmap; - else if ( nHashCode == m_nHashMaskModeColor ) - m_pImages->nMaskMode = ImageMaskMode_Color; - else - { - delete m_pImages; - m_pImages = nullptr; - - OUString aErrorMessage = getErrorLineString(); - aErrorMessage += "Attribute image:maskmode must be 'maskcolor' or 'maskbitmap'!"; - throw SAXException( aErrorMessage, Reference< XInterface >(), Any() ); - } - } - break; - - case IMG_ATTRIBUTE_HIGHCONTRASTURL: - { - m_pImages->aHighContrastURL = xAttribs->getValueByIndex( n ); - } - break; - - case IMG_ATTRIBUTE_HIGHCONTRASTMASKURL: - { - m_pImages->aHighContrastMaskURL = xAttribs->getValueByIndex( n ); - } - break; - - default: - break; - } - } - } // for - - if ( m_pImages->aURL.isEmpty() ) - { - delete m_pImages; - m_pImages = nullptr; - - OUString aErrorMessage = getErrorLineString(); - aErrorMessage += "Required attribute xlink:href must have a value!"; - throw SAXException( aErrorMessage, Reference< XInterface >(), Any() ); - } } break; @@ -301,7 +217,6 @@ void SAL_CALL OReadImagesDocumentHandler::startElement( // Create new image item descriptor std::unique_ptr<ImageItemDescriptor> pItem(new ImageItemDescriptor); - pItem->nIndex = -1; // Read attributes for this image definition for ( sal_Int16 n = 0; n < xAttribs->getLength(); n++ ) @@ -317,126 +232,8 @@ void SAL_CALL OReadImagesDocumentHandler::startElement( } break; - case IMG_ATTRIBUTE_BITMAPINDEX: - { - pItem->nIndex = xAttribs->getValueByIndex( n ).toInt32(); - } - break; - - default: - break; - } - } - } - - // Check required attribute "bitmap-index" - if ( pItem->nIndex < 0 ) - { - delete m_pImages; - m_pImages = nullptr; - - OUString aErrorMessage = getErrorLineString(); - aErrorMessage += "Required attribute 'image:bitmap-index' must have a value >= 0!"; - throw SAXException( aErrorMessage, Reference< XInterface >(), Any() ); - } - - // Check required attribute "command" - if ( pItem->aCommandURL.isEmpty() ) - { - delete m_pImages; - m_pImages = nullptr; - - OUString aErrorMessage = getErrorLineString(); - aErrorMessage += "Required attribute 'image:command' must have a value!"; - throw SAXException( aErrorMessage, Reference< XInterface >(), Any() ); - } - - m_pImages->pImageItemList->push_back( std::move(pItem) ); - } - break; - - case IMG_ELEMENT_EXTERNALIMAGES: - { - // Check that image:externalimages is embedded into image:imagecontainer - if ( !m_bImageContainerStartFound ) - { - delete m_pImages; - m_pImages = nullptr; - - OUString aErrorMessage = getErrorLineString(); - aErrorMessage += "Element 'image:externalimages' must be embedded into element 'image:imagecontainer'!"; - throw SAXException( aErrorMessage, Reference< XInterface >(), Any() ); - } - - // Check that image:externalentry is NOT embedded into image:externalentry - if ( m_bExternalImagesStartFound ) - { - delete m_pImages; - m_pImages = nullptr; - - OUString aErrorMessage = getErrorLineString(); - aErrorMessage += "Element 'image:externalimages' cannot be embedded into 'image:externalimages'!"; - throw SAXException( aErrorMessage, Reference< XInterface >(), Any() ); - } - - // Create unique external image container - m_bExternalImagesStartFound = true; - m_pExternalImages = new ExternalImageItemListDescriptor; - } - break; - - case IMG_ELEMENT_EXTERNALENTRY: - { - if ( !m_bExternalImagesStartFound ) - { - delete m_pImages; - delete m_pExternalImages; - m_pImages = nullptr; - m_pExternalImages = nullptr; - - OUString aErrorMessage = getErrorLineString(); - aErrorMessage += "Element 'image:externalentry' must be embedded into 'image:externalimages'!"; - throw SAXException( aErrorMessage, Reference< XInterface >(), Any() ); - } - - if ( m_bExternalImageStartFound ) - { - delete m_pImages; - delete m_pExternalImages; - m_pImages = nullptr; - m_pExternalImages = nullptr; - - OUString aErrorMessage = getErrorLineString(); - aErrorMessage += "Element 'image:externalentry' cannot be embedded into 'image:externalentry'!"; - throw SAXException( aErrorMessage, Reference< XInterface >(), Any() ); - } - - m_bExternalImageStartFound = true; - - std::unique_ptr<ExternalImageItemDescriptor> pItem(new ExternalImageItemDescriptor); - - // Read attributes for this external image definition - for ( sal_Int16 n = 0; n < xAttribs->getLength(); n++ ) - { - pImageEntry = m_aImageMap.find( xAttribs->getNameByIndex( n ) ); - if ( pImageEntry != m_aImageMap.end() ) - { - switch ( pImageEntry->second ) - { - case IMG_ATTRIBUTE_COMMAND: - { - pItem->aCommandURL = xAttribs->getValueByIndex( n ); - } - break; - - case IMG_ATTRIBUTE_HREF: - { - pItem->aURL = xAttribs->getValueByIndex( n ); - } - break; - default: - break; + break; } } } @@ -445,30 +242,14 @@ void SAL_CALL OReadImagesDocumentHandler::startElement( if ( pItem->aCommandURL.isEmpty() ) { delete m_pImages; - delete m_pExternalImages; m_pImages = nullptr; - m_pExternalImages = nullptr; OUString aErrorMessage = getErrorLineString(); aErrorMessage += "Required attribute 'image:command' must have a value!"; throw SAXException( aErrorMessage, Reference< XInterface >(), Any() ); } - // Check required attribute "href" - if ( pItem->aURL.isEmpty() ) - { - delete m_pImages; - delete m_pExternalImages; - m_pImages = nullptr; - m_pExternalImages = nullptr; - - OUString aErrorMessage = getErrorLineString(); - aErrorMessage += "Required attribute 'xlink:href' must have a value!"; - throw SAXException( aErrorMessage, Reference< XInterface >(), Any() ); - } - - if ( m_pExternalImages ) - m_pExternalImages->push_back( std::move(pItem) ); + m_pImages->pImageItemList->push_back( std::move(pItem) ); } break; @@ -505,24 +286,6 @@ void SAL_CALL OReadImagesDocumentHandler::endElement(const OUString& aName) } break; - case IMG_ELEMENT_EXTERNALIMAGES: - { - if ( m_pExternalImages && !m_aImageList.pExternalImageList ) - { - m_aImageList.pExternalImageList.reset( m_pExternalImages ); - } - - m_bExternalImagesStartFound = false; - m_pExternalImages = nullptr; - } - break; - - case IMG_ELEMENT_EXTERNALENTRY: - { - m_bExternalImageStartFound = false; - } - break; - default: break; } } @@ -621,11 +384,6 @@ void OWriteImagesDocumentHandler::WriteImagesDocument() } } - if ( m_aImageListsItems.pExternalImageList ) - { - WriteExternalImageList( m_aImageListsItems.pExternalImageList.get() ); - } - m_xWriteDocumentHandler->ignorableWhitespace( OUString() ); m_xWriteDocumentHandler->endElement( ELEMENT_NS_IMAGESCONTAINER ); m_xWriteDocumentHandler->ignorableWhitespace( OUString() ); @@ -644,51 +402,6 @@ void OWriteImagesDocumentHandler::WriteImageList( const ImageListItemDescriptor* m_aAttributeType, m_aAttributeValueSimple ); - pList->AddAttribute( m_aXMLXlinkNS + ATTRIBUTE_HREF, - m_aAttributeType, - pImageList->aURL ); - - if ( pImageList->nMaskMode == ImageMaskMode_Bitmap ) - { - pList->AddAttribute( m_aXMLImageNS + ATTRIBUTE_MASKMODE, - m_aAttributeType, - ATTRIBUTE_MASKMODE_BITMAP ); - - pList->AddAttribute( m_aXMLImageNS + ATTRIBUTE_MASKURL, - m_aAttributeType, - pImageList->aMaskURL ); - - if ( !pImageList->aHighContrastMaskURL.isEmpty() ) - { - pList->AddAttribute( m_aXMLImageNS + ATTRIBUTE_HIGHCONTRASTMASKURL, - m_aAttributeType, - pImageList->aHighContrastMaskURL ); - } - } - else - { - OUStringBuffer aColorStrBuffer( 8 ); - sal_Int64 nValue = sal_uInt32(pImageList->aMaskColor.GetRGBColor()); - - aColorStrBuffer.append( "#" ); - aColorStrBuffer.append( OUString::number( nValue, 16 )); - - pList->AddAttribute( m_aXMLImageNS + ATTRIBUTE_MASKCOLOR, - m_aAttributeType, - aColorStrBuffer.makeStringAndClear() ); - - pList->AddAttribute( m_aXMLImageNS + ATTRIBUTE_MASKMODE, - m_aAttributeType, - ATTRIBUTE_MASKMODE_COLOR ); - } - - if ( !pImageList->aHighContrastURL.isEmpty() ) - { - pList->AddAttribute( m_aXMLImageNS + ATTRIBUTE_HIGHCONTRASTURL, - m_aAttributeType, - pImageList->aHighContrastURL ); - } - m_xWriteDocumentHandler->startElement( ELEMENT_NS_IMAGES, xList ); m_xWriteDocumentHandler->ignorableWhitespace( OUString() ); @@ -708,10 +421,6 @@ void OWriteImagesDocumentHandler::WriteImage( const ImageItemDescriptor* pImage ::comphelper::AttributeList* pList = new ::comphelper::AttributeList; Reference< XAttributeList > xList( static_cast<XAttributeList *>(pList) , UNO_QUERY ); - pList->AddAttribute( m_aXMLImageNS + ATTRIBUTE_BITMAPINDEX, - m_aAttributeType, - OUString::number( pImage->nIndex ) ); - pList->AddAttribute( m_aXMLImageNS + ATTRIBUTE_COMMAND, m_aAttributeType, pImage->aCommandURL ); @@ -723,53 +432,6 @@ void OWriteImagesDocumentHandler::WriteImage( const ImageItemDescriptor* pImage m_xWriteDocumentHandler->ignorableWhitespace( OUString() ); } -void OWriteImagesDocumentHandler::WriteExternalImageList( const ExternalImageItemListDescriptor* pExternalImageList ) -{ - m_xWriteDocumentHandler->startElement( ELEMENT_NS_EXTERNALIMAGES, m_xEmptyList ); - m_xWriteDocumentHandler->ignorableWhitespace( OUString() ); - - for (const auto & i : *pExternalImageList) - { - const ExternalImageItemDescriptor* pItem = i.get(); - WriteExternalImage( pItem ); - } - - m_xWriteDocumentHandler->ignorableWhitespace( OUString() ); - m_xWriteDocumentHandler->endElement( ELEMENT_NS_EXTERNALIMAGES ); - m_xWriteDocumentHandler->ignorableWhitespace( OUString() ); -} - -void OWriteImagesDocumentHandler::WriteExternalImage( const ExternalImageItemDescriptor* pExternalImage ) -{ - ::comphelper::AttributeList* pList = new ::comphelper::AttributeList; - Reference< XAttributeList > xList( static_cast<XAttributeList *>(pList) , UNO_QUERY ); - - // save required attributes - pList->AddAttribute( m_aAttributeXlinkType, - m_aAttributeType, - m_aAttributeValueSimple ); - - if ( !pExternalImage->aURL.isEmpty() ) - { - pList->AddAttribute( m_aXMLXlinkNS + ATTRIBUTE_HREF, - m_aAttributeType, - pExternalImage->aURL ); - } - - if ( !pExternalImage->aCommandURL.isEmpty() ) - { - pList->AddAttribute( m_aXMLImageNS + ATTRIBUTE_COMMAND, - m_aAttributeType, - pExternalImage->aCommandURL ); - } - - m_xWriteDocumentHandler->startElement( ELEMENT_NS_EXTERNALENTRY, xList ); - m_xWriteDocumentHandler->ignorableWhitespace( OUString() ); - - m_xWriteDocumentHandler->endElement( ELEMENT_NS_EXTERNALENTRY ); - m_xWriteDocumentHandler->ignorableWhitespace( OUString() ); -} - } // namespace framework /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |