Age | Commit message (Collapse) | Author |
|
Because I'll be modifying this struct in the next few days...
|
|
Ugh! I need to refactor the query validation code first before working
on the new popup. I will
1) temporarily disable the new autofilter popup,
2) merge my changes so far to master, and
3) work on refactoring the query validation code without changing the
current functionality, then come back to working on the new popup.
Darn...
|
|
|
|
For now, the maximum query size is determined by the size of the
vector that holds the entries. For now, the size of the vector is
fixed, and won't change. We may later work on making it dynamically
sized, however...
|
|
|
|
This makes the popup window more flexible and adjust to a varying number
of menu items. This is necessary now that we use this popup in two
different places (autofilter and pivot table field popup) with different
menu item configurations.
|
|
|
|
|
|
* Changed Calc's internal definition of points per inch from TeX points (72.27
points per inch) to PostScript points (72 points per inch) as used by the
rest of the world (except TeX).
* Aligns between internal representation and API that at various places
assumed PS points already.
* Fixes mis-positioning and bad sizing of drawing layer objects relative to
column widths and row heights.
* More precise printout of column widths and row heights.
* UI dialogs such as Column Width always assumed PS points, so earlier
versions actually displayed wrong metric (and imperial) units.
* Printouts now are slightly larger due to 0.27 points less in an inch, but
more accurate in reflecting the actual UI values, and drawing layer objects'
position and size match the row heights and column widths.
- Problems with drawing layer objects and zoomed view versus Page Preview
versus printout that don't align still persist.
- Problems with resized rows and misplaced drawing layer objects are also not
magically healed.
|
|
|
|
|
|
|
|
|
|
our ScMarkData instance might be used to set the cursor which will
result in a crash if the selected sheet has been deleted already
|
|
This reverts commit 249faa5cb64a7270e852862a26b4a5e3a69a9895.
|
|
ScPostIt is the behind-the-scenes name for Notes. This move removes a
usually empty pointer for each ScBaseCell to list of pointers within
ScDocument. The advantage is basically a reduction in size of 8 bytes
per cell. The current sizeof(ScBaseCell) is 16. Here are the
highlights:
* Remove mpNote from ScBaseCell, and add a std::map (data structure) to
ScDocument to store notes and associate with addresses.
* Remove ScPostIt accessors and mutators from ScTable, ScColumn, and
ScBaseCell
* Replace ScPostIt accessors and mutators in ScDocument with ones to
handle move of data structure from ScBaseCell to ScDocument
* Rename ScPostIt.CloneWithoutNote to ScPostIt.Clone, while completely
removing ScPostIt.CloneWithNote. Any cloning of cell notes must now
be handled outside external to the ScPostIt class, through
ScDocument.*Note() functions.
* Rename ScNoteCell to a more ScEmptyCell. I expect this can be
completely removed at some point the future, if we can handle
broadcasters external to the cell logic.
* Add ScDocument and ScTable to ScUsedAreaIterator data structure to
accomodate for new placement of ScPostIt objects in ScDocument.
* Convert CELLTYPE_NOTE to CELLTYPE_EMPTY (and all ensuing uses).
* Wherever possible, respect 80-columns.
* New ScDocument based API (individually block-comment documented before
their definitions):
SC_DLLPUBLIC ScPostIt* GetNote( ScAddress const & );
SC_DLLPUBLIC ScPostIt* GetOrCreateNote( const ScAddress& rPos );
bool SetNote( ScAddress const &, ScPostIt* );
bool MoveNote( ScAddress const & from, ScAddress const & to );
bool SwapNotes( ScAddress const &, ScAddress const & );
ScPostIt* ReleaseNote( ScAddress const & );
void DeleteNote( ScAddress const & );
Of note, TakeNote has been replaced with SetNote, which returns true on
success, and false on failure. TakeNote indicated failure by removing
the passed note. The SetNote approach leaves room for the caller to
attempt to fix the issue, but also means the caller is now on the hook
to cleanup the memory. For now, the Calc-internal API is lazy and does
not take advantage of this, but merely says "You failed? Oh well,
delete the note." ... which is exactly what TakeNote did. This means, the
lazy-programmer's idiom for SetNote use is:
if ( ! pDoc->SetNote( aAddress, pNotePointer ) )
DELETEZ( pNotePointer );
|
|
The old code would incorrectly move anchors from one sheet to another
when updating the anchors of an object that was not on current sheet.
That can happen e.g. when modifying a cell value which triggers a
(cell-anchored) chart object on another sheet to get updated.
Interestingly, this issue ended up causing a write error during file
save in some situations, and in others silenting removing the affected
chart objects on save.
|
|
|
|
|
|
|
|
move convertNumber64 from SvXMLUnitConverter to sax::converter.
remove duplicate methods from SvXMLUnitConverter:
convertBool, convertPercent, convertColor, convertNumber, convertDouble,
indexOfComma, encodeBase64, decodeBase64, decodeBase64SomeChars,
clearUndefinedChars
|
|
A regression from 3.3. Calc wouldn't display page background color
or image in print preview. This was a side effect of the removal
of the high-contract mode.
In 3.3, Calc purpusefully wouldn't show background color/image when
the app is in high contrast mode. Now that the mode has been removed,
the code acted as though the high contract mode is always on, which
caused the background color/image to always be hidden in print preview.
|
|
|
|
|
|
|
|
|
|
|
|
The previous code was modifying the selection data (ScMarkData) in
a not-so-obvious fashion during the search and/or replace. Let's only
modify selection in the view code to avoid surprises. The document
model shouldn't be modifying the view model.
Those methods that were taking a reference to ScMarkData now take a
const reference instead.
|
|
This avoids refreshing on an invalid source range which causes an
empty pivot table output.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
But there are way too many codes calling that one. Maybe someday...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|