Commit Graph

110 Commits

Author SHA1 Message Date
Jürgen Spitzmüller
9e5eebc14c *** Requires tag for classes, layouts and custom insets ***
* src/TextClass{cpp,h}:
	- implement Requires tag for class and InsetLayout.
* src/Layout.{cpp,h}:
	- implement Requires tag for layouts.
	- increase layouts format to 6.
* src/Paragraph.cpp:
	- request required features for paragraph layouts.
* src/LaTeXFeatures.cpp:
	- add some packages needed by modules.
	- remove Preamble method for InsetLayout. This is now done
	  in InsetFlex::validate.
* src/BufferParams.cpp (validate):
	- request required features for the class.
* src/insets/InsetLayout.h:
	- new member "requires".
* src/insets/InsetFlex.{cpp,h}:
	- implement validate method and request required features and preamble snippets.

* lib/layouts/*.{layout,module,inc}:
	- increase layouts format to 6.
	- use Requires tags in some modules (more can be done later).

* lib/doc/Customization.lyx:
	- document Requires tag.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22414 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-07 16:59:10 +00:00
Enrico Forestieri
62d5000103 Use a less verbose form for warnings in the view source window
and correctly match strings in order to coalesce translations.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22337 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-30 21:28:38 +00:00
Jürgen Spitzmüller
09f09e2121 * src/Buffer.cpp:
- better translatable error message for uncodable chars, now also
	  displaying the code point value.
* src/Paragraph.cpp:
	- do not throw in View Source mode, but mark up uncodable chars (fix bug 4437).
* src/frontends/qt4/LaTeXHighlighter.{cpp,h}:
	- highlight LyX warnings.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22294 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-24 13:55:01 +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
Bo Peng
837f7f2b6b Use ErrorList to handle encoding error
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22208 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-18 17:51:20 +00:00
Jürgen Spitzmüller
908a119973 * src/output_latex.{cpp,h}:
* src/Font.cpp:
* src/Paragraph.cpp:
	- simplify switchEncoding.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22184 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-17 10:53:38 +00:00
Jean-Marc Lasgouttes
e1a2703a79 * fix out-of-vector addressing when typesetting UserGuide.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22147 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-14 14:52:52 +00:00
Abdelrazak Younes
7c392af6ea getting rid of superfluous lyx::support:: statements.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22106 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 19:57:42 +00:00
Abdelrazak Younes
9abb7db468 getting rid of superfluous std:: statements.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22104 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 19:28:07 +00:00
Abdelrazak Younes
b89cc942eb 'using namespace lyx::support' instead of 'using support::xxx'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22103 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 18:57:56 +00:00
Abdelrazak Younes
9383f4c3c6 'using namespace std' instead of 'using std::xxx'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22097 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 10:16:00 +00:00
Jürgen Spitzmüller
dc75c0f793 Sanitize CJK support (fix bug 3561, 4349 and 4337):
* src/output_latex.{cpp, h}:
	- Many changes in order to allow CJK in a mulitlingual context.
* src/Paragraph.cpp:
	- Fix file encoding switch and language nesting with CJK.
* src/Buffer.cpp:
	- Move the opening and closing CJK and lanaguage tags to ouput_latex.cpp.
* src/Font.cpp:
	- switchEncoding call now takes runparams as argument.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22011 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-08 11:21:00 +00:00
André Pönitz
9d0ea8aeff Move debug.{cpp,h}, Messages.{cpp,h} and gettext.{cpp,h} to support/.
Now support/* should have no dependencies on src/* anymore.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21851 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-29 07:04:28 +00:00
Uwe Stöhr
cf11abec63 Paragraph.cpp: revert r21801 because it broke the LaTeX-output of \newline, \\, and \linebreak
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21812 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-27 00:15:45 +00:00
Abdelrazak Younes
f844782cd1 Paragraph::latexInset(): return early for the NEWLINE_CODE special case. This put back the code in line with what was there in revision 17939.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21801 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-26 19:52:57 +00:00
Uwe Stöhr
12f7869ac0 support for \linebreak:
- fileformat change
- tex2lyx support
- rename LFUN_BREAK_LINE to LFUN_NEW_LINE because this is what the lfun does and to avoid confusions
- new menu entry
- new shortcut C-S-Return

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21778 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-25 18:34:37 +00:00
Uwe Stöhr
88a9c58a10 Paragraph.cpp: remove unneeded include
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21762 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-24 13:31:58 +00:00
André Pönitz
e1ce2f92db reduce line noise
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21631 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-15 20:04:51 +00:00
Abdelrazak Younes
cdf1378200 Introducing TextClassPtr.h to minimize header dependencies.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21506 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-07 23:25:08 +00:00
Dov Feldstern
7bf4f48a4a Use forceLTR instead of inset codes in order to determine whether an inset
should be surrounded by external \L{} in bidi text.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21458 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-05 23:44:47 +00:00
Dov Feldstern
64b276b6fc Force latin-only InsetCollapsables into LTR environment if surroundings are RTL.
This fixes, for example, the URL inset, which used to be  included here 
explicitly when it was a standalone inset.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21407 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-03 18:12:52 +00:00
Martin Vermeer
2fbc75b552 Apply \protect more selectively for special phrases
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21403 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-03 17:07:37 +00:00
Stefan Schimanski
1231489798 * dynamic macros as described in http://1stein.org/download/dynmacro.pdf
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21328 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-01 11:13:07 +00:00
Abdelrazak Younes
13a85fe0c0 Fix some gcc warnings.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21306 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-31 07:48:13 +00:00
Abdelrazak Younes
aeebc6565c * FontList:
- clear(): new
- set(): simplify a bit.

* Paragraph(): optimize appendString() and resetFonts().


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21259 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-29 12:21:58 +00:00
Abdelrazak Younes
d2bfe05827 Forbid implicit conversion from FontInfo to Font.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21250 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-28 23:32:18 +00:00
Abdelrazak Younes
5ddc612b73 Splitup Font in saner bits:
* Font::FontBits -> FontInfo
* Font::FONT_XXX -> all enums transfered to FontEnums.h and renamed to FontXxx

I've replaced Font uses with FontInfo were the language() member was not needed, basically all draw() and metrics methods. There's one problematic cases with InsetQuotes which I solved by taking the Buffer main language.




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21240 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-28 18:51:54 +00:00
Martin Vermeer
4018d432de Fix ERT blanks doubling bug
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21214 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-26 10:55:49 +00:00
Abdelrazak Younes
eea79637c7 Move Color::color enum to ColorCode.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21198 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-25 12:41:02 +00:00
Martin Vermeer
1f07a7f929 Introduce inset parameters keepempty, freespacing, needprotect and rename verbatim->passthru
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21197 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-25 09:19:26 +00:00
Enrico Forestieri
f48d7caee3 Small tweaks
* src/Paragraph.cpp (knownLangChars): renamed as writeScriptChars.
	Now only deals with characters that cannot be encoded using the
	current latex encoding.
	(latexSpecialChars): only call writeScriptChars if the character
	cannot be encoded.

	* src/Encoding.{cpp,h} (isKnownLangChar): renamed as isKnownScriptChar.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21183 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-24 17:22:57 +00:00
Abdelrazak Younes
b1d94940ee delete unused code.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21182 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-24 16:00:25 +00:00
Abdelrazak Younes
1026a87b72 * InsetList: introducing find() and count()
* Paragraph:
- erase numberOfOptArgs() and bibitem()
- move onlyText() to Private.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21180 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-24 15:32:43 +00:00
Abdelrazak Younes
4c4299d1a5 bug fix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21177 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-24 11:24:53 +00:00
Abdelrazak Younes
a003a0da8b get rid of useless Paragraph::Private::size().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21175 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-24 09:46:38 +00:00
Abdelrazak Younes
75febee877 Paragraph::appendString(): use docstring::append().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21173 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-24 09:01:51 +00:00
Abdelrazak Younes
23f89b8d35 Paragraph::Private: change TextContainer to docstring; this will enable to use advance algorithms for string searching/splitting/merging without useless data copying etc.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21171 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-24 08:50:58 +00:00
Abdelrazak Younes
372e605c2f Introducing Paragraph::find().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21168 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-24 08:22:26 +00:00
Abdelrazak Younes
1297114b73 Introducing Paragraph::changeCase().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21167 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-24 07:49:24 +00:00
Abdelrazak Younes
d7c3ab3203 * Paragraph: Move more things to Paragraph::Private
- remove META_INSET from Paragraph.h
- move text_ container to Private. I know this put there for performance reason but I don't see any penalty with this move. I guess this is because Buffer loading doesn't use Paragraph::getChar() anymore. I will move performance critical code to Paragraph::Private when/if we detect them.
- replace Paragraph::value_type with straight char_type: this was more noise than anything.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21163 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-24 07:08:55 +00:00
Richard Heck
2f4d0ae27e Remove methods marked for removal from InsetCommandParams. Yeah, we can do that now. ;-)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21154 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-23 18:51:04 +00:00
Martin Vermeer
6da13bd888 Improve verbatim for RTL
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21153 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-23 18:23:03 +00:00
Abdelrazak Younes
e6f3d34556 * Paragraph: erase unused some method and move some members to Paragraph::Private.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21148 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-23 13:25:05 +00:00
Abdelrazak Younes
5ead1beb71 * Paragraph:latex(): de-spaghettization step 2: split out T1 encoding, Typewriter font and 'special phrases' special cases.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21147 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-23 09:53:06 +00:00
Abdelrazak Younes
3911d72568 * Paragraph: reserve memory by chunks of 100 chars. This improve the loading of big document of about 15% (12s instead of 14s for the UserGuide copied and pasted 10 times). There is zero penalty memory wise; quite weirdly, there is a benefit actually: 58 Megs instead 60 Megs, I don't understand why. For comparison, 1.5 needs 78 Megs for the same document.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21127 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-22 20:05:41 +00:00
Abdelrazak Younes
c86e632afa Introducing FontList::setRange()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21126 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-22 19:18:51 +00:00
Abdelrazak Younes
e6f059a132 * Paragraph:
- simpleTeXOnePar(): renamed to latex(), beginning of de-spaghettization by truly splitting inset and character cases.
- appendChar(), appendString(): new method for buffer reading.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21117 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-22 13:09:16 +00:00
André Pönitz
f934b86850 cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21097 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-21 10:50:56 +00:00
Martin Vermeer
ccacb487f2 Verbatim for URL inset, \protect for special phrases (index inset)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21083 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-20 17:05:28 +00:00
Bo Peng
f997b92ece make trunk compile with gcc4
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21081 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-20 14:10:49 +00:00