Commit Graph

124 Commits

Author SHA1 Message Date
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
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
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
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
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
Vincent van Ravesteijn
f90f3d146b More include frenzy.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35941 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-31 01:26:50 +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
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
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
Jean-Marc Lasgouttes
15832da56d Header cleanup (remove uneeded declarations)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35266 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-02 10:26:34 +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
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
Vincent van Ravesteijn
c9e4d6657d These should not raise the impression that children should reimplement these functions.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34361 a592a061-630c-0410-9148-cb99ea01b6c8
2010-05-03 22:18:00 +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
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
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
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
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
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
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
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
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
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
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
ae1720fd4a InsetTabular.h:
- remove things from the todo list that we already support
- add authors

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33417 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-11 01:47:06 +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
Jürgen Spitzmüller
bc5fd28ddf * InsetTabular.{cpp, h}:
- implement addToToc (bug 6372).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33240 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-28 08:33:14 +00:00
Richard Heck
caa4e94bf0 Get rid of some magic booleans in updateLabels() and related routines.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33110 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-20 19:42:12 +00:00
Richard Heck
dadda4cb44 Initial XHTML support for InsetTabular.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32524 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-14 15:39:13 +00:00
Richard Heck
996505c2ae This patch introduces an optional argument to Buffer::updateLabels(), so
as to allow us to call the routine when we are preparing for output and
so to do certain things we might not want to do every time. 

This is an abuse of updateLabels(), in a way, but updateLabels() long
ago became the general recurse-through-the-Buffer routine, and to
implement the sort of thing I want to do here in validate(), say, much
of the code in updateLabels()---in particular, the counter-update
code---would have to be duplicated. So I believe this is the best, and
easiest, way to go.

Actual use of the new argument will follow.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32318 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-04 03:03:38 +00:00
Vincent van Ravesteijn
f19b6178a9 Fix bug #4360: Instant preview does not render formulas which contain math-macro from input file.
Patch from Stefan.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32157 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-22 20:50:35 +00:00
Abdelrazak Younes
82c7e15e64 Uniformize Inset construction (passing Buffer * everywhere). Lots of cleanup to do still...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31901 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-08 15:53:21 +00:00
Vincent van Ravesteijn
1bcb0d38e6 * InsetTabular.h: Whitespace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31755 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-26 22:21:07 +00:00
Pavel Sanda
221bd56fae Fix warnings
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31728 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-25 09:28:02 +00:00
Vincent van Ravesteijn
f09a4ac03c Fix bug #6280: Wrong context menu is opened in an auto-opened inset.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31697 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-24 00:02:41 +00:00
Jean-Marc Lasgouttes
408b96bb92 un-revert r30531, after Richard told me how to avoid the crash. Now, before
accepting changes in a clipboard copy (CutAndPaste.cpp), we set the buffer
of insets (and we reset them later).

Doing this makes sense because we know this is the only operation on these
out-of-document paragraphs that will require access to a buffer.

Also, this commit gets rid of one explicit test against ERT_CODE and 
LISTING_CODE.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30623 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-16 08:37:32 +00:00
Jean-Marc Lasgouttes
c3be74085f revert r30531, which causes a crash when copying an inset.
Basically, insets in cut stack do not have a buffer, and therefore cannot
acess to buffer parameters. What is annoying here is that acceptChanges 
requires this buffer params only to be able to read a font in moveItem,
in order to read the buffer language, and I doubt this is really needed...

Another change in this patch is that Inset::getLayout now returns a 
plainLayout when the inset does not have a buffer_. This fixes a remaining 
crash where dEPM reads isFreeSpacing() for an inset in the clipboard, but
this looks like a fragile situation. And it will not do the right thing when
doing depm in a freespacing inset.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30605 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-15 14:19:10 +00:00
Jean-Marc Lasgouttes
78c45693ef remove all trace of editMessage
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30585 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-14 18:56:13 +00:00
Jean-Marc Lasgouttes
d0cb2cc0b7 The most important change in this changeset is that InsetCollapsable::getLayout
is commented out, so that the documentclass is queried every time instead of
using the layout_ cache. For now I have kept the setLayout calls, but they are 
inoperant. 

Other changes:
 * remove non-const usePlainLayout methods
 * move InsetCollapsable::allowSpellCheck and allowMultiPar to InsetText
 * move InsetCollapsable::isFreespacing and forceLTR to Inset

Freespacing support could be moved to insettext, but I have to check who 
uses it. 


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30549 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-13 15:47:40 +00:00
Jean-Marc Lasgouttes
067a685263 remove BufferParams parameter from Inset::accept/rejectChanges; adapt rest of code accordingly
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30531 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-13 00:57:51 +00:00
Uwe Stöhr
8a3a2baf6d - GuiTabular.cpp: longtables cannot have a vertical alignment
- InsetTabular.cpp: write the alignment as last features (to match the existing tex2lyx routines)
- InsetTabular.h: fix indexes

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30482 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-11 14:33:05 +00:00