Commit Graph

173 Commits

Author SHA1 Message Date
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
Uwe Stöhr
424943af89 - support for longtable alignment, fileformat change
- GUI support for table alignment

(all comments to the polished layout of the table dialog welcome)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30477 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-11 13:09:45 +00:00
Vincent van Ravesteijn
4c9fe33c83 * Move handling of LFUN_INSET_SETTINGS to Inset,
* Remove the EDITABLE enum,
* add functions hasSettings() for all insets.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29375 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-22 20:55:13 +00:00
Uwe Stöhr
e029b216b7 GuiTabular, InsetTabular: fix http://bugzilla.lyx.org/show_bug.cgi?id=5752
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28437 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-10 18:08:09 +00:00
Vincent van Ravesteijn
09a0e37b15 Replace the PainterInfo::erased_ member by a proper Change object and remove the Color_deletedtext from InsetTabular.
see:
http://thread.gmane.org/gmane.editors.lyx.devel/114326

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28424 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-09 21:14:23 +00:00
Vincent van Ravesteijn
dd64c572c2 Allow users to specify toolbar icons for commands with a backslash. This is in the same style as the replacements made for math-insert commands.
See the user's list:
http://thread.gmane.org/gmane.editors.lyx.general/52712

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27979 a592a061-630c-0410-9148-cb99ea01b6c8
2009-01-03 18:33:09 +00:00
André Pönitz
f1cba8ff64 more latin1..utf8 schanges. all of src/* should be utf8 now
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27425 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-14 15:58:50 +00:00
Pavel Sanda
e4808961c9 Another selection painting patch, PainterInfo::backgroundColor introduced.
Patch by Vincent.

http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg145438.html



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27097 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-25 10:47:38 +00:00
Uwe Stöhr
a7722811f7 InsetTabular: make Slovak and Czech documents compilable, fixes http://bugzilla.lyx.org/show_bug.cgi?id=5290, thanks to Heiko Obderdiek for the hint how to fix this
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26581 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-26 21:24:59 +00:00
Jürgen Spitzmüller
7bbb01f8b6 * src/insets/InsetTabular.{cpp,h}:
- improve updating of on-screen alignment

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26406 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-15 08:09:52 +00:00
Jürgen Spitzmüller
a942cf9e86 * Fix display of horizontal alignment in fixed width tabular cells (bug 3484)
* src/Inset.h:
	- new member content Alignment that indicates whether the content
	  of text insets should be displayed with a specific alignment
* src/TextMetrics.cpp:
	- handle inset's contentAlignment
* src/insets/InsetTabular.{cpp,h}:
	- set contentAlignment for tabular cells.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26380 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-13 10:10:01 +00:00
Jürgen Spitzmüller
9b99e7be2c Fix rest of bug 4886, following Richard's advices.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26354 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-10 16:02:32 +00:00
Richard Heck
3bb9c0d34d Fix bug 4886.
Introduce OutputParams::inTableCell, to track when we are in a table cell.
Use this information to output \newline rather than \\ when in one.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26349 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-09 18:42:17 +00:00
Richard Heck
a457ab321f Move isMultiCell() to Cursor, and use it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26104 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-09 01:58:57 +00:00
Richard Heck
939503ee85 Fix crash reported on the list involving multicell selections. We have to
be careful to check for that!


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26102 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-08 21:26:18 +00:00
Richard Heck
2455bc258f Fix layout bug. Pasting text into a cell tried to set Standard layout, because
cur.inset() returns InsetTabular as the inset the cursor is in, not InsetTableCell.
It still does that, but now we return the right thing.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26098 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-08 16:19:28 +00:00
Abdelrazak Younes
b4f4a5c245 God damn tabular dual head :-/
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25851 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-23 13:25:03 +00:00
Abdelrazak Younes
4bc7feaa96 * Inset: ensure that the Buffer pointer is not copied. This was the cause of very weird bugs with copy and paste within table.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25837 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-23 12:13:41 +00:00
Jürgen Spitzmüller
b896fa110d * src/insets/InsetTabular.h:
- implement hasFixedWidth() (fixes part of bug 3484).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25805 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-22 16:13:59 +00:00
Jürgen Spitzmüller
7e3ebd9864 * src/insets/InsetTabular.h:
- make neverIndent() non-virtual and const, fixing bug 4641
	- also make neverIndent(), usePlainLayout(), forcePlainLayout() and
	  allowParagraphCustomization() private.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25802 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-22 14:31:16 +00:00
Richard Heck
951d0dc28d Try to fix a problem noted by Dov. There are design problems that prevent a really good solution. Please see the FIXME in InsetTabular.h for a description of the problem and a plea for a better solution.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25752 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-21 02:07:54 +00:00
Richard Heck
14be46fd4b Comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25667 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-16 14:28:26 +00:00
Richard Heck
a4ed71a212 Try to fix bug 5015---at least the crash is gone---and remove some unused code.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25666 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-16 14:23:32 +00:00
Richard Heck
780bce0f96 Rename empty layout stuff to plain layout stuff.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25541 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-10 17:41:52 +00:00
Edwin Leuven
832bbc4329 fix: http://bugzilla.lyx.org/show_bug.cgi?id=4688
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24598 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-04 07:51:50 +00:00
Edwin Leuven
d95201096e this we don't use anymore
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24488 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-24 15:54:04 +00:00
Abdelrazak Younes
60cb88d2ef Tabular de-spaghettization, step 2: move functions to where they are used.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24414 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-21 13:47:01 +00:00
Abdelrazak Younes
884bb0c4bc Tabular de-spaghettization, step 1.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24413 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-21 13:33:39 +00:00
Dov Feldstern
5dfa0c0381 visual mode for bidi cursor movement --- in tables
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24235 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-11 12:02:10 +00:00
Abdelrazak Younes
53daaabef4 Add tabular context menu. Feel free to enhance/modify Edwin.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24018 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-28 18:50:33 +00:00
André Pönitz
f9b81e51e9 remove remaining MailInsets.
please check your favourite insets, I am sure I broke _something_...



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24006 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-27 22:26:24 +00:00
Edwin Leuven
998787c78b make selecting several rows/col more convenient
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23955 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-25 21:26:03 +00:00
Edwin Leuven
30a290743d more border tweaks
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23954 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-25 20:48:48 +00:00
Edwin Leuven
4806c3f4cc rename some methods
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23947 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-25 13:32:38 +00:00
Edwin Leuven
8aae2dcd3b remove cruft (simplify code)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23922 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-24 14:03:00 +00:00
Edwin Leuven
41a01648a7 simplify logic
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23901 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-23 11:35:46 +00:00
Richard Heck
b922cfd3b3 Another attempt at 2178. This is a "minimal" patch designed to fix the bug with the minimum amount of new code. A better fix, suggested by Andre, would merge InsetTableCell and CellData into one class, in which case InsetTableCell::cell_data_ can be removed. A definite plus. I'll do that later if this works. But let's get it right first.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23879 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-21 17:45:14 +00:00
Edwin Leuven
ed58c7dcd9 remove unused code
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23860 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-21 09:53:25 +00:00
Richard Heck
e995e8556b Prepare for InsetTableCell.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23858 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-21 06:16:05 +00:00
Edwin Leuven
b7406da7f0 * new function to set border around selection
* add to toolbar + icon
* update border icons to match in size

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23846 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-20 08:45:40 +00:00
Richard Heck
f2cd36e8ad Change the signature of forceEmptyLayout(), so that we can pass a cell index with it. We'll need this to get tables right.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23829 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-19 16:21:33 +00:00
Edwin Leuven
e01e14872d Free line setting in tabulars. FILE FORMAT CHANGE.
- gets rid of the M_TOGGLE_LINE_... functions
- allows arbitrary clines without multicol
- sets arbitrary vertical lines through multicol 
- drop row/col line properties, everything is now stored at the cell level

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23812 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-18 18:08:32 +00:00
Stefan Schimanski
9e499117e3 * possibility to disable the completion cursor in text. All those
"*supported" methods maybe should be merged with a bit-enum as return value.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23776 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-16 17:07:10 +00:00
Stefan Schimanski
cdbebdf093 * moved text completion logic into Text class
* added completion support to InsetTabular


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23763 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-15 12:22:28 +00:00
André Pönitz
75999ba650 make code look a bit more uniform
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23468 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-05 00:21:05 +00:00
André Pönitz
f3e89bc3c9 s/cellstruct/CellData/g
s/rowstruct/RowData/g
s/columnstruct/ColumnData/g

closer to the current naming convention.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23290 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-27 20:59:44 +00:00
André Pönitz
db8c16d554 progress on buffer-reference-in-insets. beware of instabilities...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23289 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-27 20:43:16 +00:00
André Pönitz
e05e2b6b19 (temporarily) add a Buffer * Inset::buffer_ membert
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23170 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-23 22:32:33 +00:00
Richard Heck
040f3431e7 Fix bug 4037 and related problems. The patch has been cleaned up a bit
from the one posted to the list.

The basic idea has two parts. First, we hard code an "empty layout"
(called PlainLayout, for want of a better name) in TextClass and read it
before doing anything else. It can therefore be customized by classes,
if they want---say, to make it left-aligned. Second, InsetText's are
divided into three types: (i) normal ones, that use the "default" layout
defined by the text class; (ii) highly restrictive ones, such as ERT and
(not quite an inset) table cells, which demand the empty layout; (iii)
middling ones, which default to an empty layout and use the empty layout
in place of the default. (This is so we don't get the same problem we
had with ERT in e.g. footnotes.) The type of inset is signaled by new
methods InsetText::forceEmptyLayout() and InsetText::useEmptyLayout().
(The latter might better be called: useEmptyLayoutInsteadOfDefault(),
but that's silly.) The old InsetText::forceDefaultParagraphs() has been
split into these, plus a new method InsetText::allowParagraphCustomization(). 
A lot of the changes just adapt to this change.

The other big change is in GuiToolbar: We want to show LyXDefault and
the "default" layout only when they're active.

There are a handful of places where I'm not entirely sure whether we
should be using forceEmptyLayout or !allowParagraphCustomization() or
both. The InsetCaption is one of these. These places, and some others,
are marked with FIXMEs, so I'd appreciate it if people would search
through the patch and let me know whether these need changing. If they
don't, the FIXMEs can be deleted.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22966 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-12 17:31:07 +00:00
Abdelrazak Younes
8e831bb602 modify Inset::EntryDirectionType to follow style used in FontEnums.h for enums.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22936 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-11 08:20:13 +00:00
Dov Feldstern
11a6b3c4c7 visual mode for bidi cursor movement
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22929 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-10 19:52:45 +00:00
Stefan Schimanski
36dbec4506 * Lazy MathData to avoid unneeded interpretation of macro definitions
* DocIterator as MacroPosition
* Iterative search for macro in scope until a visible one is found.
This include the ability to resolve macro inside nested text insets.
* Speed up macro lookups by factor 2: only getMacro(name) call, no
further hasMacro(name) call before
* Both way child/master support
* Correct macro scope for multi-paragraph environments
* Correct macro scope for multi-depth-paragraphs
* Buffer::updateMacros made const
* Update macros when loaded (of master and child)
* Do not remove too many braces when unfolding a macro. This could
lead to a data loss because the relationship between arguments of
macros can be mixed up if nested macros are unfold at once.
* Reduce dependencies to MetricsInfo in MathMacro   
* Update macros when needed. Normally it's done just before doing
metrics. But in cases without a brace around some constructs (like
\left(bla\right)) there is some help needed.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22241 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-21 20:42:46 +00:00