Commit Graph

505 Commits

Author SHA1 Message Date
André Pönitz
d9a5f157ae move paragraph_pimpl.* into paragraph.C
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17939 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-24 10:01:03 +00:00
Georg Baum
9e8f7c38a4 remove unused parameter
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17828 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-16 18:20:49 +00:00
Georg Baum
8971c25508 Prevent invalid latex for multilingual sections and inputenc == auto.
We output the \inputencoding command before the section if possible, and we
ignore all encoding changes in the section. Commands from the unicodesymbols
file will be used for characters that can't be encoded in the current
encoding instead of switching the encoding.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17827 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-16 18:06:01 +00:00
André Pönitz
83b326d204 avoid evalutation of lyxerr arguments unless really needed
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17675 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-01 10:09:49 +00:00
Georg Baum
925c17c058 Get rid of LyXRC::font_norm_type, since it is no longer needed for arabic
support.
LyXRC::font_norm stays for now, since it is still used for the kbmap stuff.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17566 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-26 08:24:38 +00:00
Georg Baum
4f1d5e72ef Fix bug 3235
* src/insets/insetcaption.C
	(InsetCaption::latex): Copy back encoding to runparams_in

	* src/insets/insetfoot.C
	(InsetFoot::latex): ditto

	* src/insets/insetnote.C
	(InsetNote::latex): ditto

	* src/exporter.C
	(Exporter::Export): Create runparams with document encoding

	* src/converter.C
	(bool Converters::convert): ditto

	* src/buffer.C
	(Buffer::writeLaTeXSource): Copy back encoding to runparams_in
	(Buffer::runChktex): Create runparams with document encoding
	(Buffer::changeRefsIfUnique): ditto

	* src/outputparams.[Ch]
	(encoding): New member

	* src/lyxfont.C
	(LyXFont::latexWriteStartChanges): Don't switch the encoding anymore.
	This is now done in Paragraph::simpleTeXOnePar.
	(LyXFont::latexWriteEndChanges): Ditto

	* src/output_latex.C
	(TeXOnePar): Ditto

	* src/paragraph.C
	(Paragraph::simpleTeXOnePar): Switch the encoding between font
	changes if needed.

	* All other files: Adjust to the changes above


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17470 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-18 10:59:16 +00:00
Georg Baum
73ec6e8f25 add comment about strange code
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17438 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-13 20:06:04 +00:00
Georg Baum
d5f03d0c6e * src/paragraph_pimpl.[Ch]
(Paragraph::Pimpl::simpleTeXSpecialChars): Get rid of the 'font'
	argument, since the caller ensures that it is equal to 'running_font'.

	* src/paragraph.C
	(Paragraph::simpleTeXOnePar): Adjust to change above


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17437 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-13 19:46:56 +00:00
Jean-Marc Lasgouttes
07aead5b21 Fix bug 3080
* src/paragraph.C (adjust_row_column): renamed from adjust_column_count;
	add texrow argument and adjust row as needed.
        (startTeXParParams, endTeXParParams, simpleTeXOnePar): adjust to above 
	changes.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17342 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-25 13:20:29 +00:00
Georg Baum
87289f4d20 remove unused includes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17328 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-24 18:00:42 +00:00
Michael Schmitt
35ce135f97 * src/paragraph.C: stripLeadingSpaces(): make return statements
more meaningful


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17269 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-20 08:34:04 +00:00
Georg Baum
6b98d4747e fix misleading comment
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17157 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-12 20:51:00 +00:00
Georg Baum
b42547ac13 missing bit of InsetLatexAccent patch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17150 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-12 08:01:21 +00:00
José Matox
76c3d964df Convert lyxaccents to unicode (most of the work comes from Georg)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17144 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-11 23:52:07 +00:00
Michael Schmitt
7485d9f552 * src/paragraph.C: simplify another occurrence of LaTeXFeatures::isAvailable();
fix LaTeX output wrt change tracking - a file with changes and CT output disabled
	should result in the same TeX file as a file with all changes accepted


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17126 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-09 23:52:22 +00:00
Michael Schmitt
ea53fcb86a * src/paragraph.[Ch]: remove Paragraph::clearContents(); this
method is unused and would make LyX crash (no CT support etc)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17113 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-08 17:47:51 +00:00
Georg Baum
feb7895965 Add machinery to output arbitrary unicode characters with LaTeX commands
read from a text file.

	* src/encoding.[Ch]

	(Encoding::latexChar): New, output a character to LaTeX
	(Encoding::validate): New, add needed preamble stuff for a character
	(Encodings::read): Read new unicodesymbols file
	(Encodings::isCombiningChar): New, is a character a combining char?

	* src/paragraph_pimpl.C
	(isEncoding): Delete, no longer needed
	(getEncoding): New, get the real encoding of a font
	(Paragraph::Pimpl::latexSurrogatePair): New, output a surrogate pair
	to LaTeX
	(Paragraph::Pimpl::simpleTeXBlanks): Use latexSurrogatePair if needed
	(Paragraph::Pimpl::simpleTeXSpecialChars): Ditto, and replace several
	hardcoded characters with a call of encoding.latexChar()
	(Paragraph::Pimpl::validate): replace several hardcoded characters
	with a call of encoding.validate()

	* src/support/debugstream.h
	(basic_debugstream::disable): New, disable the stream completely
	(basic_debugstream::enable): New, reenable the stream

	* src/lyx_main.[Ch]: Adjust to changes above

	* src/paragraph.C: Ditto

	* lib/unicodesymbols: New file with UCS4 -> LaTeX command mapping.
	It is far from complete yet, but contains most accents on latin
	characters.

	* lib/Makefile.am: add lib/unicodesymbols

	* development/scons/scons_manifest.py: ditto

	* development/tools/unicodesymbols.py: Helper script to update
	lib/unicodesymbols with new symbols


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16920 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-28 21:27:45 +00:00
Georg Baum
e6b2b34097 Add two FIXMEs for Michael
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16911 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-28 19:36:30 +00:00
Michael Schmitt
2e09a925a5 * src/lyxtext.h:
* src/BufferView.C:
* src/text3.C:
* src/text.C: merge methods acceptChange() and rejectChange() to acceptOrRejectChange() because they share a lot of tricky code

* src/text.C: yet another revision of acceptOrRejectChange()

* src/paragraph.C:
* src/paragraph.h:
* src/paragraph_pimpl.C:
* src/paragraph_pimpl.h:
* src/insets/insettabular.C:
* src/insets/insettabular.h:
* src/insets/insettext.C:
* src/insets/insettext.h:
* src/insets/insetbase.h: pass BufferParams to acceptChanges() and rejectChanges() (needed for paragraph merging)

* src/insets/insettext.C: handle end-of-par in acceptChanges() and rejectChanges()

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16830 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-23 21:53:16 +00:00
Michael Schmitt
1a413a2d98 * src/paragraph.h:
* src/paragraph.C: stripLeadingSpaces(); return boolean indicating
	whether any character has been deleted - either physically or logically


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16798 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-21 21:11:27 +00:00
Jean-Marc Lasgouttes
b7518c3c95 * insets/insetbase.h (textString): Simplify the signature
* insets/insetquotes.C (textString):
	* insets/insetcharstyle.C (textString):
	* mathed/InsetMathHull.C (textString): adapt.

	* insets/insetquote.C (plaintext, textString): output disString 
	instead of a raw quote.

	* paragraph.C: adapt and remove unused methods.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16766 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-19 16:23:13 +00:00
Georg Baum
c727c6db7f * src/insets/insetbase.h
(forceDefaultParagraphs): Fix comment: Not all text classes have a
	"Standard" layout. What was meant here is the default layout of the
	text class.

	* src/paragraph.C
	(Paragraph::simpleTeXOnePar): ditto

	* src/output_latex.C
	(latexParagraphs): ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16738 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-17 21:22:19 +00:00
Michael Schmitt
28d94b4c96 * src/paragraph.C: remove unused sgmlLineBreak()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16711 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-16 22:11:00 +00:00
Michael Schmitt
1f7a1257f1 * change LFUN file-insert-ascii to file-insert-plaintext
* change LFUN file-insert-ascii-para to file-insert-plaintext-para
* change LyXRC::RC_ASCIIROFF_COMMAND to LyXRC::RC_PLAINTEXT_ROFF_COMMAND
* change LyXRC::RC_ASCII_LINELEN to LyXRC::RC_PLAINTEXT_LINELEN
* replace "ascii" by "plaintext" in method names


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16697 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-15 22:49:14 +00:00
Abdelrazak Younes
e68d69e473 Translate labels based on the paragraph language instead of the Buffer language.
* Buffer:
  - translateLabel(): deleted.

* Paragraph:
  - translateIfPossible(): new method.
  - expandLabel(): new method.

* buffer_funcs.[Ch]
  - expandLabel(): deleted.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16694 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-15 16:58:14 +00:00
Michael Schmitt
ee5aa68acf * src/CutAndPaste.C:
* src/paragraph.C:
* src/paragraph.h:
* src/text2.C: consider change tracking in stripLeadingSpaces()

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16684 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-14 18:27:27 +00:00
Georg Baum
bcb1654b15 Make the output of \inputencoding commands (and the change of output
encodings) more fine grained: From paragraph level to individual character
level. The inputenc package supports that since at least 2000.

	* src/insets/insetbase.h
	(latex): Document the differences between output to a string stream
	and a file stream

	* src/buffer.h
	(writeLaTeXSource): ditto

	* src/output_latex.h
	(latexParagraphs): ditto
	(switchEncoding): new function to change the encoding of a stream
	(and output \inputencoding commands)

	* src/paragraph_pimpl.C
	(Paragraph::Pimpl::simpleTeXSpecialC): Adjust to latexWriteEndChanges
	changes

	* src/support/docstream.[Ch]
	(setEncoding, operator<<): New stream modifier that changes the
	encoding of file streams

	* src/lyxfont.[Ch]
	(LyXFont::latexWriteStartChanges): Change stream encoding if needed
	(LyXFont::latexWriteEndChanges): Change stream encoding if needed

	* src/lyxfont.h
	(public:):

	* src/paragraph.C
	(Paragraph::simpleTeXOnePar): Adjust to latexWriteStartChanges and latexWriteEndChanges changes
	(bool Paragraph::simpleTeXOnePar):
	(bool Paragraph::simpleTeXOnePar):
	(bool Paragraph::simpleTeXOnePar):
	(bool Paragraph::simpleTeXOnePar):
	(bool Paragraph::simpleTeXOnePar):

	* src/output_latex.C
	(TeXOnePar): Remove the ugly hack to for wencoding changes and use
	switchEncoding instead. A nice side effect is that the old hack would
	not work if the main language encoding is latin1 and a character
	would be mapped to a cedilla in the "fake ucs4" encoding, because
	iconv refuses to convert such a character to latin1, although it
	exists in latin1 (it wants to attach it to a base character).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16633 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-09 19:25:40 +00:00
Michael Schmitt
bc7d9340ae * src/paragraph.C:
* src/paragraph.h: lookupChange(): return reference for performance optimization

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16615 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-08 22:21:57 +00:00
Georg Baum
1aebac8d44 more typos
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16585 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-07 18:40:06 +00:00
Georg Baum
0011cad000 Add some documentation
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16581 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-07 17:58:36 +00:00
Michael Schmitt
651606f633 * src/paragraph.C: hfillExpansion(): rewrite loop for better understanding
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16567 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-07 10:42:10 +00:00
Michael Schmitt
154ea92de6 * src/paragraph.C: sanitize hfillExpansion()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16566 a592a061-630c-0410-9148-cb99ea01b6c8
2007-01-07 10:25:45 +00:00
Abdelrazak Younes
b2126408cf This commit do the Model/View separation of the LyXText and Paragraph classes. The separation is mostly complete for the Paragraph class but some more transfer should occur for the LyXText class.
* ParagraphMetrics.[Ch]: new files

* TextMetrics.[Ch]: new files.

* lyxtext.h/text2.C/text3.C: some code transferred to the TextMetrics class.

* paragraph.[Ch]: all screen oriented code transfered to ParagraphMetrics class.

* BufferView:
 - text_metrics_: new TextMetrics cache private member.
 - textMetrics(): new access method.
 - parMetrics(): ditto.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16433 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-29 23:54:48 +00:00
Georg Baum
e2eb27d76e Let the compiler generate default constructor, copy constructor and
assignment operator


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16354 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-21 08:46:32 +00:00
Abdelrazak Younes
30f8a6327f First step towards model/view separation of Paragraph class.
- ParagraphMetrics: new class gathering everything related to metrics.
- Paragraph: now derives from ParagraphMetrics.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16335 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-19 14:27:38 +00:00
Abdelrazak Younes
21b0a4ab9b Fix for bug 3027 by Martin V.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16309 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-17 10:11:28 +00:00
Jürgen Spitzmüller
73b2f634af * paragraph.C (startTeXParams, endTeXParams):
reset column count after linebreak.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16209 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-08 18:20:38 +00:00
Jürgen Spitzmüller
a0534e02c1 * src/paragraph.C (corrected_env, endTeXParams):
- writeout \begin and \end alignment tags on their own lines (bug 3010).
(patch from Gregor Gorjanc and me).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16164 a592a061-630c-0410-9148-cb99ea01b6c8
2006-12-04 07:27:49 +00:00
Michael Schmitt
62ef9250a2 * src/paragraph.C:
* src/paragraph.h:
	* src/paragraph_pimpl.C:
	* src/paragraph_pimpl.h: add method isMergedOnEndOfParDeletion()


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16029 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-24 21:16:46 +00:00
Georg Baum
a116e04b8b Use wctype character classification functions if possible
* src/buffer.C
	(Buffer::insertStringAsLines): Uncomment isPrintable test

	* src/support/lstrings.C
	(compare_no_case): Use char_type and not int for the docstring version
	(ascii_tolower): Convert to a template
	(compare_ascii_no_case): Do not use a template anymore, because we
	need int for the string version and char_type for the docstring
	version as intermediate type
	(lowercase): Use towlower if possible
	(uppercase): Use towupper if possible

	* src/support/textutils.h
	(isLetterChar): Use iswalpha if possible
	(isPrintable): Use iswprint if possible
	(isPrintableNonspace): Use iswprint and iswspace if possible
	(isDigit): Use iswdigit if possible

	* src/paragraph.C
	(Paragraph::asString): remove obsolete FIXME
	(Paragraph::transformChar): add FIXME

	* configure.ac: Add definition of LIBC_WCTYPE_USES_UCS4 to config.h

	* development/cmake/config.h.cmake: ditto

	* development/scons/SConstruct: ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15893 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-13 09:53:25 +00:00
Georg Baum
6d987a0efd Fix the remaining bits of bug 2476
* src/paragraph.C
	(Paragraph::changeLanguage): Don't forget the dummy font change at
	the end of the paragraph when changing the language. This does not
	affect the other place where this code is used:
	Buffer::changeLanguage.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15890 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-12 17:02:43 +00:00
Georg Baum
ec15dfd2a3 remove obsolete FIXMEs
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15843 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-10 21:28:13 +00:00
Michael Schmitt
b937ae39f9 * src/paragraph.h:
* src/paragraph_pimpl.C:
	* src/paragraph_pimpl.h:
	* src/paragraph.C: get rid of unused method setContentsFromPar()
	and remove another change tracking FIXME at the same time


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15676 a592a061-630c-0410-9148-cb99ea01b6c8
2006-11-01 17:51:41 +00:00
Michael Schmitt
ae1346990b change tracking:
Better change time handling. Quote from Changes.C:

  Class Change has a changetime field that specifies the exact time at which
  a specific change was made. The change time is used as a guidance for the
  user while editing his document. Presently, it is not considered for LaTeX
  export. To avoid that every keystroke results in a separate change, a
  tolerance interval of 5 minutes is used. That means if there are two adjacent
  changes that only differ in their change time with abs(ct1 - ct2) < 300 sec,
  they will be merged (and the later change time is preserved).
  Technically, the check for equality (or similarity) is made in
  operator==(...). The merging of similar changes happens in method merge().

Resolve FIXMEs for LyX & LaTeX output.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15569 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-26 19:00:28 +00:00
Michael Schmitt
d53d4a5c35 change tracking:
* src/*.C:
	* src/insets/*.C: implement rejectChanges() in analogy to
	acceptChanges();
	
	* src/paragraph_pimpl.C: add assertions for pos, start, and 
	end parameters


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15542 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-24 21:38:47 +00:00
Michael Schmitt
00ffa3ca7c change tracking:
* src/paragraph.h: rename acceptChange() to acceptChanges()
        * src/insets/insetbase.h:
        * src/insets/insettext.h:
        * src/insets/insettabular.h: add acceptChanges()
        * src/*.C: fix acceptChanges() (& also accept changes in nested
        insets)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15520 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-24 06:11:45 +00:00
Michael Schmitt
dcc3f7f151 * src/lyxfind.C:
* src/paragraph.C: more change tracking cosmetics


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15513 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-23 16:25:29 +00:00
Michael Schmitt
504fa6f918 * text2.C:
* paragraph.C: change tracking cosmetics


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15510 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-23 16:03:14 +00:00
Michael Schmitt
0aaa8c5bcc change tracking:
* src/paragraph.h: rename erase() to eraseChars()
	for consistency with eraseChar()
	* src/paragraph_pimpl.h: dito; merge the two erase() methods
	* src/*.C: adjust properly


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15478 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 14:36:08 +00:00
André Pönitz
e0ec0f1efa some compile fixes, more to be expected
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15466 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-22 11:13:18 +00:00