Commit Graph

611 Commits

Author SHA1 Message Date
Juergen Spitzmueller
9f777d4bfb Do not attempt to select an empty cell before inserting a longtable caption
Fixes: #9692
2015-07-25 12:48:13 +02:00
Juergen Spitzmueller
c60827146f Fix logic in tabular dialog with decimal alignment
Fixes: #9570

Partially reverts [9d05ac5c912/lyxgit].
2015-05-25 15:55:11 +02:00
Juergen Spitzmueller
8c1a484cd2 Use local babel language switch in fixed width cells in order to prevent unwanted whitespace
Fixes: #9455
2015-04-04 11:59:01 +02:00
Jean-Marc Lasgouttes
11ca140667 Clean-up the undo API
* Remove the UndoKind parameter in the general interface
* move recordUndoInset to Cursor
* remove one variant of Undo::recordUndo.
* get rid of Text::recUndo.
2015-04-01 14:18:23 +02:00
Jean-Marc Lasgouttes
4dcc73ebf0 Get rid of autoBreakRow, which is obsoleted by allowMultiPar()
The only real user was Text::insertStringAsLine, but this got changed
in commit 2c7152ab.

While not other place did read the value, there is a side effect of
setAutobreakRow that merges exiting paragraphs. However, this is used
in two situations

* some constructors, where the inset is empty;

* InsetTabular::toggleFixedWidth, which actually contains itself some
  code to merge paragraphs.

Therefore the member and all associated code can be removed safely.
2015-03-31 17:02:00 +02:00
Jean-Marc Lasgouttes
67ff68bd02 Improve the check for multiple paragraphs in Text::insertStringAsLine.
Rely only on InsetText::allowMultipar() to get this information.

Implement this method for InsetTabular and InsetBox.

Also rely on this method for disabling LFUN_PARAGRAPH_BREAK.
2015-03-31 14:07:45 +02:00
Jean-Marc Lasgouttes
66fa801e74 Improve support for on screen length calculation
The computation of length on screen depend in particular of the computation of the size of an em. Many places of the code used to rely on the width of the M character, which is not really correct:
http://en.wikipedia.org/wiki/Em_%28typography%29

In digital typography, the best value to use is the point size of the font.

* Implement FontMetrics::em(), which returns the value in pixels of the EM unit.
 Convert code to use it.

* Introduce Length::inPixel(MetricsBase const &), which takes the textwidth and em information from the MetricsBase object. Convert code to use it.

* Fix several places where Length::inPixel is used without a proper em value.

* add mathed_font_em() helper function. It should eventually be removed like some other functions in MathSupport.

* Add dummy implementation of FontMetrics to tex2lyx for linking purposes.
2015-03-26 17:10:15 +01:00
Jean-Marc Lasgouttes
1780cb4896 Fix consecutive merging of tabular cells
This is a bug reported and fixed by Edwin Leuven.

Here is how Edwin described it in his inimitable minimalist style:
  first i merge the top-left two cells in a small, say 3x3, table

  if i then merge this multicolumn cell with the remaining cell in the first row
  my table ends up all bonkers
2015-03-24 10:50:51 +01:00
Jean-Marc Lasgouttes
9c55af4a22 Merge remote-tracking branch 'features/scroll-reloaded'
This implement horizontal scrolling of rows to allow editing insets
(math, tabular...) that are larger then the screen. The scrolling happens
as the cursor moves, in order to make sure that the cursor is always visible.
This effectively closes an 11 years old bug.

This feature is the result of the work of Hashini Senaratne as part of
Google Summer of Code 2013. The code has been cleaned-up for inclusion
and remaining bugs have been fixed.

Fixes bug: #1083.
2015-01-10 18:39:09 +01:00
Jean-Marc Lasgouttes
fcaf5b5fc8 Remove the special horizontal scrolling support in InsetTabular
It is not necessary anymore now that there is a global mechanism.

Also, fix the clearing of rows in SingleParUpdate mode.
2015-01-07 22:55:11 +01:00
Vincent van Ravesteijn
ad6c03fe26 InsetTabular.cpp: Remove commented code without a comment
This was a leftover of [b2246c4e/lyxgit].
2015-01-06 22:02:20 +01:00
Alfredo Braunstein
b2246c4ea2 insets/InsetTabular.cpp (doDispatch): fix to #9291. The problem was simply that the default status for the cursor in the call to *::doDispatch is "dispatched".
insets/InsetTabular.cpp (edit): do not reset the selection
2014-10-14 12:04:19 +02:00
Richard Heck
54c2ab2732 Possible fix for the mystery crash, which is bug #9049.
Investigation of bug #9236 showed that crash to be due to a Paragraph's
holding a dangling pointer to an old and deleted Layout after the
DocumentClass was reset. Since the backtraces look almost identical, it
seems likely that we have the same problem here.

Since this crash seems almost always to involve tables, I looked at the
code in switchBetweenClasses() and found that the Paragraphs that belong
to "hidden" table cells are not seen by the initial recursion using a
ParIterator: It skips right over them. This was confirmed by test code
suggested by Enrico, with results reported in Trac.

The present patch attempts to deal with this problem in the second
recursion, over Insets. When we see an InsetTabular, we call a new
routine that recurses through the cells, looking for hidden ones. If it
finds a hidden one, it then resets the Layout for the cell's Paragraphs
(there should be only one, but we do not make any assumptions) to the
PlainLayout that belongs to the new DocumentClass. This is good enough,
since such cells never have content.

There is extensive discussion of the patch here:
  https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg185095.html
Additional testing by Enrico and me confirmed the existence of the
dangling pointer.
2014-08-15 10:44:37 -04:00
Jean-Marc Lasgouttes
7f7dc5d314 Whitespace 2014-07-26 16:29:23 +02:00
Jean-Marc
1fefbf5bdc Fix bad use of undo kind in Tabular inset. 2014-07-25 20:03:42 +02:00
Georg Baum
2c39859575 Remove unneeded swap() (thanks Jean-Marc)
std::swap() does exactly the same thing, and avoiding code duplication is
always good.
2014-07-07 21:16:10 +02:00
Jean-Marc
93a43742a5 Fix a bunch of small performance issues spotted by cppcheck
Most of these are about passing const strings parameters as references.
2014-07-05 19:13:10 +02:00
Georg Baum
0092b523c7 Fix Tabular::CellData::operator=()
Don't create an intermediate copy (found by Jean-Marc).
I doubt that this has anything to do with the mystery crash, but it works, and
following the standard patterns is better anyway.
2014-07-05 11:44:13 +02:00
Richard Heck
5536b0c7fe Flush stream more often to help figure out where the mystery crash
originates.
2014-06-04 09:19:42 -04:00
Juergen Spitzmueller
95a7716998 Remove superfluous conversion 2014-05-31 10:46:49 +02:00
Juergen Spitzmueller
beb53ddbe2 Whitespace 2014-05-31 10:33:46 +02:00
Scott Kostyshak
43d464cca0 Fix alignment rendering of multirow in LyX (#8976)
Multirow cells now have the same alignment rendering in LyX
as in the output. The alignment of a multirow can change as
long as the column is not of fixed width. If the column is
of fixed width, the multirow is left-aligned.

When setting a multirow, the alignment is copied from
the last cell in the selection.
2014-05-16 23:38:26 -04:00
Richard Heck
84d4d45daa Fix two thinkos caught by the cppcheck script. 2014-04-21 11:52:00 -04:00
Richard Heck
0a6ff99f28 Typos and style. 2014-04-21 11:51:59 -04:00
Juergen Spitzmueller
4824f7c9db Fix crash after undo following replacement of a multicell selection (#8973). 2014-03-02 13:21:59 +01:00
Richard Heck
6a85db2307 Table cells are insets, but not from the point of view of DocIterators
and Cursors. So just calling InsetText::addToToc for the cells causes
problems, because InsetText::addToToc then adds the cell inset itself
as part of the DocIterator. This then leads to assertions, such as bug

The solution is to refactor InsetText::addToToc so that we can call the
iterating part without adding the inset.
2014-02-25 20:54:29 -05:00
Juergen Spitzmueller
e359d8f5ca Fix caption counter in longtables (see #8993). 2014-02-25 08:00:43 +01:00
Juergen Spitzmueller
3cba653a67 Allow to unset header/footer in caption rows (#8990). 2014-02-24 10:12:21 +01:00
Georg Baum
418d4c02d2 Fix bug #8992 without reintroducing #8933
At efa0f198 I introduced a more flexible caption handling for long tables.
This was needed to fix tex2lyx bug #7412. Unfortunately this created bug #8933,
since I forgot to output captions to LaTeX which are not in any header or
footer. This was fixed at 2b941da7f, but this introduced bug #8992 (duplicate
caption output).
This commit is hopefully the final fix: Captions which are in header or footer
lines are output with the header or footer line, and captions in standard
lines are output standalone.
2014-02-23 10:55:23 +01:00
Scott Kostyshak
9ca242e5bf moveColumn now also swaps column_info
For example, width and alignment are now swapped.

Same for moveRow.
2014-02-21 09:40:16 -05:00
Jean-Marc Lasgouttes
e7a1cce551 Rename some LFUN names to match their text name
Also, rename copy-label-as-reference to label-copy-as-reference and update LFUNs.lyx accordingly.
2014-02-13 13:50:33 +01:00
Scott Kostyshak
1fd32312e9 Right border of multicol should be set if 1 column
This commit fixes a bug uncovered by the fix to #8082:
If you create a table, select all columns in a row,
and set as multicolumn, the right border used to be unset.
2014-02-08 00:13:10 -05:00
Vincent van Ravesteijn
ebf18a9711 Fix wrong painting of lines right of multicol
We should skip the other cells that are part of the multicolumn before we find the cell right to the current one.

Fixes-bug: #8082
2014-02-05 21:37:57 +01:00
Juergen Spitzmueller
2b941da7fc Fix longtable captions (#8933)
Don't know why this code is now needed again (or why it had to be removed in the first place).
2014-01-25 09:33:23 +01:00
Jean-Marc Lasgouttes
f835134f16 Fix bug #8859: crash on alignment of two cells in tabular
The solution is the same as the other text-properties lfuns: use special loops when there is a multi-cell selection.
2013-10-04 12:52:00 +02:00
Richard Heck
d79225ae98 Remove all messages to user related to assertions. We'll just use
a basic message which is defined in lassert.cpp now.
2013-04-27 17:52:55 -04:00
Richard Heck
1b1f8dd235 Audit all the LASSERT calls, and try to do something sensible at
each failure.

There are several places I was not sure what to do. These are marked
by comments beginning "LASSERT:" so they can be found easily. At the
moment, they are at:

Author.cpp:105: // LASSERT: What should we do here?
Author.cpp:121: // LASSERT: What should we do here?
Buffer.cpp:4525:        // LASSERT: Is it safe to continue here, or should we just return?
Cursor.cpp:345:         // LASSERT: Is it safe to continue here, or should we return?
Cursor.cpp:403:         // LASSERT: Is it safe to continue here, or should we return?
Cursor.cpp:1143:                // LASSERT: There have been several bugs around this code, that seem
CursorSlice.cpp:83:     // LASSERT: This should only ever be called from an InsetMath.
CursorSlice.cpp:92:     // LASSERT: This should only ever be called from an InsetMath.
LayoutFile.cpp:303:                     // LASSERT: Why would this fail?
Text.cpp:995:           // LASSERT: Is it safe to continue here?
2013-04-25 17:27:10 -04:00
Georg Baum
c14b9e67bc Implement paste from LaTeX and HTML (bug #3096)
As discussed on the list. No automatic contents detection is done, the user
needs to use the special paste menu instead. I used the new TempFile class
for safe temporary file handling.
The documentation would go into section 2.2 of UserGuide.lyx, but I am not
allowed to edit that document.
2013-04-14 19:45:36 +02:00
Georg Baum
c61ef8b205 Support \caption* (bug #3209)
This was a low hanging fruit which would have to wait for a long time because
of a file format change if it was not implemented before 2.1.
2013-03-22 22:23:38 +01:00
Richard Heck
86994bf753 Add a member to TocItem that tells us whether the item in question
is included in output.
2013-03-08 16:38:18 -05:00
Richard Heck
ecef54500d Introduce max_length parameter for plaintext() output routines,
so we can write a limited amount when using this for TOC and
tooltip output.

This should solve the problem with slowness that Kornel noticed,
which was caused by our trying to write an entire plaintext
bibliography every time we updated the TOC. We did that because
he had a bibliography inside a branch, and we use plaintext for
creating the tooltip that goes with the branch list.

Other related bugs were fixed along the way. E.g., it turns out
that, if someone had an InsetInclude inside a branch, then we would
have been writing a *plaintext file* for that inset every time we
updated the TOC. I wonder if some of the other reports of slowness
we have received might be due to this kind of issue?
2013-03-08 15:12:58 -05:00
Scott Kostyshak
3c84267d8d Implement move row/column in tabular inset
This patch implements 'move row' and 'move column' features for tabular.
The purpose is to provide a useful behavior in tabular that is
consistent with PARAGRAPH_MOVE_UP and PARAGRAPH_MOVE_DOWN so that the
user can, for example, do alt-<up> to move a row up. Alternatively,
icons for these features are also added to the table toolbar and
context menu.

If there is any selection, the feature is disabled. This is consistent
with how PARAGRAPH_MOVE_UP works in other contexts. Additionally, 'move
row' is disabled if there is a multi-row in the current or target row;
and 'move column' is disabled if there is a multi-column in the current
or target column.

'move row' moves only the left and right borders of a cell along with
the row. Similarly, 'move column' moves only the the top and bottom
borders.

Implementing similar functionality for other insets, such as arrays and
array environments, is on my TODO list.
2013-01-20 21:54:30 -05:00
Juergen Spitzmueller
c246076ed5 Fix the 'caption inset mess' (bug #4647) 2012-12-30 18:29:02 +01:00
Juergen Spitzmueller
3f0bf02cc7 Disable CAPTION_INSERT in tables except for longtable caption cells (bug #5777) 2012-12-29 10:31:41 +01:00
Scott Kostyshak
1954458817 Keep outer tabular borders when delete row/column
Fix #4981:
If the first or last column is deleted, the borders are preserved.
Similarly for the last row, but not for the first row.  Selections are
supported.

Based on a patch by Zahari Dimitrov.
2012-12-12 04:04:39 -05:00
Scott Kostyshak
4b706051b7 Fix a bug when selecting a cell in InsetTabular
Fix the following bug:
When in tabular, enter "ab" in a cell. Place the cursor before "b". Hold
shift and press <right>, then (still holding shift) <right> again. On
the second <right> nothing appears to happen.

Related to #1802.
2012-12-12 03:46:12 -05:00
Scott Kostyshak
5cc1adf7c7 Fix another selection bug in InsetTabular
Fix #4981:
In tabular if a vertical selection is made with the keyboard (e.g.
LFUN_UP_SELECT), the selection is drawn if there are two cells selected.
Previously, the selection would be drawn only if there were more than
two selected.
2012-12-12 03:44:17 -05:00
Scott Kostyshak
776e66688f Fix a selection bug in InsetTabular
If you have a selection across cells in tabular, moving the cursor
vertically up or down (e.g. LFUN_UP) now removes the drawn selection.
Before, the selection was set to false but it was not repainted.
2012-12-12 03:43:53 -05:00
Pavel Sanda
541828ebf5 Another witch hunting case: break-paragraph -> paragraph-break. 2012-09-29 18:06:42 +02:00
Uwe Stöhr
66e650e5da InsetTabular: fix resetting reset decimal alignment
If no special alignment is set the default is center not left - my mistake
2012-09-13 00:41:57 +02:00
Uwe Stöhr
9d05ac5c91 Fix UI for decimal table alignment (bug #8285)
Fixes 2 issues:
1. LyX uses for a decimal alignment a multicolumn and having for a cell a multicolumn _and_ a multirow is invalid LaTeX.
2. It was impossible to unset a decimal alignment via the context menu or toolbar button.
2012-09-11 02:10:29 +02:00
Juergen Spitzmueller
a1e2e12ba4 Suppress babel RTL commands when using polyglossia (part of #8251) 2012-07-23 08:40:37 +02:00
Pavel Sanda
f692181917 Fix #8180: Page break on current row can't be unchecked.
Patch from John Tapsell
2012-05-31 13:56:07 +02:00
Uwe Stöhr
ea54461d85 full support for table rotations; fileformat change 2012-03-21 23:04:45 +01:00
Uwe Stöhr
304655a759 step 1 2012-03-21 22:54:03 +01:00
Uwe Stöhr
bdda095669 InsetTabular.cpp: code optimization; there is no need for a conversion 2012-03-19 01:28:38 +01:00
Vincent van Ravesteijn
96e854ab76 Fix bug #8083: Fix the selection of cells below multirows
Multirows were introduced in 8bb69f24 (Uwe Stoehr, 11 Feb 2010). In the
computation of the nearest cell, it was forgotten to account for the
vertical offset. tabular.cellHeight is the full height of the cell, while
the point that comes from the coordCache is offsetted by VOffset.
Therefore, we have to subtract the VOffset from o.y_.
2012-03-18 00:05:15 +01:00
Uwe Stöhr
7a46910f04 support for table cell rotations; fileformat change 2012-03-16 02:29:37 +01:00
Vincent van Ravesteijn
adb70a1fe0 Reuse the same code for the append* and copy* functions
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40659 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-22 22:16:03 +00:00
Vincent van Ravesteijn
965d21bbab Unify the parameters of the [append/copy][row/column] family
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40657 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-22 22:15:11 +00:00
Vincent van Ravesteijn
13dea3bb4f Fix bug #7644: Crash when copying table column or row
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40656 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-22 21:44:27 +00:00
Georg Baum
0da8a39a3b Ensure that head/foot cannot be unset as long is the row is a caption
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40527 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-19 21:28:11 +00:00
Georg Baum
efa0f19836 More sensible longtable caption handling (needed for bug #7412)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40522 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-18 21:27:17 +00:00
Richard Heck
38b9a4530e New methods in LaTeXFeatures specifically for collection of CSS
information on XHTML output.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40407 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-06 22:17:13 +00:00
Vincent van Ravesteijn
a0d8157891 Fix bug #7755: Unknown tabular feature "from-dialog"
"from-dialog" is added to the LFUN_INSET_MODIFY function when it is issued from the table settings dialog. This is done to prevent the checking of the individual parameters, because it has to consider all parameters alltogether. Besides, when issued from the dialog it is already guaranteed that the parameters are valid.

This parameter should not be passed onto tabularfeatures.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40376 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-05 12:40:22 +00:00
Vincent van Ravesteijn
7287a259c5 Change the type of the context menu name to string
There is no need for GUI-elements to use docstring.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40058 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-29 14:48:55 +00:00
Lars Gullik Bjønnes
4e3239dc98 Fixup for bug removal in GCC 4.7
A long standing bug has been fixed in GCC 4.7, the bug was a non-
sactioned extra lookup. This caused some code to work that really
shouldn't.

The fixes are: add this->, Class::, or move functions about
as required to fullfill the rules.

In this case some template instantiations
where move to after what they reference.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39813 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-07 03:09:55 +00:00
Uwe Stöhr
91156e8e0f InsetTabular.cpp: whitespace only
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39785 a592a061-630c-0410-9148-cb99ea01b6c8
2011-09-29 13:39:48 +00:00
Jürgen Spitzmüller
7cea4a8507 * Fix merging of cells (multicolumn, multirow) when the first cell in the selection is already a multi-cell (bug #7792).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39757 a592a061-630c-0410-9148-cb99ea01b6c8
2011-09-25 07:13:56 +00:00
Jürgen Spitzmüller
2511714940 As for setMultiRow, check border status _before_ merging, thus fixing border allocation problems.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39756 a592a061-630c-0410-9148-cb99ea01b6c8
2011-09-25 06:50:03 +00:00
Jürgen Spitzmüller
a0a4ac91af Fix bottom border allocation when setting a multirow.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39736 a592a061-630c-0410-9148-cb99ea01b6c8
2011-09-23 17:12:20 +00:00
Jürgen Spitzmüller
a5e152fdf7 * InsetTabular.cpp: fix logic of multirow top/bottom line output (bug #7578)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39733 a592a061-630c-0410-9148-cb99ea01b6c8
2011-09-23 12:36:37 +00:00
Richard Heck
6ea4b032fb Fix bug #7535 by adding a bounds check. There is still a problem here,
though, which will surface somewhere. See the bug.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39421 a592a061-630c-0410-9148-cb99ea01b6c8
2011-08-05 16:06:41 +00:00
Richard Heck
6a18a06673 Fix multirow output for XHTML.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38706 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-11 14:20:24 +00:00
Richard Heck
929b7a7d31 Fix bug #7547. We need to check whether we are in a multirow here.
Otherwise, we were asking to construct strings of random size at a
certain point, e.g., two 2GB strings, in one case I saw.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38704 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-11 14:12:00 +00:00
Edwin Leuven
3034bc266d ensure that latex output for decimally aligned columns does NOT depend on cached metrics info (the member decimal_width)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38655 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-09 12:33:32 +00:00
Richard Heck
2bf904ca34 Fix bug #7490.
As the bug report notes, you do NOT get this crash if you move up or
down in the table a bit before you do the rest. The reason is that
moving up and down sets the cursor's x_target_, and it is because that
is not set that we enter the other code at all and eventually crash.
That is, in InsetTabular's dispatch, we have:

(*) cur.pos() = tm.x2pos(cur.pit(), pm.rows().size()-1, cur.targetX());

You can see the potential for trouble here already. cur.pit() is in the
NEW cell, i.e., the one to which we are moving; it was changed a few
lines previously, and cur.idx() points to the new cell, too. But we are
trying to calculate cur.pos(), which means that cur.pos() is currently
the one from the OLD cell. So the cursor is in an inconsistent state.
Calling cur.targetX() leads us to call Cursor::getPos(), and that is
what causes the crash.

We fix the problem by making sure we call targetX() on the original
cursor. The same problem clearly exists in the DOWN stuff, so we fix
that, too.

By the way, should we be setting x_target_ here once we have calculated
it?


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38530 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-26 22:41:48 +00:00
Richard Heck
c7cb9fdc43 Fix crash when there are text insets in a table cell with decimal alignment. This is discussed in these threads:
http://marc.info/?t=115869271700002&r=1&w=2&n=5
	http://marc.info/?t=130349942500005&r=1&w=2&n=17
This is the simpler and more conservative of the two solutions proposed. It is possible,
however, that we need the more complicated one, which is in x2a.patch here:
	http://marc.info/?l=lyx-devel&m=130359169107401&q=p4
Both patches contain work by me and Edwin.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38496 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-25 12:56:09 +00:00
Richard Heck
5f1d31bf16 Just whitespace and a comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38485 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-25 01:46:37 +00:00
Richard Heck
461c973d62 Clean up XHTML output a bit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38185 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-01 19:18:25 +00:00
Richard Heck
2378db75c1 Prettify tabular output.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38184 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-01 18:36:13 +00:00
Edwin Leuven
571b779b23 fitcursor in r37929 was not enough for side scrolling tables
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37938 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-15 18:43:09 +00:00
Edwin Leuven
9d4678b663 update when cursor leaves screen while navigating large tables using the arrows
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37929 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-15 08:54:46 +00:00
Enrico Forestieri
6d425078a7 When an error occurs, don't highlight more than necessary.
Currently, if an inset outputs a newline, the new latex row is still
associated with a previous id/pos. Now, if a latex error occurs before
this newline, we would still highlight everything associated to that
id/pos, even if it is extraneous to the error.
This is avoided by associating the new latex row with the id/pos in
effect right before entering the inset. If an inset does not output
a newline, it is not excluded from the selection, consistent with the
fact that the text of the inset does appear in the error description.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37903 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-12 01:40:01 +00:00
Jürgen Spitzmüller
2d7cf03935 * InsetTabular.cpp:
- (getLastCellInRow): fix crash when in first multirow row
	- (TeXRow): do not output row separator in in last row (bug #7294).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37709 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-17 10:42:13 +00:00
Vincent van Ravesteijn
9bebb8945d Fix bug #7308: Table settings dialog broken.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37706 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-16 23:09:29 +00:00
Vincent van Ravesteijn
21992716e5 Revert r37704. It enabled SET_TABULAR_WIDTH for all longtables (new fix coming soon)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37705 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-16 23:06:43 +00:00
Enrico Forestieri
4c44ddad01 Don't disable apply button if one (or more) of vertical alignment, rotation,
or long table settings are changed. Fixes bug #7308.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37704 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-16 22:19:49 +00:00
Jürgen Spitzmüller
1f21f0f2dc * src/InsetTabular.cpp: revert r36415.
This went in without discussion and is IMHO wrong (bug #7055 is invalid).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37676 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-15 11:43:04 +00:00
Enrico Forestieri
46028a6914 Due to the increased accuracy of line counting and registering, when a
latex error occurs inside a table, the exact faulty table row is spotted.
However, if all cells of a table row are output on the same line, lyx is
not able to tell what cell caused the error and highlights the last cell
of the row. This patch allows to output each cell of a table on its own
line, such that the exact point where the error occurred can be highlighted.
Note that this is only done when exporting for preview, and in normal (nice)
exports everything goes as usual.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37643 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-14 01:02:12 +00:00
Jürgen Spitzmüller
e9cfa82c9f * InsetTabular.cpp: multirow does not allow paragraph breaks (bug 7051).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37597 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-11 09:42:33 +00:00
Enrico Forestieri
d866717ef7 Integrate texrow with otexstream in order to perform automatic line
counting when exporting to latex. This is done for the code comprised
between \begin{document} and \end{document}, while the preamble code
still needs manual calls to TexRow::newline() for registering new lines.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37584 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-10 20:02:48 +00:00
Edwin Leuven
119ea9cd24 support for tabular*
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37471 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-03 23:11:26 +00:00
Enrico Forestieri
1ef605f625 Introduce a wrapper class for odocstream to help ensuring that no
blank lines may be inadvertently output. This is achieved by using two
special iomanip-like variables (breakln and safebreakln) in the lyx::
namespace. When they are inserted in the stream, a newline is output
only if not already at the beginning of a line. The difference between
breakln and safebreakln is that, if needed, the former outputs '\n'
and the latter "%\n".
In future, the new class will also be used for counting the number of
newlines issued. Even if the infractrure for doing that is already in
place, the counting is essentially still done the old way.
There are still places in the code where the functionality of the
class could be used, most probably. ATM, it is used for InsetTabular,
InsetListings, InsetFloat, and InsetText.
The Comment and GreyedOut insets required a special treatment and a
new InsetLayout parameter (Display) has been introduced. The default
for Display is "true", meaning that the corresponding latex
environment is of "display" type, i.e., it stands on its own, whereas
"false" means that the contents appear inline with the text. The
latter is the case for both Comment and GreyedOut insets.
Mostly, the only visible effects on latex exports should be the
disappearing of some redundant % chars and the appearing/disappearing
of null {} latex groups after a comment or lyxgreyedout environments
(they are related to the presence or absence of a space immediately
after those environments), as well as the fact that math environments
are now started on their own lines.
As a last thing, only the latex code between \begin{document} and
\end{document} goes through the new class, the preamble being directly
output through odocstream, as usual.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37360 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-29 02:41:13 +00:00
Richard Heck
1b263187cd Proper longtable support for XHTML output. This fixes bug #6995.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37206 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-13 21:04:52 +00:00
Richard Heck
eb26d1f2d2 These do sometimes get called when we do not know whether it is a
longtable or not, e.g., in the docbook and xhtml output routines.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37204 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-13 20:19:15 +00:00
Richard Heck
4b1777d2fa Inset::addToToc() can and should be const. It wasn't, I take it, because
of things like:
  pit.push_back(CursorSlice(*this));
which I've had to change to:
  pit.push_back(CursorSlice(const_cast<InsetCaption &>(*this)));
and similarly in a few other places.

If anyone thinks we should instead have:
  explicit CursorSlice(Inset const &);
then we can also do that.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37192 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-12 22:23:27 +00:00
Vincent van Ravesteijn
3ac28c69e8 Fix bug #7050: Assert when using DecimalAlignment in tables.
The problem is/was that when copying an InsetTableCell?, the macrocontext_position_ and the buffer_ were not copied. That's why in InsetTabular?@splitCell@521 and in InsetTabular::TeXRow() and in InsetTabular::metrics we manually copy this into the new object.

However, splitCell() returns the object by-value. So, when we call

InsetTableCell tail = splitCell(head, column_info[c].decimal_point, hassep);

the new object is copied into tail and we lose the buffer_ and macro_contextposition. Later we will crash.

What does *nix in this case ? Apparently they don't make buffer and/or macro_contextposition 0.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37072 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-03 14:12:53 +00:00
Enrico Forestieri
573694da5f Fix bug #6538 (Figure: relative path changed to absolute on copy/paste)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36835 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-11 23:04:24 +00:00
Jean-Marc Lasgouttes
838af80834 Try to finally fix #6930. All the paths that did not come from context
menus were (intentionally) missing, and it turns out they were needed.

Normally all invocations of INSET_MODIFY should trigger a recordUndo now.
Of course all cases have not been tested, but it should be working.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36770 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-08 09:24:04 +00:00
Vincent van Ravesteijn
328e8b2627 Fix bug #2100: No display equations allowed in a non-fixed width tabular cell.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36673 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-03 02:44:16 +00:00
Vincent van Ravesteijn
80c1e18bda Compile fix: solve the merge conflicts in the correct way ;)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36607 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-29 23:47:55 +00:00
Vincent van Ravesteijn
c42a61c5ac Fix bug #6642: Concatenate the context menus for: InsetCollapsables without a button, InsetTexts which have a custom context menu and InsetTabulars. Override the default behaviour for InsetInfo.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36606 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-29 23:21:52 +00:00
Vincent van Ravesteijn
e7f2bbe1ee Rename InsetXXX::contextMenu to InsetXXX::contextMenuName. Now this function doesn't need all the parameters and we split the functionality of choosing which context menu to return, from the functionality of supplying the name for the Inset itself. Now, the InsetText context menu is returned for InsetCollapsables when the button is not hit by the mouse. There is no (intended) change in functionality for insets without a button, collapsed insets. This fixes partly bug #6642. A fix for InsetTabular and for insets with no button will follow.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36604 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-29 21:27:25 +00:00
Uwe Stöhr
dc182537b4 InsetTabular.cpp: fine-tune vertical table alignment to get exactly the result of the latex output
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36494 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-25 22:49:05 +00:00
Uwe Stöhr
f11a0d3eaa InsetTabular.cpp: comments
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36493 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-25 22:06:31 +00:00
Vincent van Ravesteijn
f27853ad41 Cosmetics, typos and comments.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36492 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-25 16:53:56 +00:00
Vincent van Ravesteijn
9fe6d655f3 Reuse some code and simplify InsetTabular::cursorPos()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36487 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-25 13:22:04 +00:00
Vincent van Ravesteijn
0fd75fefc4 Fix bug #7059: Display the vertical alignment of tables.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36486 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-25 13:20:56 +00:00
Vincent van Ravesteijn
3c5b30a8ea Disentangle InsetTabular::drawSelection and InsetTabular::drawBackground().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36484 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-25 13:08:26 +00:00
Vincent van Ravesteijn
340b1b0473 Comment out code that does nothing. InsetTableCell does not handle drawSelection. Now it raises the impression that this causes the selection of the cells to be painted but that is done somewhere else.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36483 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-25 13:02:30 +00:00
Uwe Stöhr
934e013505 InsetTabular.cpp: typo
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36420 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-21 04:45:07 +00:00
Uwe Stöhr
6cbbec8236 InsetTabular.cpp: fix #7055
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36415 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-20 18:59:16 +00:00
Uwe Stöhr
08f49bc27a InsetTabular.cpp: correct alignment for multirows:
- if column of multirow has no width, the alignment is that of the column
- otherwise multirows are fix left-aligned

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36403 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-20 07:57:35 +00:00
Uwe Stöhr
9672f432f2 InsetTabular.cpp: really fix #7007 this time
(the onlycolumn flag is not necessary in setAlignment (but in getAlignment) because it is in every case the same as !IsMultiColumn)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36402 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-20 04:53:34 +00:00
Uwe Stöhr
266b87357b InsetTabular.cpp: fix #7007
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36401 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-20 04:19:13 +00:00
Vincent van Ravesteijn
a3c01d2e25 Fix bug #7007: Horizontal table alignment display broken.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36395 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-19 03:31:13 +00:00
Pavel Sanda
a83995b2c6 Squash warning
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36195 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-07 18:45:26 +00:00
Uwe Stöhr
86b99f8f32 GuiTabular: support for multirow offset; fileformat change
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36182 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-07 05:32:28 +00:00
Uwe Stöhr
7c2b2c464b InsetTabular.cpp: multirows are always left-aligned thus allow left alignment and forbid center alignment
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35969 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-01 17:45:02 +00:00
Uwe Stöhr
90291acefb InsetTabular.cpp: typo
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35968 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-01 17:12:46 +00:00
Uwe Stöhr
98b8e1eb81 InsetTabular.cpp: multirow cells are ALWAYS left aligned and thus cannot inherit the alignment of the column
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35967 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-01 17:09:38 +00:00
Uwe Stöhr
bc30270b35 InsetTabular.cpp: fix #7003 that I accidentally introduced when fixing #6958
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35966 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-01 16:16:40 +00:00
Jürgen Spitzmüller
9ef7efd85a whitespace
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35964 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-01 15:15:38 +00:00
Richard Heck
5c9dde4d3b Had to be a typo, right?
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35962 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-01 11:54:18 +00:00
Uwe Stöhr
c6fa2fa10e InsetTabular.cpp: fix #7000
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35957 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-01 04:30:06 +00:00
Vincent van Ravesteijn
34338c474a Remove unnecessary breaks.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35956 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-01 03:54:23 +00:00
Uwe Stöhr
fa695f939c InsetTabular.cpp: fix #6985 - we need to break after unsetting otherwise case Tabular::MULTICOLUMN: would be executed afterwards reverting the unsetting
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35955 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-01 03:26:25 +00:00
Uwe Stöhr
eb0c10b6b4 InsetTabular.cpp: multirows inherit the width and the alignment from the column; this fixes #6958 partly
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35932 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-30 18:11:37 +00:00
Uwe Stöhr
eef6b32eff InsetTabular.cpp; remove SET_SPECIAL_MULTIROW because according to the multirow documentation multirows inherit the LaTeX-argument from the current column since they don't span multiple columns
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35931 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-30 16:36:08 +00:00
Jürgen Spitzmüller
a3a51b545c * InsetTabular.cpp:
- only set/unset a caption if necessary.

This fixes the setting of multicols via dialog (part of bug 6985)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35929 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-30 11:28:16 +00:00
Jürgen Spitzmüller
3381784318 fix #6998. Center alignment is the default, also with multirow.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35912 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-29 17:02:01 +00:00
Jürgen Spitzmüller
40f06a50de * InsetTabular.cpp: simplification; no change in functionality.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35902 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-29 11:33:48 +00:00
Jürgen Spitzmüller
ec1fd2a860 * InsetTabular.cpp: simplification; no change in functionality.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35899 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-29 10:15:50 +00:00
Uwe Stöhr
fadde98eb3 InsetTabular: implement some SET/UNSET functions as prerequisite to fix #6985
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35897 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-29 04:09:49 +00:00
Uwe Stöhr
c378fede8b InsetTabular.cpp: fix #6585 also for wrapped floats - thanks Vincent
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35895 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-29 01:29:53 +00:00
Uwe Stöhr
a0b84e0ba0 GuiTabular.cpp: fix #6585
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35894 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-29 01:18:18 +00:00
Vincent van Ravesteijn
573500dd04 Remove unneccessary uses of dynamic_cast from the code.
A dynamic_cast is necessary when:

- the object to be casted is from an external library because we can't add Qxxx::asXxxx() to Qt e.g.:
    * QAbstractListModel to GuiIdListModel,
    * QValidator to PathValidator,
    * QWidget to TabWorkArea,
    * QWidget to GuiWorkArea;

- the object is to be casted from an interface to the implementing class, because the Interface does not know by whom it is implemented:
    * ProgressInterface to GuiProgress,
    * Application to GuiApplication.

A dynamic_cast can be replaced by:
  - already existing as***Inset() functions, e.g.:
    * asHullInset(),
    * asInsetMath()->asMacro(),
    * asInsetText();

  - a static_cast when we are sure this can't go wrong, e.g.:
    * we are sure that CellData::inset->clone() is an InsetTableCell,
    * in cases where we explicitly check it->lyxCode().


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35855 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-26 15:03:51 +00:00
Uwe Stöhr
dbe3d79e15 InsetTabular.cpp: remove comment, we already discussed this and the star as default was the result
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35847 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-26 02:02:10 +00:00
Vincent van Ravesteijn
ba19e8b5dd Fix bug #1839: Ctrl+arrows don't move to next/prev table cell.
Patch from Punyashloka Biswal.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35812 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-25 01:18:48 +00:00
Uwe Stöhr
27423f93ba InsetTabular.cpp: fix #6907, patch by goriccardo
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35561 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-05 01:14:34 +00:00
Jean-Marc Lasgouttes
d71281d4ae MetricsInfo::textColor: helper function that helps taking in account the
selection and chage tracking state

InsetTabular::drawCellLines: use the above function to draw properly tabular lines after a selection. 

This method can be used easily for other insets.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35268 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-02 12:13:54 +00:00
Jürgen Spitzmüller
f2f3ed23f0 * InsetTabular.cpp: do not attempt to access an empty DocIterator (bug 6810).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35148 a592a061-630c-0410-9148-cb99ea01b6c8
2010-08-14 14:32:52 +00:00
Uwe Stöhr
7547cf9e5f - InsetTabular.cpp: floats must not be inserted to tables, fixes #6844
- InsetCaption.cpp: margin notes and footnotes are not allowed in captions

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35073 a592a061-630c-0410-9148-cb99ea01b6c8
2010-08-07 03:16:38 +00:00
Richard Heck
0e14f379f3 Rename a couple routines. This will avoid confusion with a forthcoming
patch.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34816 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-08 20:04:35 +00:00
Vincent van Ravesteijn
7f593196fc Add an update parameter to BufferView::scrollToCursor and BufferView::scrollDocView. This parameter indicates whether a repaint is requested
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34658 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-14 21:48:23 +00:00
Edwin Leuven
c2e4c79f6e bit of cleanup to avoid ambiguities (in the sense of cell vs column)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34648 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-14 10:42:42 +00:00
Edwin Leuven
7b51fb74a7 columnWidth returns the col width of a cell, which is not what we want here (should fix tables flying of the screen)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34647 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-13 20:27:28 +00:00
Edwin Leuven
b031ac1e66 do not use cells without decimals when calculating column widths and cell text offsets
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34645 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-12 16:44:50 +00:00
Jean-Marc Lasgouttes
df62af4323 fix warnings
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34630 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-08 13:38:12 +00:00
Edwin Leuven
fea446303d simplify some conditions
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34611 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-07 09:39:04 +00:00
Edwin Leuven
0ebe0ff37e add support for decimal alignment in tables
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34598 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-05 07:44:44 +00:00
Richard Heck
319ca06167 Rename LFUN_OPTIONAL_INSERT as LFUN_ARGUMENT_INSERT.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34597 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-04 22:53:44 +00:00
Vincent van Ravesteijn
5e978cf02c Disallow InsetMarginals in InsetTabulars.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34373 a592a061-630c-0410-9148-cb99ea01b6c8
2010-05-05 21:15:15 +00:00
Peter Kümmel
c9b9748cee msvcUsing "using namespace std" with msvc10 makes also std::tr1::shared_ptr visible and generates conflicts with boost::shared_ptr.
Solution: don't use boost::shared_ptr for msvc10 (could also be extended  to several GCC versions)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34259 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-22 11:37:32 +00:00
Vincent van Ravesteijn
3417702346 * FuncStatus: unify naming of functions.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34160 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-16 10:51:20 +00:00
Vincent van Ravesteijn
108a67ed43 Make Cursor::anchor_ private and make an access function Cursor::realAnchor() to stress the fact that this is thus not the normalAnchor().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34146 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-15 18:16:07 +00:00
Edwin Leuven
99366a9a44 correctly valign content of multirow cells
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34129 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-13 18:56:28 +00:00
Richard Heck
b79d8e5e2d Make members of FuncRequest private, per the FIXME there. Again, this is
basically a massive renaming, with no real changes.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34106 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-09 19:00:42 +00:00
Richard Heck
4c7a5d0024 This is just a giant renaming of member variables in FuncRequest,
preparatory to making them private.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34105 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-09 18:15:17 +00:00
Vincent van Ravesteijn
bb69584112 Introduce InsetPreview.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33890 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-28 13:47:50 +00:00
Edwin Leuven
dba368d291 silence compiler warning
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33830 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-22 00:42:01 +00:00
Edwin Leuven
9713edcce2 comments and housekeeping
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33823 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-21 12:15:25 +00:00
Uwe Stöhr
2211213cb9 InsetTabular.cpp: remove FIXME as nothing needs to be fixed
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33817 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-21 04:29:22 +00:00
Edwin Leuven
fbc91c1967 forgotten in r33799
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33810 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-20 10:20:28 +00:00
Edwin Leuven
1a1bf4988b fix the drawing for cells with a specified vertical alignment
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33799 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-19 09:41:31 +00:00
Edwin Leuven
1e67084666 revert awful spaghetti (r33780)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33793 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-18 19:02:01 +00:00
Abdelrazak Younes
bfe352d39d Fix gcc-4.4 warnings.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33791 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-18 14:00:44 +00:00
Uwe Stöhr
9231f19340 InsetTabular.cpp:
- reintroduce issue that was removed in r33731
  (multirow cells are by default left-aligned, LyX does not yet support to change this)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33782 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-16 22:48:07 +00:00
Edwin Leuven
28c759e171 correct cell line drawing for multirow cells
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33781 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-16 22:42:57 +00:00
Uwe Stöhr
76ff0540d1 InsetTabular.cpp/h: fix the drawing for cells with a specified vertical alignment
Please also see my according post on the mailing list

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33780 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-16 22:27:17 +00:00
Edwin Leuven
1f8b6f8a0a - deleteRow did not properly change multirows
little things:
- rename method to what it is
- correct parameter
- bit of formatting

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33774 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-16 21:42:16 +00:00
Edwin Leuven
613f9d8996 and also correctly draw selected multicolumn cells while we're at it...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33765 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-16 09:50:58 +00:00
Edwin Leuven
7ff4105558 correctly draw selected multirow cells
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33764 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-16 09:46:25 +00:00
Edwin Leuven
62b0691b3c avoid invalidated indexes with multicol/row
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33751 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-15 18:08:38 +00:00
Edwin Leuven
3c45586d96 use more flexible default for now...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33739 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-14 10:33:02 +00:00
Edwin Leuven
b5ddcaa4d1 increment in the same way in ::draw, ::drawSelection and ::cursorPos
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33733 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-13 12:00:37 +00:00
Edwin Leuven
559537c080 fix some vertical alignment issues in tabular
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33731 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-13 10:49:26 +00:00
Jean-Marc Lasgouttes
b8bbd7aea9 Cleanup InsetTabular::getStatus
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33690 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-09 23:04:59 +00:00
Edwin Leuven
684def2036 simplify
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33688 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-09 19:21:32 +00:00
Edwin Leuven
93830fd28d avoid crash when calling inset_modify with cursor not in table
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33687 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-09 19:07:54 +00:00
Edwin Leuven
f7ef9c3e6e lil' cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33666 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-08 04:08:11 +00:00
Edwin Leuven
f313bd6a90 erratum to r33628
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33665 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-08 04:04:56 +00:00
Edwin Leuven
ece4da2f01 fix cursor position(ing)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33663 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-07 17:33:33 +00:00
Edwin Leuven
42c5246b9d rename frenzy
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33628 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-05 18:10:34 +00:00
Uwe Stöhr
eb0ade4e9f InsetTabular.cpp:
- multirow cells are always left aligned, therefore disable horizontal alignment
- multirows cannot be vertically aligned, therefore disallow this

(Two issues less in http://wiki.lyx.org/Devel/Multirow .)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33622 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-05 03:37:21 +00:00
Edwin Leuven
f365532e35 remove old "logic"
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33620 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-04 21:31:06 +00:00
Edwin Leuven
9b93ec0732 - unset multicol (row) when setting multirow (col)
- bit of function cleanup


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33619 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-04 20:20:45 +00:00
Uwe Stöhr
20fbd7068a InsetTabular.cpp: fix bug that LyX allowed to specify the vertical alignment of table columns without a fixed width
Should also go to branch, Jürgen?

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33615 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-04 03:55:13 +00:00
Uwe Stöhr
497d6d13f7 InsetTabular.cpp: disallow the following cases:
- a multirow cannot be a multicolumn the same time
- a multirow cannot be the caption of a longtable

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33614 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-04 03:27:30 +00:00
Richard Heck
d65020b293 s/updateLabels/updateBuffer/g, per a suggestion of Abdel's.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33613 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-03 22:13:45 +00:00
Jean-Marc Lasgouttes
a9d094bcce fix compiler warnings
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33544 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-23 08:00:29 +00:00
Edwin Leuven
3c765c6bc5 bit of clean up
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33522 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-19 22:00:54 +00:00
Abdelrazak Younes
3ec48cce2a Fix single table action (from toolbar).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33511 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-19 12:21:49 +00:00
Abdelrazak Younes
addba25b98 r33506: better fix for table borders.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33507 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-19 10:03:03 +00:00
Abdelrazak Younes
816b7fdd91 Simplify featureAsString()... I don't understand why some people insist
on those complicated, verbose STL code...


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33504 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-19 08:11:09 +00:00
Abdelrazak Younes
e92aed709b Fix gcc warning.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33503 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-18 11:52:18 +00:00
Abdelrazak Younes
b5049e769b * InsetTabular cleanup:
- proper message passing for all tabular features
- properly define which feature needs an argument

* replace LFUN_TABULAR_FEATURE with LFUN_INSET_MODIFY
- The math tables are also affected. In the future a common base class
between math and text table will solve this inconsistency.
- There is a hack in GuiApplication in order to not rename the toolbar
icons. This will have to be cleaned up with a general icon naming for
LFUN_INSET_MODIFY... to be discussed.

* Tabular Dialog:
- big cleanup, lots and lots of bug fixing here
- migrated to InsetParamsWidget


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33495 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-18 08:28:46 +00:00
Edwin Leuven
8918e5df37 delete unused variable, fix multicolumn and some clean up
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33453 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-12 18:36:20 +00:00
Uwe Stöhr
8bb69f24b6 support for multirows in tables:
- fileformat change (lyx2lyx code follows the next days)
- the patch is a joint work of Edwin and me

The patch is huge but the major parts work already. I put it in now as the minor known issues can be solved step by step the next days. I think this is the best solution because collaborating with such large patches already lead to copy/paste bugs.

The known issues are listed here:
http://wiki.lyx.org/Devel/Multirow

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33414 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-11 01:07:54 +00:00