- 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
- 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
* 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
* 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
* 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
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
* 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
* 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
seems. ChangeTracking responsible please verify all
erase/eraseChar where we added false or where it is
called without changetracking bool (jug).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15456 a592a061-630c-0410-9148-cb99ea01b6c8
* paragraph.h: remove setChar(...); all text changes
must be expressed as erase and insert operations in
order to support change tracking
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15440 a592a061-630c-0410-9148-cb99ea01b6c8
Known problems:
- No space is output after a \hfill. I probably broke this with the
InsetCommand patch. I'll have a look later.
- Although the encoding is now UTF8 the arguments of the inputenc package
are still the old ones, so LaTeX will not run.
- Labels and references with non-ASCII characters are broken. This needs to
be fixed in lyx::support::escape(), but this is a file format change.
- Something seems to be wrong with index entries, but this is probably also
due to the InsetCommand changes.
Have fun!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15378 a592a061-630c-0410-9148-cb99ea01b6c8
export (e.g. the ToC) and the navigate menu.
* src/insets/insetbase.h
(InsetBase::plaintext): output to a docstream
(InsetBase::textString): ditto
* src/mathed/TextPainter.h
(TextPainter::show): ditto
* src/support/docstream.[Ch] New file and string streams for
docstring. The file streams convert to UTF8 on the fly.
* many more files: Adjust to the changes above
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15301 a592a061-630c-0410-9148-cb99ea01b6c8
* rename output_changes to outputChanges
* rename tracking_changes to trackChanges
* add FIXMEs for later revision
* remove trackChanges(); the CT data structure will always be set up
* decouple LFUNs changes-output/change-accept/change-reject/
all-changes-accept/all-changes-reject from LFUN changes-track
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15261 a592a061-630c-0410-9148-cb99ea01b6c8
- src/support/unicode.[Ch]: new files with functions for converting
to and fro ucs4, ucs2 and utf8.
- src/support/docstring.h: specialization of basic_string that
holds a uint32_t internally.
- Several functions changed to use char_type instead of char or unsigned char.
- Qt3 and Qt4 sends ucs2 on to core
- Gtk sends ucs4 on to core
- Read and write utf-8 .lyx files.
- font_metrics and painter updated to handle ucs4 chars as input.
- Quite a bit of ugly compability code, conversion string->docstring, etc.
- Have fun...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14661 a592a061-630c-0410-9148-cb99ea01b6c8
* lib/lyx2lyx/LyX.py (format_relation): add file format 247 (from Georg BAUM).
* lib/lyx2lyx/lyx_1_5.py: add convert_font_settings, revert_font_settings (from Georg BAUM).
* lib/chkconfig.ltx: Test for newly supported font packages
* lib/doc/LaTeXConfig.lyx.in: document newly supported font packages
* lib/doc/UserGuide.lyx: document new UI.
* lib/doc/Extended.lyx: update PostScript font documentation
* development/FORMAT: document file format change 246->247.
* src/tex-strings.[Ch]: new strings tex_fonts_roman, tex_fonts_sans,
tex_fonts_monospaced (with GUI equivalents).
* src/buffer.C: Format up to 247.
* src/bufferparams.C:
new params fontsRoman, fontsSans, fontsTypewriter, fontsDefaultFamily,
fontsSC, fontsOSF, fontsSansScale and fontsTypewriterScale
(LyXFont const BufferParams::getFont): consider switch of default family.
(string const BufferParams::loadFonts): new method to get all the LaTeX
font stuff done.
* src/paragraph.C
(LyXFont const Paragraph::getFont):
(LyXFont const Paragraph::getLabelFont):
(LyXFont const Paragraph::getLayoutFont): user buffer's not textclass's
default font
* src/text.C
(int LyXText::leftMargin):
(int LyXText::rightMargin): user buffer's not textclass's default font
* src/text2.C
(LyXFont LyXText::getFont):
(LyXFont LyXText::getLayoutFont):
(LyXFont LyXText::getLabelFont): check if the family of the default document
font has been customized.
* src/frontends/gtk/GDocument.[Ch]: implement new font ui (from Georg BAUM).
* src/frontends/gtk/glade/document.glade: implement new font ui (from Georg BAUM).
* src/frontends/qt3/Makefile.dialogs: add new FontModuleBase
* src/frontends/qt3/ui/FontModuleBase.ui: new File
* src/frontends/qt3/ui/TextLayoutModuleBase.ui: remove font widgets
* src/frontends/qt3/QDocument.C
* src/frontends/qt3/QDocumentDialog.[Ch]: implement new font ui
* src/frontends/qt4/Makefile.dialogs: add new FontUi
* src/frontends/qt4/QDocumentDialog.[Ch]: implement new font ui
* src/frontends/qt4/ui/FontUi.ui: new File
* src/frontends/qt4/ui/TextLayoutUi.ui: remove font widgets
* src/frontends/qt4/ui/compile_uic.sh: add new FontUi
* src/frontends/xforms/FormDocument.[Ch]: implement new font ui
* src/frontends/xforms/forms/form_document.fd: add new font tab.
* src/frontends/controllers/ControlDocument.[Ch]
(char ControlDocument::fontfamilies):
(char ControlDocument::fontfamilies_gui):
(bool ControlDocument::isFontAvailable):
(bool ControlDocument::providesSC):
(bool ControlDocument::providesOSF):
(bool ControlDocument::providesScale): new methods, providing font info.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14143 a592a061-630c-0410-9148-cb99ea01b6c8
remove lookupChangeType;
rename setChange to setChangeType;
rename setChangeFull to setChange
src/paragraph_pimpl.h:
remove lookupChange;
rename lookupChangeFull to lookupChange;
rename setChange to setChangeType;
rename setChangeFull to setChange
src/changes.h: remove lookup;
rename lookupFull to lookup;
rename loose_contains to containsOrPrecedes;
adjust the other files accordingly
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13812 a592a061-630c-0410-9148-cb99ea01b6c8
indicating if ct is used in the current buffer.
(cleanChanges): pass enum ChangeTracking.
* src/paragraph_pimpl.C (cleanChanges): delete ct marks from
paste content if ct is of in the buffer. Set content INSERTED
if ct is on (bug 2207).
* src/CutAndPaste.C (pasteSelectionHelper): pass information
about the current change tracking state to cleanChanges.
* src/paragraph_pimpl.h (cleanChanges): pass enum ChangeTracking.
* src/paragraph.C (cleanChanges): pass enum ChangeTracking.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13666 a592a061-630c-0410-9148-cb99ea01b6c8
* paragraph.h: make value_type point at char_type
* other files: change some bald 'char' to 'char_type'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13609 a592a061-630c-0410-9148-cb99ea01b6c8
capitalized to have first letter lowercased.
* Adjust all affected files.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13605 a592a061-630c-0410-9148-cb99ea01b6c8
* src/LaTeXFeatures.[Ch]: replace nice_ by runparams_
* src/insets/insetexternal.C
(InsetExternal::validate): Use the correct template for the desired
output format
* src/insets/insetgraphics.C
(InsetGraphics::prepareFile): Record the needed files for "latex"
or "pdflatex" format, dependant on the desired output format
* src/insets/insetinclude.C
(InsetInclude::latex): ditto
* src/BufferView_pimpl.C
(BufferView::Pimpl::getStatus): adapt to LaTeXFeatures changes
* src/paragraph_pimpl.C
(Paragraph::Pimpl::simpleTeXSpecialC): ditto
* src/buffer.C
(Buffer::makeLaTeXFile): ditto
(Buffer::makeLinuxDocFile): ditto
(Buffer::makeDocBookFile): ditto
* src/paragraph.C
(Paragraph::simpleTeXOnePar): ditto
* src/exporter.C
(Backends): Add "pdflatex" backend format
(Exporter::Export): set runparams.flavor correctly for "pdflatex" format
* lib/external_templates
(RasterImage): Use "pdflatex" format in PDFLaTeX template
(XFig): ditto
(ChessDiagram): Add PDFLaTeX template
(Date): ditto
* lib/configure.py: Add "pdflatex" format
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13520 a592a061-630c-0410-9148-cb99ea01b6c8