summaryrefslogtreecommitdiff
path: root/include/LibreOfficeKit/LibreOfficeKit.h
AgeCommit message (Collapse)Author
2017-04-06lokit: make this build on windows, silence extra warningsThorsten Behrens
Change-Id: I78d5ce58d55d27eaa0256a0c1ddffed3a5f2cf91 Reviewed-on: https://gerrit.libreoffice.org/36175 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-02-28Run macro:// via LOKitKatarina Behrens
Change-Id: I54d3c734d86d4b44e1dfe1ad7728e2f51cd26d53 Reviewed-on: https://gerrit.libreoffice.org/34538 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2017-01-31Revert "Lok: support for batch API calls"Jan Holesovsky
This was for the moment removed from the online.git, so let's disable the API bits too before it shows this is really necessary. Reverts also: Revert "Lok: unittest batch API" Change-Id: I7bf3fe62d1e73b6f233992d51f587868a78f4bec
2017-01-23Lok: support for batch API callsAshod Nakashian
Mouse and keyboard operations typically come in batches, and often each results in tile invalidations and/or layout modifications. Processing each input event on its own, then processing the resulting output event is very costly and unecessary when we know there is more of the same. The new API adds support for batching such related input events by disabling the output events generated by Core until the batch is done. The client can then process the resulting events, which will be compressed and deduplicated. Change-Id: Id381dab807186d010021a8778ee440074a739920 Reviewed-on: https://gerrit.libreoffice.org/33402 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2016-11-14lok: add character parameter to renderFontHenry Castro
When client side request special character, it is very useful to send a preview of the rendered font character Conflicts: desktop/source/lib/init.cxx Change-Id: I1f5727163dfcc861add121e616bdb17881c28197 Reviewed-on: https://gerrit.libreoffice.org/30784 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2016-09-16sfx2: add SfxLokHelper::getViewIdsMiklos Vajna
and also expose it in the LOK API. This way clients don't have to keep track of what views they created / destroyed, they can also get an up to date list with this method. Change-Id: Ibaee42c545803e04a31e7c13ab6ec370b99465c4
2016-09-16lok::Document: rename getViews() to getViewsCount()Miklos Vajna
As this only returns the number of views, not the actual views. Since it's a rename, it's just an API (but not an ABI) change. Change-Id: Ib4f0ea56a90e5ae9c80ee1781aa2f29aff4259e7
2016-09-15Revert "LOK: we use callbacks latch for not missing messages sent very early"Marco Cecchetti
This reverts commit bbae556d12e4edf7795b0b5643df77fd8cdbdacd. Change-Id: If1370751b612ff06ef5be13e8a4017af7dc34a7c Reviewed-on: https://gerrit.libreoffice.org/28908 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit c0dd075d52409031876f5bc3923062ba5847fd53) Reviewed-on: https://gerrit.libreoffice.org/28929 Reviewed-by: Marco Cecchetti <mrcekets@gmail.com> Tested-by: Marco Cecchetti <mrcekets@gmail.com>
2016-09-11LOK: we use callbacks latch for not missing messages sent very earlyMarco Cecchetti
- lok::Document::setCallbackLatch: used on document load for set/unset the latch - now cell cursors of other views are correctly notified to the new view Change-Id: Ife6dca0e3e329b801d44070f55869afe95a2f313 Reviewed-on: https://gerrit.libreoffice.org/28812 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Marco Cecchetti <mrcekets@gmail.com>
2016-06-30LOK: change back type of view ids to intMiklos Vajna
Commit 45c2410041c48c22bd860efb42d4daadad7869b0 (LOK: change type of view ids to uintptr_t, 2016-06-17) fixed the problem of view IDs being reused for the price of random IDs, which makes debugging harder. Implement a simple shellToView() function that makes sure view IDs are not reused, and stop exposing view shell pointer addresses, which allows reverting the LOK API change. Change-Id: I63089e6de08ee7e1c7706757d43a11f6cf4d6e06 Reviewed-on: https://gerrit.libreoffice.org/26773 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2016-06-21lok: Expose LO version informationPranav Kant
Change-Id: Ided924e928c04385457c7a2e231fdf57e7e38970
2016-06-17LOK: change type of view ids to uintptr_tMiklos Vajna
This fixes the following problem: - createView() = 1 - createView() = 2 - destroyView(1) and then view #2 was renumbered to 1. Instead expose the pointer address of the SfxViewShell as the ID, which is not changing in such a situation. Note that the SfxViewShell <-> ID mapping is an implementation detail of SfxLokHelper, and only pointers are converted to IDs, user-supplied IDs are never converted back to pointers. Change-Id: If79ef8b99ba391011b5d82b219ad13447d44cd5a Reviewed-on: https://gerrit.libreoffice.org/26423 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2016-05-09Allow painting for arbitrary partAshod Nakashian
Painting should not cause any state changes, but to paint a tile on a different part than the current has to change the document, which sends notifications to all clients. A new API, paintPartTile, allows for painting tiles on any part without sending change of part notifications. Furthermore, because we block notifications during this operation, no tile invalidation is issued due to changing of the part. One issue remains in the cases when the LO Core resets the cursor position internally and we resume editing after painting, the cursor might be at the top of the page. This needs fixing separately. Change-Id: If19bd1c90ecad4d5ed5e8d09513741b7994fa6e5 Reviewed-on: https://gerrit.libreoffice.org/24698 Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-04-21lok: getPartHash should be at the end, it is a new API call.Jan Holesovsky
Also add it to the init.cxx so that it is actually used. Change-Id: I255411158d0822718116ac05aad1ee925a9a7a9a
2016-04-21lokit: add getPartHashHenry Castro
In the tiled rendering case, the slides, no matter if it is inserted or deleted, the part names always return sequential names i.e. Slide 1, Slide 2, ..., Slide N. However the client side needs to know what slides had been deleted or inserted, so it is necessary to send the hash codes. Change-Id: I0e9caeec660c3e42dd9f751bdce7690f9ad365a1 Reviewed-on: https://gerrit.libreoffice.org/24267 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2016-02-02LOK: add Document::setClientVisibleArea()Miklos Vajna
... and implement it in Writer. Otherwise there is no way we can perform e.g. page down in an expected way. Without this, the core visible area depends on the zoom in the document, and the client visible area can be something entirely different. Change-Id: Iadfb5a225da09a2551ffa41ddf503bb3d22b3eae
2016-01-29LibreOfficeKit: add doxygen since tag to _LibreOfficeKitClass structRiccardo Magliocchetti
So it's easier for people adding language bindings know the libreoffice version they depend on. Change-Id: Ibe4526156663bb1250558b3f0e8517747a8add66 Reviewed-on: https://gerrit.libreoffice.org/21873 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
2016-01-27libreofficekit: password interaction optional and off by defaultMichael Stahl
Add setOptionalFeatures() function that clients must call during initialization, and enum LibreOfficeKitOptionalFeatures. Change-Id: I73035193c87033052921c3aad94fdc057fe81111 Reviewed-on: https://gerrit.libreoffice.org/21809 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
2016-01-25libreofficekit: ask for password when loading encrypted documentsMichael Stahl
Change-Id: I3b3b0c0e64965280c24842b0cf70a21b8abb4dfb
2016-01-21Clean up lok::Office::freeError()Miklos Vajna
- let it take a non-const pointer, just like free() or g_free() does - remove lok::Document::freeError(), which was declared, but not implemented - move the declaration at the end of the stable API, but before the unstable section Change-Id: I5a8ced61fc87641dc2fa0ea3615a350361fae3a1
2016-01-20freeError function moved to the end of the listOliver Specht
Change-Id: I4aed102b25ddcd5f2e8fa03395e2ffd89c858bb9 Reviewed-on: https://gerrit.libreoffice.org/21619 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Oliver Specht <oliver.specht@cib.de>
2016-01-19Make LibreOffice kit usable on windowsOliver Specht
Uses Ascii variants of LoadLibrary,Get/SetEnvironmentVariable_A_ and adds a freeError function includes windows.h instead of pre/postwin.h Change-Id: I88b7e3ed3818078efec5688e207da47dc4049b98 Reviewed-on: https://gerrit.libreoffice.org/21600 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Oliver Specht <oliver.specht@cib.de>
2015-12-07Let LIBO_INTERNAL_ONLY imply LOK_USE_UNSTABLE_APIMiklos Vajna
Change-Id: Ifbed5e534ba79d32b7188bb7fb7108338b6e124d
2015-11-30LOK: renderFont methodMihai Varga
Renders the given font in a virtual output device. For now it iterates over a list of fonts until it finds the one that matches the requested font. Change-Id: Ie4ecc3a1441519840d8f4f4a890e92670759b4fc
2015-11-23LOK: add Document::getTileMode()Miklos Vajna
So that clients can know if they get old-style RGBA or new-style ARGB output in paintTile(). Change-Id: Icfde4b3259444b3524e64478ccd976664a3fe0ed
2015-11-18lok::Document::initializeForRendering: support init. argumentsMiklos Vajna
Change-Id: I8aaf19a50f25f495cb87fba7ff6a4b0f56ed7d80
2015-11-13LOK: setClientZoom() - sets the client zoom levelMihai Varga
We need to know the client's view level to correctly handle the mouse events in calc. PaintTile() set a zoom level that corresponds to the requested tiles and previously postMouseEvent would call SetZoom(1,1). Now we can make use of knowing the client's view level and call SetZoom() with the correct parameters Change-Id: I34b5afcdcc06a671a8ac92c03e87404e42adf4cd Conflicts: sc/source/ui/unoobj/docuno.cxx
2015-11-03lok: Introduce LOK_CALLBACK_UNO_COMMAND_RESULT callback.Jan Holesovsky
Posting of the .uno:Something commands is asynchronous. To be able to find out when eg. .uno:Save finished, this commit introduces a callback that fires when that happens. To be able to receive such a notification, the appropriate postUnoCommand() must be called with 'true' as the parameter for bNotifyWhenFinished (defaults to 'false'). Change-Id: I254939ebc8ea5f309ae39686dcaaeddd5148b0c9
2015-10-22LOK: add Document::paste()Miklos Vajna
Change-Id: I34998229e7f5cac4c62c859861783be3c161f9bf
2015-10-05LOK: added the button type and key modifier to postMouseEvent()Mihai Varga
To get a better functionality we need to know the button type (left, right, middle). We also need the key modifier (ctrl, alt, shift) for actions such as ctrl+click (to open a link) or shift+click to select Change-Id: Iaccb93b276f8a6870dd41cc5132dbb85d2bbf71b
2015-09-29lok: add Document::getPartPageRectangles()Miklos Vajna
Change-Id: I20acd44f7a81471982ba96ad3894a9124e035c5f
2015-09-25lok: add Office::getFilterTypes()Miklos Vajna
Change-Id: I3b1f4e11f2495e5ccb41f85802f243c0190695ee
2015-09-21lokdocview: set view before calling lok::Document member functionsMiklos Vajna
getTextSelection() is still to be done, but has to be moved to the widget first. Change-Id: I780a31f1dbce38b2b7398bfdacbbc1c40881229d
2015-09-21Add missing lok::Document::setPartMode() wrapperMiklos Vajna
Change-Id: I5dd5f0cfb8b34621b18a35be682249e042d9b173
2015-09-21LOK: make getViews() be a member function of DocumentMiklos Vajna
Just to be consistent, as all other view-related member functions are there, too. No real impact, as only the unit test uses this so far, and it always works with a single document. Change-Id: I46f1ed8265ab95017986ab45c1b510e961192241
2015-09-21lok::Document: add get/setView()Miklos Vajna
Change-Id: Ic3bce8f01d7e048e853c063c4bce1255845c60d0
2015-09-21lok::Document: add destroyView()Miklos Vajna
Change-Id: Id9e92593217541b4123e95279019cec3c958056c
2015-09-21lok::Office: add getViews()Miklos Vajna
Change-Id: Iabfb0f2a19106dc4a6bdae45f9e85d76c68a973e
2015-09-21lok::Document: add createView()Miklos Vajna
Change-Id: Ic871ec41992b611b10958799b2dc12375a91efe4
2015-09-10LOK: added a general getCommandValues methodMihai Varga
This method returns a JSON mapping of the posible values for the given command (e.g. .uno:StyleApply, etc). returns: {commandName: "cmdName", commandValues: {json_of_cmd_values}} I've fixed the unit test this time Change-Id: I30b0fba8ba1db33dd79f4b46026d293b9ea72402
2015-09-04Revert "LOK: added a general getCommandValues method"Mihai Varga
This reverts commit 9640dcea46dd3201aa4c27f6a3918f7419288a2a.
2015-09-04LOK: added a general getCommandValues methodMihai Varga
This method returns a JSON mapping of the posible values for the given command (e.g. .uno:StyleApply, etc). returns: {commandName: "cmdName", commandValues: {json_of_cmd_values}} Change-Id: Ic8f970d077af6be9bc226f72f725b6cdf2d4c160
2015-08-18lok::Document getStyles methodMihai Varga
This method returns a JSON mapping of style families to a list of styles from the corresponding family. Will be used to know and apply styles in tiledrendering. Change-Id: I0aa395c40b9573920ade44255f97c077475ae5f1
2015-06-19LOK: return used format in Document::getTextSelection()Miklos Vajna
This allows requesting text/html, with falling back to plain text if necessary. Change-Id: Ie6d4e0e173311ba018553043b6a869abf193bf6f Reviewed-on: https://gerrit.libreoffice.org/16377 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2015-06-17LOK: add lok::Document::getTextSelection()Miklos Vajna
I.e. the copy part of copy&paste. Only the Writer bits for now. Change-Id: Ia003e76e3b234735f472cdef125514f9771d8640
2015-05-06Add support for progress bar callbacks to LibreOfficeKitTor Lillqvist
The libsofficeapp and LibreOfficeKit API bits. Change-Id: I4efe9880dfa4e0387f05b50e64b5eaee448e0925
2015-04-22lok::Document::postUnoCommand: allow passing argumentsMiklos Vajna
Change-Id: I6c24a8e392473f3985d3bde9b76a3148fd03bc9a
2015-04-16The mode lines says we use 4-column indentation steps, so do that thenTor Lillqvist
Also, be consistent in spacing, indentation and alignment. Inconsistency is infuritating. In this case, I decided to drop the attempts to align the names of "methods", and their parameter lists. They were not all aligned anyway, and some of those that tried to be in fact were off by one column. Also, consistently use a blank line between the method pointers, If you feel strongly about this and *want* such inter-line alignment, by all means re-introduce it, but at least try to be consistent then, and do it for all methods. Change-Id: I382ca0eaf8533ebc3f829ebd978a9676ebcefaf0
2015-04-07LOK: document remaining Document member functionsMiklos Vajna
Change-Id: Idc5836317c01780bb5078d39d8c31775886027d0
2015-03-20Drop paintTile's row stride output parameter that nobody is interested inTor Lillqvist
Change-Id: I166b4b713c2ea52c62c52045bb2073b6d84c1547