API-CHANGE - dropping string properties which use vnd.sun.star.GraphicObject URL

classic Classic list List threaded Threaded
21 messages Options
Next » 12
Tomaž Vajngerl Tomaž Vajngerl
Reply | Threaded
Open this post in threaded view
|

API-CHANGE - dropping string properties which use vnd.sun.star.GraphicObject URL

Hi,

I'm working on image handling re-work [1] [2] [3] and I need to drop
the GraphicURL (and similar properties like BackGraphicURL - see [3]
and most of the changes should be contained in [4] patch) of type
String and use a property of the type XGraphic. The reason is to make
reference-counting safe, which means that exposing internal URL's
(URLs with prefix vnd.sun.star.GraphicObject) will go away and
XGraphic will be used instead. Most of the details are written in [2]
and [3] so I won't write it here again.

[1] https://wiki.documentfoundation.org/Development/Budget2017#Image_handling_re-work
[2] https://tomazvajngerl.blogspot.com/2018/01/improving-image-handling-in-libreoffice.html
[3] https://tomazvajngerl.blogspot.com/2018/03/improving-image-handling-in-libreoffice.html
[4] https://gerrit.libreoffice.org/51201

Best Regards, Tomaž
_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
Thorsten Behrens-6 Thorsten Behrens-6
Reply | Threaded
Open this post in threaded view
|

Re: API-CHANGE - dropping string properties which use vnd.sun.star.GraphicObject URL

Tomaž Vajngerl wrote:
> I'm working on image handling re-work [1] [2] [3] and I need to drop
> the GraphicURL
>
[snip]

Hey Tomaž,

thx for the heads-up, and thx for currently only deprecating the
GraphicURL properties. Especially for inserting graphics into
documents, that's been the documented way since ~forever, so there's a
ton of extensions and macros out there relying on that.

Is inserting graphics via the URL property something that you plan to
still support after the rework?

Cheers,

-- Thorsten

_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice

signature.asc (968 bytes) Download Attachment
SOS SOS
Reply | Threaded
Open this post in threaded view
|

Re: API-CHANGE - dropping string properties which use vnd.sun.star.GraphicObject URL

In reply to this post by Tomaž Vajngerl
Hallo Tomaž,
We are heavy users off the Image API so lots off code repair ahead :-)
Reading your blog comments, it is not clear for me where the Original
ImageURL (URL adress on a server) could been stored.
Can you add a aditional propterty to the graphicobject or to the graphic ?
We mostly uses a lowres images for the editing work,  the Images are not
"linked" but stays  in the document, and then just before printing we
replace the lowres images with Highres Images.
Sill we (miss) use  the graphicobject "title" property to store the
Orginal image URL's. needed to replace lowres with highres images.
Greetz

Fenand

On 13/03/2018 10:54, Tomaž Vajngerl wrote:

> Hi,
>
> I'm working on image handling re-work [1] [2] [3] and I need to drop
> the GraphicURL (and similar properties like BackGraphicURL - see [3]
> and most of the changes should be contained in [4] patch) of type
> String and use a property of the type XGraphic. The reason is to make
> reference-counting safe, which means that exposing internal URL's
> (URLs with prefix vnd.sun.star.GraphicObject) will go away and
> XGraphic will be used instead. Most of the details are written in [2]
> and [3] so I won't write it here again.
>
> [1] https://wiki.documentfoundation.org/Development/Budget2017#Image_handling_re-work
> [2] https://tomazvajngerl.blogspot.com/2018/01/improving-image-handling-in-libreoffice.html
> [3] https://tomazvajngerl.blogspot.com/2018/03/improving-image-handling-in-libreoffice.html
> [4] https://gerrit.libreoffice.org/51201
>
> Best Regards, Tomaž
> _______________________________________________
> LibreOffice mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/libreoffice

_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
Tomaž Vajngerl Tomaž Vajngerl
Reply | Threaded
Open this post in threaded view
|

Re: API-CHANGE - dropping string properties which use vnd.sun.star.GraphicObject URL

In reply to this post by Thorsten Behrens-6
Hi,

On Tue, Mar 13, 2018 at 8:06 PM, Thorsten Behrens <[hidden email]> wrote:

> Tomaž Vajngerl wrote:
>> I'm working on image handling re-work [1] [2] [3] and I need to drop
>> the GraphicURL
>>
> [snip]
>
> Hey Tomaž,
>
> thx for the heads-up, and thx for currently only deprecating the
> GraphicURL properties. Especially for inserting graphics into
> documents, that's been the documented way since ~forever, so there's a
> ton of extensions and macros out there relying on that.
>
> Is inserting graphics via the URL property something that you plan to
> still support after the rework?

Just for clarification - they are marked deprecated in the idl files
for now, but in the code they don't exist anymore. If the properties
should still exist for backwards compatibility then someone will have
to come up with a behavior how this should work. The assumption all
along the re-work was that they will be removed.

> Cheers,
>
> -- Thorsten

Regards, Tomaž
_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
Tomaž Vajngerl Tomaž Vajngerl
Reply | Threaded
Open this post in threaded view
|

Re: API-CHANGE - dropping string properties which use vnd.sun.star.GraphicObject URL

In reply to this post by SOS
Hi,

On Tue, Mar 13, 2018 at 8:54 PM, sos <[hidden email]> wrote:

> Hallo Tomaž,
> We are heavy users off the Image API so lots off code repair ahead :-)
> Reading your blog comments, it is not clear for me where the Original
> ImageURL (URL adress on a server) could been stored.
> Can you add a aditional propterty to the graphicobject or to the graphic ?
> We mostly uses a lowres images for the editing work,  the Images are not
> "linked" but stays  in the document, and then just before printing we
> replace the lowres images with Highres Images.
> Sill we (miss) use  the graphicobject "title" property to store the Orginal
> image URL's. needed to replace lowres with highres images.

Yes' I'll add a way to expose the URL that is contained inside the
XGraphic or add a new interface for that so it will be possible in the
new code to do that. Currently only VCL Graphic object has this so I
just convert XGraphic to Graphic in filters, but that's not possible
to do in extensions :)

> Greetz
>
> Fenand

Regards, Tomaž
_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
SOS SOS
Reply | Threaded
Open this post in threaded view
|

Re: API-CHANGE - dropping string properties which use vnd.sun.star.GraphicObject URL


On 13/03/2018 13:23, Tomaž Vajngerl wrote:

> Hi,
>
> On Tue, Mar 13, 2018 at 8:54 PM, sos <[hidden email]> wrote:
>> Hallo Tomaž,
>> We are heavy users off the Image API so lots off code repair ahead :-)
>> Reading your blog comments, it is not clear for me where the Original
>> ImageURL (URL adress on a server) could been stored.
>> Can you add a aditional propterty to the graphicobject or to the graphic ?
>> We mostly uses a lowres images for the editing work,  the Images are not
>> "linked" but stays  in the document, and then just before printing we
>> replace the lowres images with Highres Images.
>> Sill we (miss) use  the graphicobject "title" property to store the Orginal
>> image URL's. needed to replace lowres with highres images.
> Yes' I'll add a way to expose the URL that is contained inside the
> XGraphic or add a new interface for that so it will be possible in the
> new code to do that. Currently only VCL Graphic object has this so I
> just convert XGraphic to Graphic in filters, but that's not possible
> to do in extensions :)
Tomaž,
Fine, you will complete our API with a tool to go from XGraphic to
Graphic  !
Can you also made something less complex for translating a storedimage
to Xgraphic , now it can been done using the GraphicProvider (storing to
a Tempimage) and even more complicated when use streams.

How make a Xgraphic from stored Orginal Image.

function MakeXGraphic(originalPath,B,H)
  sfile = converttoURL(originalPath)
  graphic =  getGraphicFromUrl(sFile)
  storeGraphicToURL(graphic,B,H,converttoURL("C:\" & susername &
"temp\GridGraphic.jpg"))
  xgraphic =  getGraphicFromUrl(converttoURL("C:\" & susername &
"temp\GridGraphic.jpg"))
  MakeXGraphic = xgraphic
end function

function getGraphicFromUrl(sFileUrl as String) as Object
   oProvider = createUnoService("com.sun.star.graphic.GraphicProvider")
   Dim oPropsIN(1)as new com.sun.star.beans.PropertyValue
   oPropsIN(0).Name  = "URL"
   oPropsIN(0).Value = sFileUrl
   oPropsIN(1).Name  = "FilterData"
   oPropsIN(1).Value = aFilterData()
   getGraphicFromUrl = oProvider.queryGraphic(oPropsIN())
end function

sub storeGraphicToURL(xgraphic,B,H,exportURL)
gProvider = createUnoService("com.sun.star.graphic.GraphicProvider")
Dim bArgs(2) as new com.sun.star.beans.PropertyValue
'creating filter data
     Dim aFilterData (3) as new com.sun.star.beans.PropertyValue
'properties valid for all filters
aFilterData(0).Name  = "PixelWidth"        '
aFilterData(0).Value = B
aFilterData(1).Name  = "PixelHeight"
aFilterData(1).Value = H

'filter data for the image/jpeg MediaType
aFilterData(2).Name  ="Quality"
aFilterData(2).Value = 90
aFilterData(3).Name  ="ColorMode"
aFilterData(3).Value = 0

       bArgs(0).Name = "URL"
       bArgs(0).Value = exportURL
       bArgs(1).Name = "MimeType"
       bArgs(1).Value = "image/jpeg"
       bArgs(2).Name = "FilterData"
       bArgs(2).Value = aFilterdata
       gProvider.storeGraphic(xgraphic,bArgs())
end sub

>
>> Greetz
>>
>> Fenand
> Regards, Tomaž

_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
Thorsten Behrens-6 Thorsten Behrens-6
Reply | Threaded
Open this post in threaded view
|

Re: API-CHANGE - dropping string properties which use vnd.sun.star.GraphicObject URL

In reply to this post by Tomaž Vajngerl
Hi Tomaž,

Tomaž Vajngerl wrote:
> Just for clarification - they are marked deprecated in the idl files
> for now, but in the code they don't exist anymore.
>
Hmm, but e.g. for GraphicObjectShape, the property is not optional, so
that's an API breakage?

> If the properties should still exist for backwards compatibility
> then someone will have to come up with a behavior how this should
> work. The assumption all along the re-work was that they will be
> removed.
>
I guess the most wide-spread use case is the one for
importing/inserting graphics into a document, see e.g.:

* https://forum.openoffice.org/en/forum/viewtopic.php?f=25&t=45003
* https://forum.openoffice.org/en/forum/viewtopic.php?t=50114
* https://forum.openoffice.org/en/forum/viewtopic.php?f=25&t=83692

and our own samples. Since those have little to do with the
vnd.sun.star.GraphicObject internal stuff you're removing, that should
still be supportable?

Cheers,

-- Thorsten

_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice

signature.asc (968 bytes) Download Attachment
Tomaž Vajngerl Tomaž Vajngerl
Reply | Threaded
Open this post in threaded view
|

Re: API-CHANGE - dropping string properties which use vnd.sun.star.GraphicObject URL

Hi,

I'm have the API changes pending in gerrit [1] now (they need to pass
the build) which are due to image handling rework. All the old
properties that used the vnd.sun.star.GraphicObject URL scheme are
still functioning, but only to set the property and only when an
external URLs is provided (it loads the XGraphic from the URL). When
getting the URL a RuntimeException is thrown. I have written the new
behavior in the property description and marked the property as
deprecated.

The following properties were changed and are now "set-only":
- FillBitmapURL -> FillBitmap
- GraphicURL -> GraphicBitmap
- ImageURL -> Graphic
- SymbolBitmapURL -> SymbolBitmap
- GraphicURL -> Graphic
- BackGraphicURL -> BackGraphic
- HeaderBackGraphicURL -> HeaderBackGraphic
- FooterBackGraphicURL -> FooterBackGraphic
- ParaBackGraphicURL -> ParaBackGraphic

The following properties were changed and are now "set-only" but not in API:
- ReplacementGraphicURL -> ReplacementGraphic

The following properties were not in API and are removed:
- ThumbnailGraphicURL -> ThumbnailGraphic
- HeaderFillBitmapURL -> HeaderFillBitmap
- FooterFillBitmapURL -> FooterFillBitmap

[1] https://gerrit.libreoffice.org/#/q/owner:quikee%2540gmail.com+status:open

Regards, Tomaž
_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
drew-gmail drew-gmail
Reply | Threaded
Open this post in threaded view
|

Re: API-CHANGE - dropping string properties which use vnd.sun.star.GraphicObject URL

Howdy list,

Reading over this, and sorry if this is a naive question, but I was wondering if this could effect the way image controls work in forms and reports.

When an imagecontrol on a form (or Report Builder report) is linked to a character field in a data table the control reads a URL from the data field and loads the image into the control as the user moves through the table or as a report is generated.

For a Form, the user can also insert a graphic into the control via the GUI and table column with the URL. 

Like I say I don't have enough detail knowledge of how this works, under the hood, to know if what is changing here could be an issue or not, so thought I would ask.

Thank you for your time in advance.


 

On Fri, Apr 27, 2018 at 7:06 AM, Tomaž Vajngerl <[hidden email]> wrote:
Hi,

I'm have the API changes pending in gerrit [1] now (they need to pass
the build) which are due to image handling rework. All the old
properties that used the vnd.sun.star.GraphicObject URL scheme are
still functioning, but only to set the property and only when an
external URLs is provided (it loads the XGraphic from the URL). When
getting the URL a RuntimeException is thrown. I have written the new
behavior in the property description and marked the property as
deprecated.

The following properties were changed and are now "set-only":
- FillBitmapURL -> FillBitmap
- GraphicURL -> GraphicBitmap
- ImageURL -> Graphic
- SymbolBitmapURL -> SymbolBitmap
- GraphicURL -> Graphic
- BackGraphicURL -> BackGraphic
- HeaderBackGraphicURL -> HeaderBackGraphic
- FooterBackGraphicURL -> FooterBackGraphic
- ParaBackGraphicURL -> ParaBackGraphic

The following properties were changed and are now "set-only" but not in API:
- ReplacementGraphicURL -> ReplacementGraphic

The following properties were not in API and are removed:
- ThumbnailGraphicURL -> ThumbnailGraphic
- HeaderFillBitmapURL -> HeaderFillBitmap
- FooterFillBitmapURL -> FooterFillBitmap

[1] https://gerrit.libreoffice.org/#/q/owner:quikee%2540gmail.com+status:open

Regards, Tomaž
_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice


_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
Tomaž Vajngerl Tomaž Vajngerl
Reply | Threaded
Open this post in threaded view
|

Re: API-CHANGE - dropping string properties which use vnd.sun.star.GraphicObject URL

Hi,

On Sat, Apr 28, 2018 at 10:34 AM, Drew Jensen
<[hidden email]> wrote:

> Howdy list,
>
> Reading over this, and sorry if this is a naive question, but I was
> wondering if this could effect the way image controls work in forms and
> reports.
>
> When an imagecontrol on a form (or Report Builder report) is linked to a
> character field in a data table the control reads a URL from the data field
> and loads the image into the control as the user moves through the table or
> as a report is generated.
>
> For a Form, the user can also insert a graphic into the control via the GUI
> and table column with the URL.
>
> Like I say I don't have enough detail knowledge of how this works, under the
> hood, to know if what is changing here could be an issue or not, so thought
> I would ask.
>
> Thank you for your time in advance.

Yes, it does effect the image controls but just in the way that you
can't use the internal URL with the scheme
vnd.sun.star.GraphicObject:<ID>. In that case you will need to load
the image first with XGraphicProvider and set the "Graphic" property
instead of the "ImageURL" property.

It would be good to try this use cases out with the Report Builder
with the current master.

Regards, Tomaž
_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
SOS SOS
Reply | Threaded
Open this post in threaded view
|

Re: API-CHANGE - dropping string properties which use vnd.sun.star.GraphicObject URL

Tomaž,

How should we find out if a image is embeded in the doc or not ?

we uses for now:

if left(oCheckgraphic1.GraphicURL,27) <> "vnd.sun.star.GraphicObject:" then

Greetz

Fernand


_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
SOS SOS
Reply | Threaded
Open this post in threaded view
|

Re: API-CHANGE - dropping string properties which use vnd.sun.star.GraphicObject URL

In reply to this post by Tomaž Vajngerl
Tomaž,

when the image is "linked" how can we find (using the API) the URL where
the image is linked to ?


Greetz

Fernand


_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
SOS SOS
Reply | Threaded
Open this post in threaded view
|

Re: API-CHANGE - dropping string properties which use vnd.sun.star.GraphicObject URL

In reply to this post by Tomaž Vajngerl
Tomaž,

How can we set the URL (using the API) for inserting a linked image

there is no "setGraphicURL" method ?

Greetz

Fernand


_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
drew-gmail drew-gmail
Reply | Threaded
Open this post in threaded view
|

Re: API-CHANGE - dropping string properties which use vnd.sun.star.GraphicObject URL

In reply to this post by Tomaž Vajngerl
Howdy,

Not at all sure this was from anything your work did, but to give you a heads up;

Working with the latest daily build (may 4th) under Ubuntu 18.10 (64bit).


The issue includes two test ODB files, almost identical. Single table, form with image control, report (RB) with image control and 3 test images.

File one stores the images in the embedded database. File two stores a URL to external image files.

File one (Image binary in table) works as expected under 6.1 for both the form and report. However It fails to display any image data after migration to a Firebird data engine.

File two (URL in table)  works as expected before and after the migration to Firebird.

So, as I said thought I would just let you know.

Best wishes, Drew


On Sat, Apr 28, 2018 at 8:01 PM, Tomaž Vajngerl <[hidden email]> wrote:
Hi,

On Sat, Apr 28, 2018 at 10:34 AM, Drew Jensen
<[hidden email]> wrote:
> Howdy list,
>
> Reading over this, and sorry if this is a naive question, but I was
> wondering if this could effect the way image controls work in forms and
> reports.
>
> When an imagecontrol on a form (or Report Builder report) is linked to a
> character field in a data table the control reads a URL from the data field
> and loads the image into the control as the user moves through the table or
> as a report is generated.
>
> For a Form, the user can also insert a graphic into the control via the GUI
> and table column with the URL.
>
> Like I say I don't have enough detail knowledge of how this works, under the
> hood, to know if what is changing here could be an issue or not, so thought
> I would ask.
>
> Thank you for your time in advance.

Yes, it does effect the image controls but just in the way that you
can't use the internal URL with the scheme
vnd.sun.star.GraphicObject:<ID>. In that case you will need to load
the image first with XGraphicProvider and set the "Graphic" property
instead of the "ImageURL" property.

It would be good to try this use cases out with the Report Builder
with the current master.

Regards, Tomaž


_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
Pusteblumi Pusteblumi
Reply | Threaded
Open this post in threaded view
|

Re: API-CHANGE - dropping string properties which use vnd.sun.star.GraphicObject URL

In reply to this post by Tomaž Vajngerl
Hi Tomaž,

sorry if that is a stupid question, but...

as Thorsten wrote, many macros make use of GraphicURL for inserting
graphics.
Is there any documentation what we need to change to make those macros work
again?
I'm no developer but just an ordinary user who has no clue what do do now...
;-)

To be more precise, I have the following code to insert a SVG file into a
Writer document:

' --------------------------------------------------------
Function ImportBitmapIntoWriter(sFile As String) As Object

        Dim oBitmaps As Object
        Dim sNewUrl As String
        Dim oDoc As Object
       
        oDoc = ThisComponent
       
        oBitmaps = oDoc.createInstance("com.sun.star.drawing.BitmapTable")
        ' If there is an older entry with that name, remove it:
        If oBitmaps.hasByName( "OOoLilyPond" ) Then
            oBitmaps.removeByName( "OOoLilyPond" )
        End If
       
        ' Load the image into the internal bitmap table:
               
        oBitmaps.insertByName( "OOoLilyPond", ConvertToURL(sFile) )  
        ' Up to here, everything works fine.
               
        sNewURL = oBitmaps.getByName( "OOoLilyPond" )  
        ' This line causes the error "Incorrect property value".
        ' Thus the following lines are not executed.
               
        oTextGraphic = oDoc.createInstance("com.sun.star.text.GraphicObject")
        oTextGraphic.GraphicURL = sNewURL
               
        ' do some more stuff...
End Function
' --------------------------------------------------------

The whole function can be found here (starting with line 235):
https://github.com/openlilylib/LO-ly/blob/master/extension/OOoLilyPond/Tools.xba
It's about the "OOoLilyPond" extension:
https://extensions.libreoffice.org/extensions/ooolilypond
https://github.com/openlilylib/LO-ly

(The thing is, I don't understand every step myself. The original developer
of the project has retired and I'm continuing his work...)

Best wishes and thanks for any help,
Klaus




--
Sent from: http://document-foundation-mail-archive.969070.n3.nabble.com/Dev-f1639786.html
_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
Miklos Vajna-4 Miklos Vajna-4
Reply | Threaded
Open this post in threaded view
|

Re: API-CHANGE - dropping string properties which use vnd.sun.star.GraphicObject URL

Hi,

On Thu, Aug 30, 2018 at 09:39:18AM -0700, Pusteblumi <[hidden email]> wrote:
>         ' Load the image into the internal bitmap table:
>
>         oBitmaps.insertByName( "OOoLilyPond", ConvertToURL(sFile) )  
> ' Up to here, everything works fine.
>
>         sNewURL = oBitmaps.getByName( "OOoLilyPond" )  
> ' This line causes the error "Incorrect property value".
> ' Thus the following lines are not executed.

The bitmap table gives you objects implementing the XBitmap interface,
not strings.

> oTextGraphic = oDoc.createInstance("com.sun.star.text.GraphicObject")
>         oTextGraphic.GraphicURL = sNewURL

This is reasonable, sounds like
<https://gerrit.libreoffice.org/#/c/58745/> should be backported to 6.1.

Regards,

Miklos

_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice

signature.asc (201 bytes) Download Attachment
Pusteblumi Pusteblumi
Reply | Threaded
Open this post in threaded view
|

Re: API-CHANGE - dropping string properties which use vnd.sun.star.GraphicObject URL

Hi,


Miklos Vajna-4 wrote
> sounds like
> &lt;https://gerrit.libreoffice.org/#/c/58745/&gt; should be backported to
> 6.1.

thanks for your help, Miklos.

Will this backport soon be available in a release?
Today, I tested with 6.1.1.2 (x64) and 6.2.0.0.alpha0+ (x64). The problem
persists in both versions.


Miklos Vajna-4 wrote
>>         sNewURL = oBitmaps.getByName( "OOoLilyPond" )  
> The bitmap table gives you objects implementing the XBitmap interface,
> not strings.

If there is something I should change in my code, I'd be thankful for any
help.  ;-)

Best wishes,
Klaus Blum



--
Sent from: http://document-foundation-mail-archive.969070.n3.nabble.com/Dev-f1639786.html
_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
Miklos Vajna-4 Miklos Vajna-4
Reply | Threaded
Open this post in threaded view
|

Re: API-CHANGE - dropping string properties which use vnd.sun.star.GraphicObject URL

Hi,

On Fri, Sep 14, 2018 at 12:50:16PM -0700, Pusteblumi <[hidden email]> wrote:
> Will this backport soon be available in a release?
> Today, I tested with 6.1.1.2 (x64) and 6.2.0.0.alpha0+ (x64). The problem
> persists in both versions.

It's in master and on its way to 6.1.2. Care to open a bugreport if it
still doesn't work on master?

> Miklos Vajna-4 wrote
> >>         sNewURL = oBitmaps.getByName( "OOoLilyPond" )  
> > The bitmap table gives you objects implementing the XBitmap interface,
> > not strings.
>
> If there is something I should change in my code, I'd be thankful for any
> help.  ;-)

The point is that getByName() of that bitmap table now gives you a
Graphic, not just a URL, which is a string reference to a memory
address, which may or may not be there by the time you would turn that
string reference back to a pointer.

This means the ideal code is the same as yours, but the sNewURL name is
a bit misleading as it's no longer an URL. Also later you should set the
"Graphic", not "GraphicURL" property when you use the Graphic.

But as said before, your code should work as-is unchanged for
compatibility reasons; if it doesn't, it's a bug to be fixed.

Regards,

Miklos

_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice

signature.asc (201 bytes) Download Attachment
Pusteblumi Pusteblumi
Reply | Threaded
Open this post in threaded view
|

Re: API-CHANGE - dropping string properties which use vnd.sun.star.GraphicObject URL

Hi,


Miklos Vajna-4 wrote
> The point is that getByName() of that bitmap table now gives you a
> Graphic, not just a URL

I now tested with the new 6.1.2 Release.
I still get an "incorrect property value" error with
      Dim sNewUrl As String
      sNewURL = oBitmaps.getByName( "OOoLilyPond" )  
but as soon as I declare sNewUrl as "Object" instead of "String", it works
now. (This was not yet the case in 6.1.1.)


Miklos Vajna-4 wrote
> But as said before, your code should work as-is unchanged for
> compatibility reasons; if it doesn't, it's a bug to be fixed.

Would it be possible to get the "old" code working despite the "wrong"
String type? If not, it would require different macro versions for different
LO releases.


Miklos Vajna-4 wrote
> It's in master and on its way to 6.1.2. Care to open a bugreport if it
> still doesn't work on master?

I'll try my best...  ;-) but it would help me to know what "expected
behaviour" is possible.
(And I'd like to put the same fixes for Draw and Impress on the wishlist.)

A big THANK YOU to everyone involved!

Regards,
Klaus Blum



--
Sent from: http://document-foundation-mail-archive.969070.n3.nabble.com/Dev-f1639786.html
_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
Miklos Vajna-4 Miklos Vajna-4
Reply | Threaded
Open this post in threaded view
|

Re: API-CHANGE - dropping string properties which use vnd.sun.star.GraphicObject URL

Hi,

On Thu, Oct 11, 2018 at 05:12:50AM -0700, Pusteblumi <[hidden email]> wrote:

>       Dim sNewUrl As String
>       sNewURL = oBitmaps.getByName( "OOoLilyPond" )  
> but as soon as I declare sNewUrl as "Object" instead of "String", it works
> now. (This was not yet the case in 6.1.1.)
>
>
> Miklos Vajna-4 wrote
> > But as said before, your code should work as-is unchanged for
> > compatibility reasons; if it doesn't, it's a bug to be fixed.
>
> Would it be possible to get the "old" code working despite the "wrong"
> String type? If not, it would require different macro versions for different
> LO releases.
Isn't it an option to just not declare the type? Basic is not a
statically typed language after all.

Regards,

Miklos

_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice

signature.asc (201 bytes) Download Attachment
Next » 12