Commit graph

229 commits

Author SHA1 Message Date
Noel Grandin
7e4a3eee79 loplugin:unusedmethods
Change-Id: Ib724da1f07be9e8f4d0d505f7f2886990cab661f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97022
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-06-24 22:16:24 +02:00
Noel Grandin
aabcf90da9 tdf#97177 speedup loading of large ODS file
drop ScSimpleRangeList and just use ScRangeList, which saves us a
conversion step.

Then teach ScRangeList to do a simple merge, since we are loading in row
order, and can just check the last few entries.

Then fix a case of optimisation doing the wrong thing in
ScAttrArray::SetPatternAreaImpl where std::vector::reserve repeatedly
resizes the data array and breaks the normal doubling-resizing inside
vector.

On my machine the time goes from 5.4s to 4.8s

Change-Id: I68a2204e0c02b673bbfe8aa0fdbe126e53ddbb41
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96516
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-06-22 09:36:14 +02:00
Caolán McNamara
a16e6122dc weld checklistmenu
rework the "menu" to be a treeview using hover selection instead of
a custom set of widgetry, and drop the newly unused custom a11y code

Change-Id: Ie7d9b7875ce00843b3f262882816cebb472bf681
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95223
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-06-12 20:03:54 +02:00
Luboš Luňák
bb0f9eb14e split instrinsics CXXFLAGS per each instruction set
The common usage pattern should be having one source file per each
instruction set and then one source file compiled with neutral flags
that dispatches to the relevant code based on runtime checks.

Which means that there can't be any one "correct" flag, otherwise
all files would get compiled e.g. with SSE4.2 but then CPUs capable
only of SSE2 would crash running that code.

Change-Id: I362bf66f672dae4588a48effe3bcd30c34ea75b3
Reviewed-on: https://gerrit.libreoffice.org/84227
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-12-03 10:43:30 +01:00
Dennis Francis
3c2587a152 move SSE2sum code to separate cxx file...
and compile it with -arch:SSE2 if Windows.

This code however gets called only if cpuid::hasSSE2()
is true, so this does not cause problems with machines
without SSE2 support.

Change-Id: Ice23ac71d4c577b8811b08c74a3ca500a94fdc09
Reviewed-on: https://gerrit.libreoffice.org/80847
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-10-17 08:07:32 +02:00
Luboš Luňák
42af04bf24 do not require $(SRCDIR) in every gb_Library_set_precompiled_header
Change-Id: I7b3a22584bb2e4d501f509ffcd80929feed23a4c
Reviewed-on: https://gerrit.libreoffice.org/79360
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-09-23 10:47:25 +02:00
Stephan Bergmann
b1141fa610 Cut down on -pthread/-lpthread proliferation
Building against libstdc++ effectively always requires -pthread anyway (as
various standard C++ headers require it, see the comment added to
solenv/gbuild/platform/unxgcc.mk), so many explicit uses of -pthread/-lpthread
can be removed.

Doing a (partial) test build on Linux with Clang -stdlib=libc++ suggests that
libc++ indeed doesn't need -pthread as libstdc++ does.

The remaining uses of -pthread/-lpthread are mostly in configure.ac for the
various BSDs (which somebody else might want to clean up now), and related to
external projects.  I tried to be careful to remove -pthread/-lpthread from
makefiles only when C++ object files are involved (so -pthread will now be
included on the link command line by default).

Change-Id: I936e082839cb9a434bd273ce5a1f187a4245dfa1
Reviewed-on: https://gerrit.libreoffice.org/71291
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-04-25 21:27:43 +02:00
Dennis Francis
1b9f0e99f3 tdf#74664 : add Fourier analysis tool
Add Fourier analysis tool to Statistics submenu.
Use FOURIER() formula to do all the work here.

Change-Id: Ifdaa79d8ee367f1c1f5054248e01853ffe4c6823
Reviewed-on: https://gerrit.libreoffice.org/69472
Tested-by: Jenkins
Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
2019-03-26 14:33:23 +01:00
Eike Rathke
559758a352 Related: tdf#44076 do not leave cast to int to undefined behaviour
... if the double is an out-of-int-range value.

Also catch domain and pole and range errors.

Move this to it's own sc::power() function that can be reused for
example by ScMatrix::PowOp() to be congruent.

Change-Id: I88331e02e6cdfb5e1dcbf81622d3fc7ce4510478
Reviewed-on: https://gerrit.libreoffice.org/65986
Tested-by: Jenkins
Reviewed-by: Eike Rathke <erack@redhat.com>
2019-01-10 11:55:49 +01:00
Takeshi Abe
4bec85e561 sc: Drop empty reordermap.cxx
Change-Id: I6d3183cf281363538c603d126660064a205cda5b
Reviewed-on: https://gerrit.libreoffice.org/66058
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-01-10 07:11:50 +01:00
Markus Mohrhard
d543e8dfd3 tdf#93005, tdf#100611, remove the incomplete ODC export feature
Change-Id: I96a3882cd412ea5d993971df7e20b1fd8da73642
Reviewed-on: https://gerrit.libreoffice.org/64283
Tested-by: Jenkins
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2018-11-30 03:17:27 +01:00
Luboš Luňák
79449d7390 make VLOOKUP in Calc thread-safe
There is mutex protection needed for accessing the same SvtBroadcaster
when calling StartListeningArea(). Also some of the memory management
and caching needed fixing.

Change-Id: Ia57ed85286cf195521719cfd3b320f73a6342bb1
Reviewed-on: https://gerrit.libreoffice.org/61187
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2018-10-10 13:01:59 +02:00
Vikas
278b1de21f Added base as a data provider
Change-Id: Iaf23b70f303cd05bcf6450fed1246de894285526
Reviewed-on: https://gerrit.libreoffice.org/57447
Tested-by: Jenkins
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2018-09-28 20:34:38 +02:00
Vikas Mahato
842af51096 Import ODF with data transformations
Change-Id: Iee76ed28d0dcd4ee57115ec951a181b2cf8d35fd
Reviewed-on: https://gerrit.libreoffice.org/57239
Tested-by: Jenkins
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2018-07-20 22:45:23 +02:00
Vikas Mahato
e300efd3a0 Added XML data provider
Change-Id: Ib5727912977eb79cdf1f84bf874919beafc693eb
Reviewed-on: https://gerrit.libreoffice.org/56356
Tested-by: Jenkins
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2018-07-08 23:32:44 +02:00
Tor Lillqvist
b9ef6b66e7 Initial steps to make also Calc usable from Automation clients
Largely parallel to what we do for Writer.

Yes, there is a fair amount of duplicated code now for the outgoing
("sink") stuff in sw and sc, that should be factored out (to
vbahelper, probably).

Change-Id: I8df4a81c3b9043e8d6b0b206e3c04660205987c7
2018-05-31 15:29:43 +03:00
Noel Grandin
d24ff5a066 merge CellBorderUpdater into CellAppearancePropertyPanel
no point in having it separate, the code flow is cleaner this way

Change-Id: Ibc04eb4fa0ee6438b84f181a2cbdb6de22872ac5
Reviewed-on: https://gerrit.libreoffice.org/52487
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-06 11:50:32 +02:00
Michael Stahl
61c88ae694 gbuild: always compile as C++17 with MSVC 2017
The current update MSVC 2017.5 supports fancy new C++ features, but
unfortunately in its default C++14 mode it falls over and dies with
an internal compiler error as soon as it sees the WeakImplHelper
variadic template.

In order to work around the ICE, build everything as C++17,
which somehow doesn't crash.

This causes loads of deprecation warnings about obsolete std::this
and badly designed std::that, almost all of them from boost headers,
which are well known for following every best practice in the C++ book.

Liberally sprinkle macros around to suppress the warnings for now,
like we already do with the other million warnings from boost headers.

Change-Id: Ia6b6ef5e457b5fe3c8cfe361ba5da39376bb7c4c
Reviewed-on: https://gerrit.libreoffice.org/48225
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
2018-01-22 20:08:05 +01:00
Caolán McNamara
93ea7cb6b5 handle ocWebservice similarly to ocDde
might have too much in here seeing as we don't need to worry about
ocWebservice calling into itself

Change-Id: I0145f38cc1c1f9ff514a496f7101d81cde9e7c67
Reviewed-on: https://gerrit.libreoffice.org/47777
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-01-12 16:19:37 +01:00
Markus Mohrhard
80798551e7 external data: add a simple table view for spreadsheet data
Change-Id: I3c22a908c5e1dd1a02494931478ca7e29ecea0c2
Reviewed-on: https://gerrit.libreoffice.org/41599
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2017-08-29 12:17:09 +02:00
Markus Mohrhard
b0080a8c69 external data: add initial work for data transformations
Change-Id: I728ca764a2ea2926f8b8f76ea576b8be1091a29a
Reviewed-on: https://gerrit.libreoffice.org/41146
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2017-08-14 22:09:04 +02:00
Markus Mohrhard
1a4dd1fa2a external data: add html data provider
Change-Id: I4ae266707f5cf3b5231f726082950f90df3ca1eb
Reviewed-on: https://gerrit.libreoffice.org/41083
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2017-08-12 18:35:46 +02:00
Markus Mohrhard
8a5f9baf41 external data: move code to own directory and split file up
Change-Id: Ia1037c7b80c492585fb903e712d1743ed2ed00d6
Reviewed-on: https://gerrit.libreoffice.org/41082
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2017-08-12 13:22:30 +02:00
Jaskaran Singh
213a83ce46 Add UI for the sc::dataprovider
Change-Id: I29acc8903d5694e46e7575133ee852bbaae6eeee
Reviewed-on: https://gerrit.libreoffice.org/40851
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2017-08-10 18:53:31 +02:00
Markus Mohrhard
ce1b56ae4a add initial file format representation for data import feature
Change-Id: I51143ecfe4eb1584f13bd1590f927743de8fa91e
Reviewed-on: https://gerrit.libreoffice.org/40572
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2017-07-31 04:30:23 +02:00
Caolán McNamara
00657aef09 migrate to boost::gettext
* all .ui files go from <interface> to <interface domain="MODULE"> e.g. vcl
* all .src files go away and the english source strings folded into the .hrc as NC_("context", "source string")
* ResMgr is dropped in favour of std::locale imbued by boost::locale::generator pointed at matching
  MODULE .mo files
* UIConfig translations are folded into the module .mo, so e.g. UIConfig_cui
  goes from l10n target to normal one, so the res/lang.zips of UI files go away
* translation via Translation::get(hrc-define-key, imbued-std::locale)
* python can now be translated with its inbuilt gettext support (we keep the name strings.hrc there
  to keep finding the .hrc file uniform) so magic numbers can go away there
* java and starbasic components can be translated via the pre-existing css.resource.StringResourceWithLocation
  mechanism
* en-US res files go away, their strings are now the .hrc keys in the source code
* remaining .res files are replaced by .mo files
* in .res/.ui-lang-zip files, the old scheme missing translations of strings
  results in inserting the english original so something can be found, now the
  standard fallback of using the english original from the source key is used, so
  partial translations shrink dramatically in size
* extract .hrc strings with hrcex which backs onto
   xgettext -C --add-comments --keyword=NC_:1c,2 --from-code=UTF-8 --no-wrap
* extract .ui strings with uiex which backs onto
   xgettext --add-comments --no-wrap
* qtz for gettext translations is generated at runtime as ascii-ified crc32 of
   content + "|" + msgid
* [API CHANGE] remove deprecated binary .res resouce loader related uno apis
      com::sun::resource::OfficeResourceLoader
      com::sun::resource::XResourceBundleLoader
      com::sun::resource::XResourceBundle
    when translating strings via uno apis
      com.sun.star.resource.StringResourceWithLocation
    can continue to be used

Change-Id: Ia2594a2672b7301d9c3421fdf31b6cfe7f3f8d0a
2017-07-21 08:20:50 +01:00
Lionel Elie Mamane
7f1465a959 tdf#108789 and others: overhaul DBase files encoding handling
- Calc: make the complete "what encoding to use" decision before
         calling the connectivity driver, so that the driver has
	 no ambiguity about whether it should override our setting
	 or not.

	 To this end, factorise the part of the driver that reads
	 the encoding from the file header into dbtools.

 - Calc: don't ask for encoding when the file's header give the encoding.

 - don't confuse CP850 (the default) and "don't know", including:
   * don't ignore CP850 user setting
   * don't overwrite user setting with CP850

Thanks to Julien Nabet for the extensive collaboration on this.

Change-Id: Id80b7c505858b88f717b0ce6bd890527909e5fd1
2017-07-02 13:28:20 +02:00
Kohei Yoshida
a078328e91 tdf#107945: prepare for future multi-threading of pivot cache...
It's disabled for now. We need to first make the edit engine and
a few other places thread-safe before we can parallelize this code.

Change-Id: Ie09536964ece42d43f505afc5e2611d469cc5c95
Reviewed-on: https://gerrit.libreoffice.org/38424
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Kohei Yoshida <libreoffice@kohei.us>
2017-06-06 05:00:33 +02:00
Kohei Yoshida
d4cd867788 tdf#107945: properly iterate over mtv during pivot cache loading.
This reduces the total time required for populating the pivot cache
by ~60%.

Change-Id: I6a8511959c20231a8a5dbd0b0a9a3d0930a1fa0c
Reviewed-on: https://gerrit.libreoffice.org/37971
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Kohei Yoshida <libreoffice@kohei.us>
2017-05-24 05:19:40 +02:00
Maxim Monastirsky
8ac571d470 sc: Remove some dead slots
Change-Id: I92cfd5043c084d64fdfba3a1df817ee035388797
2017-05-05 11:23:51 +03:00
David Ostrovsky
de030cd7a2 gbuild: Remove MSVC 2013 legacy code
Uwinapi is discontinued.

Change-Id: I063b4d0d8fab2d60de168e960a63b8181158ac01
Reviewed-on: https://gerrit.libreoffice.org/23198
Reviewed-by: David Ostrovsky <david@ostrovsky.org>
Tested-by: David Ostrovsky <david@ostrovsky.org>
2017-04-21 18:18:44 +02:00
Markus Mohrhard
b7b159d79c remove the old collaboration feature based on telepathy
Change-Id: I1f08d6ef43b76e7bae41ac33bb954f506ae7c485
Reviewed-on: https://gerrit.libreoffice.org/36542
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2017-04-14 03:32:37 +02:00
Caolán McNamara
f7b5db1f39 ScPopupMenu is now unused
Change-Id: I84e2f22992f917f14b4b4b8063238704939f56b7
2017-04-10 10:38:29 +01:00
Tomaž Vajngerl
9009663deb tdf#83257 [API-CHANGE] Pivot chart implementation
This is a squashed commit of the pivot chart implementation.

Some of the changes:
- Add pivot chart specific (pivot table) data provider which
  provides the data from a pivot table to the associated chart.
- When inserting a chart and the cursor is in a pivot table,
  in that case insert a pivot chart
- Modify the pivot chart when the pivot table changes
- Collect and set the number format for the values
- isDataFromSpreadsheet check for the creation wizard
- In ChartView (and VLegend) check if the data provider is a
  pivot chart data provider and get the pivot table field names
  to create the buttons on the UI.
- Adds the functionallity to show a filter pop-up (from calc)
  when clicking on row / column / page field buttons.
- Remove (X)PopupRequest as we won't need it.
- Add ODF import/export for pivot charts:
  + Added loext:data-pilot-source attribute on chart:chart
    which is the internal name of the pivot table with which the
    pivot chart is associated with. If the element is present, then
    the it means the chart is a pivot chart, else it is a normal
    chart
  + Added service to create pivot chart data provider through UNO
  + Add new methods to XPivotChartDataProvider to create value and
    label data sequences separately from the data source, which is
    needed for pivot chart import
  + When importing defer setting the data provider until a later
    time when we know if we are creating a chart od a pivot chart
- Pivot chart ODF round-trip test
- Add table pivot chart supplier API:
  This adds the XTablePivotChartSupplier and related interfaces so
  we can access, create, delete pivot charts from UNO in a sheet
  document. With this we now distinguish between normal charts
  and pivot charts. This was mainly needed because we can't extend
  the "published" interfaces of TableChartSupplier.
- Added an extensive test, which uses the API to create a new
  pivot chart when there was none, and checks that the pivot chart
  updates when the pivot table updates.

Change-Id: Ia9ed96fd6b1d342e61c2f7f9fa33a5e03dda21af
Reviewed-on: https://gerrit.libreoffice.org/36023
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2017-04-04 13:39:29 +00:00
Takeshi Abe
2a79ec7fe5 sc: Drop empty olkact
Change-Id: Idc23fd32fb5b3f411e874252c312ef73fa70698f
Reviewed-on: https://gerrit.libreoffice.org/32131
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
2016-12-19 05:17:34 +00:00
Takeshi Abe
53edf60c4c sc: Drop empty drawvie2.cxx
Change-Id: Iaeb12e7456d79904e993bc3644066e0ef7d02316
Reviewed-on: https://gerrit.libreoffice.org/32132
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Thomas Arnhold <thomas@arnhold.org>
2016-12-18 06:58:56 +00:00
Jaskaran Singh
46f544fa4b Add Skeleton for DataProvider Class
DataProvider class serves as an abstraction of various External
Data Importing Techniques we have and the others which
could be implemented in the future.

Change-Id: I9fc9455f7fbf9025aace4c3248df9b32f522ce52
Reviewed-on: https://gerrit.libreoffice.org/30906
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Jaskaran singh <jvsg1303@gmail.com>
2016-11-17 12:31:50 +00:00
Kohei Yoshida
dff4e51f5d Add configure option --enable-formula-logger to conditionalize it.
Change-Id: I1badbcfa259b22d742e5241bd817ea44769a771e
2016-10-25 18:07:27 -04:00
Kohei Yoshida
3ab685241a Initial take on group formula logging.
For now, this logger only logs group formula calculations.

Change-Id: Idab3cf58f8d9e5fd24fc9f7498d55e385ca93ca7
2016-10-25 18:07:27 -04:00
Caolán McNamara
420e215a97 drop now unused ScPrivatSplit
Change-Id: I7e7eb4e1d5a4d9f7e419570844f2e06ae4cf999a
2016-10-24 14:09:50 +01:00
Caolán McNamara
5d812cae7e These are just floating windows, no need for all the special intrastructure
get rid of the roundabout way that these popups are popup controllers
(of a kind) for real popups

for the moment keeping them as loaded from resources

Change-Id: I083e8609ab133e3dc4a036daf8bfb44c08a6719f
2016-10-04 17:25:13 +01:00
Markus Mohrhard
5b8c22379e tdf#96453, tdf#100793 rework transfer of data between cond format dlgs
The xml based transfer of information was a bad idea from the start. It
can obviously not transport the temporary conditional format information
from the manager dialog. Therefore the whole handling here was
completely broken and deleted formats came back, changed formats were
not saved and added formats got applied directly to the document.

Now the document fornat list and the one from the manager are indepedent
again and as long as the manager has not been closed with ok nothing is
written to the document.

Change-Id: I9802be11cd15c2d2d877e55c91d836735fe0e0ff
Reviewed-on: https://gerrit.libreoffice.org/28995
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-09-19 10:10:09 +00:00
Laurent Balland-Poirier
0da121bc67 tdf#30456 Enable to empty or not merged cells
Insert options during MergeCells to empty hidden cells
Three options:
- Move contents to first cell (previous Yes)
- Keep contents in covered cells (previous No, default)
- Empty covered cells (new option)

To be done: link to the help system
https://gerrit.libreoffice.org/27467/

Change-Id: I98e85296591cce8ba789d282cead1f1010e5e2ce
Reviewed-on: https://gerrit.libreoffice.org/27463
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Laurent BP <laurent.balland-poirier@laposte.net>
2016-08-16 19:21:32 +00:00
Markus Mohrhard
755a7b74b4 uitest: add wrapper for calc's gridwindow
It already supports selecting cell ranges.

Change-Id: I8c3e4a42dea8956e2429b82b50ff8506c1774bbb
2016-06-18 17:01:59 +02:00
Szymon Kłos
bf3f3a6bfb notebookbar: working number format listbox
Change-Id: I1555934646148b9cd4164cbaaf09dcb9affe861e
Reviewed-on: https://gerrit.libreoffice.org/25579
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2016-06-01 06:06:55 +00:00
Stephan Bergmann
ec53ac63e3 Move clew/clew.h into external, too
For consistency with what 38cd1d9a5f "clew: move
this foreign code to external/clew" did for clew.c.  Library_scfilt depends on
clew/clew.h, simply make it depend on the full clew external.

Change-Id: Idcbf56a69084e108832c8970507ebea0f7ff400b
Reviewed-on: https://gerrit.libreoffice.org/24035
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2016-04-12 20:54:28 +00:00
Winfried Donkers
f336f63da9 tdf#94635 Add FORECAST.ETS functions to Calc
Change-Id: Ifbfff1c27fb3960a06f467630da0fa39665f0ce4
Reviewed-on: https://gerrit.libreoffice.org/20073
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Eike Rathke <erack@redhat.com>
2016-03-03 16:28:59 +00:00
Dennis Francis
bc20c6d0f3 Refactor ScMarkData for tdf#50916
Made the container for storing multimarks dynamic.
Also let the full row marks to be stored in a dedicated
ScMarkArray object rather than in the multimarks container.

Unit tests for ScMarkData and ScMultiSel will come in a follow up
patch.

Change-Id: I300ff80bebd6f4f39c284c1e8cb7deece82c1bec
Reviewed-on: https://gerrit.libreoffice.org/22163
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-02-10 23:08:04 +00:00
Dennis Francis
f14d271d31 Patch#1 : Dynamic column container in the pursuit of tdf#50916
In this patch dynamic column structure is introduced,
basically wrapping std::vector<ScColumn*>.
In ScTable the column container is pre-allocated with
MAXCOL + 1 columns so that the rest of the code that uses
need not change for now. So for now the new column
container will still behave like the static one.

The plan is to *incrementally* modify all instances of
iterations over columns to make use of the dynamic column
container and also to address the issues mentioned in the
thread :

http://nabble.documentfoundation.org/tdf-50916-Calc-Dynamic-column-container-td4162663.html

The final step would be to remove the pre-allocation of the container
in ScTable constructor and increase of MAXCOLCOUNT

Change-Id: I3ff18cdebc99d8348e06a76f287d1d30279366bd
Reviewed-on: https://gerrit.libreoffice.org/21620
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Tested-by: Jenkins <ci@libreoffice.org>
2016-02-04 19:38:56 +00:00
Stephan Bergmann
60db0ded33 Move sc/source/ui/dbgui/validate.cxx from scui to sc
8d1a24dae0 "Make virtual ~ScValidationDlg
non-inline" caused the RTTI for ScValidationDlg to only be emitted in library
scui instead of (weakly) wherever needed.  That causes UBSan to fail when it
uses the RTTI in ScValidityRefChildWin::ScValidityRefChildWin
(sc/source/ui/view/reffact.cxx, in library sc, to check that operations on
VclPtr<ScValidationDlg> pDlg indeed operate on an ScValidationDlg object).

The cleanest fix appears to be to move ScValidationDlg from scui to sc.  As
Moggi put it on IRC, "that dialog should be in sc as it is a modeless dialog; no
idea why it works for that dialog but all other modeless calc dialogs have to be
in sc to avoid linker problems."

One remaining question is whether it is save nowadays in ScCellShell::ExecuteDB
(sc/source/ui/view/cellsh2.cxx) to clean up the ScValidationDlg pointed to by
pDlg when that VclPtr<ScValidationDlg> variable goes out of scope, instead of
doing the PostUserEvent(... DelayDeleteAbstractDialog) dance that was there
before because "after end execute from !IsModalInputMode, it is safer to delay
deleting."  Lets see.

Change-Id: I3ecfd4fafc7b37b2f30e75974ece9b0a23311ef4
2016-01-22 08:37:26 +01:00