I believe that it is for horizontal
"scrolling": If you have a table that is wider than the screen and you go
to a cell that is at the right edge then, if you are lucky, the table is
shifted to the left so that you can edit the cell and even go further
right. This does however not work reliably.
If I am right then the variable name scx_ would make some sense: sc for
scrolling. The ChangeLog comments also seem to point in this direction. And
most of them were done by Jürgen Vigna who is AFAIK in Denmark.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15414 a592a061-630c-0410-9148-cb99ea01b6c8
src/text2.C: invoke insertInset with correct
Change parameter; only check for change _type_
(DELETED) for DEPM purposes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15406 a592a061-630c-0410-9148-cb99ea01b6c8
* src/rowpainter.C: check for change type equality, not
for equality of the compete Change objects
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15404 a592a061-630c-0410-9148-cb99ea01b6c8
* src/bufferparams.C: output authors no matter whether
we are in CT mode or not
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15402 a592a061-630c-0410-9148-cb99ea01b6c8
* src/mathed/MathParser.C
(parse1): behave correctly when a wrong delimiter is specified.
* src/mathed/InsetMathBig.C
(write): don't write a space before delimiter.
* src/frontends/qt4/QDelimiterDialog.C
(QDelimiterDialog): make translatable the string "Variable size".
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15397 a592a061-630c-0410-9148-cb99ea01b6c8
- Move lyx_server_ and lyx_socket destruction out of prepareExit() because those are only available when lyx::use_gui is true.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15394 a592a061-630c-0410-9148-cb99ea01b6c8
- Fix LaTeX export of User guide (the utf8 conversion buffer was too small)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15390 a592a061-630c-0410-9148-cb99ea01b6c8
* insettext.[Ch]
(InsetText::covers): added to allow the click-sensitive area to grow
with the Wide() condition.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15384 a592a061-630c-0410-9148-cb99ea01b6c8
getCommand does not include the {} anymore, because \hfill has no arguments.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15379 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
* BufferView::updateMetrics(): add a big FIXME and don't clear out the coord_cache_.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15375 a592a061-630c-0410-9148-cb99ea01b6c8
- Polish the behavior when the TOC is empty (clearing the button and the TOC tree)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15373 a592a061-630c-0410-9148-cb99ea01b6c8
Now, lyx is really ready for multiple LyXView. Just need to create an LFUN for it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15370 a592a061-630c-0410-9148-cb99ea01b6c8
This commit also modifies the LyXFunc class. A LyXView is not needed any more at construction. Neither is the top level keymap. The LyXFunc key sequences are initialized only if we are in GUI mode (lyx::use_gui = true).
The next step is to rename LyXFunc::owner to LyXFunc::lyx_view_ and to put some BOOST_ASSERT. A classification between Gui and Kernel oriented LFUNs would also be welcome.
*LyX/lyx_main.[Ch]:
- LyX::Singletons: new private structure containing all the singletons (except the main LyX one of course).
- buffer_list_, top_level_keymap, session_: transfered to the LyX::Singletons structure.
* LyXFunc:
- LyXFunc: default constructor does not need any arguments.
- setupLocalKeymap(): deleted (was not used anywhere).
- initKeySequences(): new public method called from lyx_main.C, useful only in lyx::use_gui mode.
- new private member accessor methods
* Application:
- Application_pimpl: deleted (transfered to LyX)
- global singleton accessors: transfered to lyx_main.C
- start(): code transfered to LyX::priv_exec()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15367 a592a061-630c-0410-9148-cb99ea01b6c8
* src/insets/insetcommandparams.[Ch]:
(operator[]): New, access a parameter
(clear): New, clear all parameters
(info_): New, stire info about this command
(cmdname): Rename to name_
(contents, options, sec_options): Replace with params_. Parameters
are now stored as docstring.
(findInfo): New factor for command info for all commands
(read, write): Use new syntax
(parameter set and get methods): reimplemenmt for new parameter storage
* src/insets/insetcommand.h
(getParam): New, get a parameter
(setParam): New, set a parameter
(parameter set and get methods): Adjust to InsetCommandParams changes
* src/insets/insetbibitem.[Ch]
(write): Remove, not needed anymore
(directWrite): ditto
* src/insets/insetbibitem.C
(InsetBibitem::read): Use InsetCommand::read
* src/insets/insetref.C
(InsetRef::latex): Use new InsetCommandParams interface
* src/mathed/InsetMathHull.C
(InsetMathHull::doDispatch): ditto
* src/text3.C
(LyXText::dispatch): ditto
* src/factory.C
(createInset): Create InsetCommandParams with command name
(readInset): ditto
(readInset): Remove error message for bibitem, since bibitem is
now a normal command inset
* src/buffer.C: Bump file format number
* src/frontends/controllers/ControlCommand.[Ch]
(ControlCommand): take an additional command name parameter
* src/text.C
(readParToken): Remove code for \bibitem
* lib/lyx2lyx/LyX.py: Bump latest file format number
* lib/lyx2lyx/lyx_1_5.py
(convert_bibitem, convert_commandparams): new, convert to new format
(revert_commandparams): new, convert to old format
* development/FORMAT: document new format
* many other files: Adjust to the changes above
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15357 a592a061-630c-0410-9148-cb99ea01b6c8
CoordCache & coord_cache = sl.text()->bv()->coordCache();
As you can see, I used this indirection to access the BufferView::CoordCache(). Bad luck, the passed CursorSlice was not completely valid inside a mathed inset, hence the crash. My solution is to pass BufferView to InsetBase::cursorPos() and all its derivative.
* InsetBase::cursorPos(): pass BufferView const &
* bufferview_funcs::coordOffset(): ditto.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15356 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt3/QDocumentDialog.C (updateNumbering): don't include headings
that have no counter in their label.
* src/frontends/qt3/ui/NumberingModuleBase.ui: show scrollbar when appropriate.
* src/frontends/qt4/QDocumentDialog.C (updateNumbering): don't include headings
that have no counter in their label.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15352 a592a061-630c-0410-9148-cb99ea01b6c8
The coordcahce is for up/down navigation and vconverting mouseclicks to text positions. It is not for pure display/export which
is what drawT is about. It was a simple oversight not to remove it after some copying from the 'real' draw() method.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15347 a592a061-630c-0410-9148-cb99ea01b6c8
* QToc::update(): return early if no TOC type.
* QTocDialog::updateGui(): return early of the Type model is empty and disable the outline buttons.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15346 a592a061-630c-0410-9148-cb99ea01b6c8
* src/buffer:
file format incrementation to 251
* src/insets/insetcharstyle.[Ch]:
- make show_label a param and save its state
- let all-insets-toggle togle the label in charstyles
* development/FORMAT:
document file format change
* lib/lyx2lyx/LyX.py:
add new file format
* lib/lyx2lyx/lyx_1_5.py:
remove char style label param on reversion to 250.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15345 a592a061-630c-0410-9148-cb99ea01b6c8
* lyx_main.h: define "extern bool lyx::use_gui" here.
* NoGuiFontMetrics.h: new class for command-line LyX
* NoGuiFontLoader.h: new class for command-line LyX
* Application.C:
- theFontMetrics(): returns the above dummy FontMetrics when use_gui is false.
- theFontLoader(): returns the above dummy FontLoader when use_gui is false.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15339 a592a061-630c-0410-9148-cb99ea01b6c8
(readInset): Add comment about citation commands
* src/tex2lyx/text.C
(known_jurabib_commands): remove fullcite since LyX does not know it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15335 a592a061-630c-0410-9148-cb99ea01b6c8
* MathFactory.C:
- initMath(): revert change from r15327 because initSymbols() is needed for proper math parsing.
- math_font_available(): return false if lyx::use_gui is false.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15331 a592a061-630c-0410-9148-cb99ea01b6c8
* lyx_main.C:
- parse_export(): set lyx::use_gui to false.
* MathFactory.C:
- initMath(): initSymbols() only if lyx::use_gui is true.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15327 a592a061-630c-0410-9148-cb99ea01b6c8
theCoords is now a thing of the past and all CoordCache accesses are done via BufferView::coordCache() now. I had to modify a number of methods to pass BufferView.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15324 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt[34]/GuiApplication.C
(lyx::frontend::Application * createApplication): Don't return the
address of a temporary, but use the new operator.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15313 a592a061-630c-0410-9148-cb99ea01b6c8
* LyXFunc: new setLyXView() method
* LyXView::dispatch(): call LyXFunc::setLyXView() before lyx::dispatch()
What remains to be done is to ensure that every call to lyx::dispatch that is LyXView dependant is replaced with LyXView::dispatch().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15308 a592a061-630c-0410-9148-cb99ea01b6c8
Only qt4 is guaranted to compile and work. I did not remove gtk and qt3 lyx_gui.C because they might be needed for reference to complete the header declarations in "GuiApplication.C".
- lyx_gui::use_gui transfered to lyx::use_gui in lyx_main.C
- all remaining lyx_gui functions transfered to Application and corresponding GuiApplication implementations.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15306 a592a061-630c-0410-9148-cb99ea01b6c8
- new buffer_list_ member and accessors
- implementation of theBufferList() extern function
* Application: remove everything related to BufferList
* lyx_cb.C: test for lyx::use_gui before using theApp.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15303 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
Please don't forget to clean up includes and using directives.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15300 a592a061-630c-0410-9148-cb99ea01b6c8
* lyxfunc.h:
- theLyXFunc(): new function in the global namespace.
- lyx::dispatch(): new function in the lyx namespace.
- lyx::getStatus(): new function in the lyx namespace.
* bufferlist.h:
- theBufferList(): new function in the global namespace.
* Clipboard.h:
- theClipboard(): new function in the global namespace.
* Selection.h:
- theSelection(): new function in the global namespace.
* FontLoader.h:
- theFontLoader(): new function in the global namespace.
* FontMetrics.h:
- theFontMetrics(LyXFont const &): new function in the global namespace.
* Application.C: implements the functions defined above.
* LyXView.h:
- getLyXFunc(): deleted.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15298 a592a061-630c-0410-9148-cb99ea01b6c8
- text(): now returns drawn text width()
* rowpainter:
- paintChars(): use the returned width from Painter::text() instead of recalculating it.
All other files: implement the API change. qt3 and gtk not 100% guaranted to compile nor work.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15294 a592a061-630c-0410-9148-cb99ea01b6c8
* buffer.[Ch] (changeRefsIfUnique): extend to handle bibitems
as well (the function takes a InsetCode argument now);
clean up by using InsetIterator.
* InsetMathHull.C (doDispatch): changeRefsIfUnique needs a
InsetCode argument now (bug 2744).
* insetlabel (doDispatch): changeRefsIfUnique needs a
InsetCode argument now.
* insetbibitem (doDispatch): use changeRefsIfUnique
(actual fix for bug 2744).
* insetcommand.[Ch]:
* insetcite.[Ch]: implement replaceContents, which is
used by changeRefsIfUnique.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15289 a592a061-630c-0410-9148-cb99ea01b6c8
* controllers/Dialog.[Ch]
- View::title_ is now a docstring (ctor and access functions changed)
* controllers/ControlLog.[Ch]
- title() now returns a docstring
* controllers/ControlLog.[Ch]
- title() now returns a docstring
* qt4/*: adapted to above changes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15283 a592a061-630c-0410-9148-cb99ea01b6c8
* lstrings.[Ch]: new docstring trim() function
* qt4/validators.C: PathValidator::validate() and printable_list() converted to unicode.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15281 a592a061-630c-0410-9148-cb99ea01b6c8
- getChangeAuthor() and getChangeDate(): converted to unicode.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15279 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/unicode.C
(iconv_convert): Use boost::uint32_t for storing a buffer character,
since the previously stored unsigned char is too small. I did not
use lyx::char_type on purpose because that might not be interpreted
as number, but as wide character if lyx::char_type == wchar_t.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15278 a592a061-630c-0410-9148-cb99ea01b6c8
- ucs4_to_qchar() and qchar_to_ucs4() have been inlined.
- ucs4_to_qstring(): pass a QString to avoid a copy.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15266 a592a061-630c-0410-9148-cb99ea01b6c8
Basically, I replaced all methods in the font_metrics namespace by a proper virtual interface FontMetrics. The FontLoader is _the_ container for FontMetrics.
This patch should also bring some optimizations in a number of place in the code. This is because we do not need any more to search for the LyXFont at each font_metrics call. In effect, the speed advantage is not as sensible and this is a bit deceiving considering that this was my primary motivation behind the patch. But I like the patch anyway as it cleans up the relation and interfacing between fonts, metrics and frontends.
* frontends/FontMetrics.h: new virtual interface. Renamed from font_metrics.h
* qt4/GuiFontMetrics: corresponding qt4 implememtation. Renamed from qfont_metrics.C. The smallCaps particular case treatment has been transfered here as well as the width cache for MacOSX and Windows.
* qt4/QLPainter.C: the smallCapsText has been reworked to return the width of the drawn text.C
all other files: replace font_metric helper function call with corresponding FontMetrics method calls.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15265 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
* lib/ui/stdmenus.ui: move math text styles from
menu "insert" to menu "edit"
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15246 a592a061-630c-0410-9148-cb99ea01b6c8
* src/mathed/InsetMathSplit.C
(InsetMathSplit::validate): Only require amsmath for AMS stuff
* src/mathed/MathFactory.C
(createInsetMath): create InsetMathSplit if the latexkey is "split"
* src/mathed/MathParser.C
(Parser::parse1): remove "gathered" and "aligned", since these are
now handled via lib/symbols
(Parser::parse1): create InsetMathSplit if the latexkey is "split"
* lib/symbols: Add aligned, gathered, lgathered and rgathered
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15224 a592a061-630c-0410-9148-cb99ea01b6c8
* frontends/FontLoader.h: new interface class.
* frontends/Application.h: new FontLoader() pure virtual method
* frontends/lyx_gui: update_fonts() and font_available() methods deleted
* [qt3/qt4/gtk]/GuiApplication: implement the new interface
* qt4/GuiFontLoader:
- renamed from FontLoader
- now derives from FontLoader
- now in the lyx::frontend namespace
* qt3/qfont_loader
- now derives from FontLoader
* gtk/xftFontLoader
- now derives from FontLoader
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15220 a592a061-630c-0410-9148-cb99ea01b6c8
* lyx_main.C and lyx_cb.C: use Application methods directly instead of the above functions.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15211 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/fontutils.C:
Undefine the min and max macros if they are defined
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15210 a592a061-630c-0410-9148-cb99ea01b6c8
virtual std::string const romanFontName() = 0;
virtual std::string const sansFontName() = 0;
virtual std::string const typewriterFontName() = 0;
My goal is to transfer all of "frontends/*/lyx_gui.C" to "frontends/lyx_gui.C". When this is done, "frontends/lyx_gui.C" can go altogether as its functions will then be replaced with direct calls to theApp->XXX().
* frontends/lyx_gui.C: new file with code transfered from [qt3,qt4,gtk]/lyx_gui.C
* frontends/Application: 3 new font related pure virtual methods
* [qt3,qt4,gtk]/GuiApplication: implement the above method with code transfered from lyx_gui.C
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15208 a592a061-630c-0410-9148-cb99ea01b6c8
* src/insets/insetgraphics.C
(findTargetFormat): return pdf for vector graphics
* src/format.h
(Flags): new enum describing format flags
(flags_): new member variable for format flags
(vectorFormat): new, tell whether a format can contain vector graphics
* src/format.C: adjust to flags changes
* src/frontends/qt[34]/QPrefsDialog.C
(QPrefsDialog::QPrefsDialog): handle new vector flag
(QPrefsDialog::switch_format): ditto
(QPrefsDialog::updateFormatsButtons): ditto
(QPrefsDialog::new_format): ditto
(QPrefsDialog::modify_format): ditto
* src/frontends/qt3/ui/QPrefFileformatsModule.ui
* src/frontends/qt4/ui/QPrefFileformatsUi.ui
(vectorCB): new checkbox for vector flag
* src/lyxrc.C
(LyXRC::read): read vector flag
(LyXRC::write): write vector flag
* lib/doc/Customization.lyx: document format flags
* lib/configure.py
(checkFormatEntries): Add vector flag to some formats
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15205 a592a061-630c-0410-9148-cb99ea01b6c8