Commit Graph

375 Commits

Author SHA1 Message Date
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