"*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
the case for GuiView independent dialogs like about or prefs. But
for now it is.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23735 a592a061-630c-0410-9148-cb99ea01b6c8
* moved the open/new file dispatches into GuiApplication to make them GuiView independent
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23729 a592a061-630c-0410-9148-cb99ea01b6c8
* src/EmbeddedFiles.h|cpp: add validate() function to validate loaded .lyx file.
* src/LayoutFile.h|cpp: add Layout_Type parameter to addLayoutFile to load an embedded layout.
* src/BufferParams.h|cpp: read layout from temp directory, then local directory.
* src/frontends/qt4/GuiDocument.cpp: handle embedded layout type
* src/LyXFunc.cpp: handle embedded layout when a layout is re-read.
* src/Buffer.cpp: validate after a buffer is read. handle exceptions properly.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23667 a592a061-630c-0410-9148-cb99ea01b6c8
At this point, there are no simple TextClass objects in the main LyX code, and it is impossible to create them, since the TextClass constructor is protected. Only LayoutFile and DocumentClass objects can be constructed, and for the most part these are constructed only by their respective containers: BaseClassList and DocumentClassBundle. There is an exception: LayoutFile does have a public default constructor, but if anyone knows how to make it go away, please do.
There will be one or two more commits along these lines, but these will be simple renamings. For example, BaseClassList should be LayoutFileList.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23343 a592a061-630c-0410-9148-cb99ea01b6c8
Note that we no longer rely upon BaseClassList to be sorted. This would allow layout descriptions---such as "article (AMS)"---to be translated, and the ordering of the list in Document>Settings will then follow the translations.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23334 a592a061-630c-0410-9148-cb99ea01b6c8
I've left the typedef in TextClassPtr.h. At the moment, it's kind of silly. But I've left it mostly because it helps to identify where the TextClass's stored in the TextClassBundle are used, and maybe it'd be worth having some sort of strong typedef like the one for BaseClassIndex here.
I need to check whether the textClass_ member of InsetCollapsable is needed now. I think not.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23232 a592a061-630c-0410-9148-cb99ea01b6c8
Sorry, Andre, but this broke not only the modules stuff but the general handling of TextClasses. I'm not opposed to doing this sort of thing, but it's going to be a little more complicated. I'll do it when I get a bit of time, or I can explain what the issue is here if you want to do it.
I'll separately re-commit some of the cleanup here.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23189 a592a061-630c-0410-9148-cb99ea01b6c8
Also a few cosmetical changes where I xould not resist.
Would be nice if the 'modules people' could verify that their baby
is strill alive...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23154 a592a061-630c-0410-9148-cb99ea01b6c8
places, i.e.
- BufferView::setMouseCursor,
- BufferView::mouseEventDispatch
- LyXFunc::dispatch
Before it was called from several dispatch handlers in the middle of the
dispatch process. Because the cursor might get invalidated, this is
not a good idea. We had plenty of crashes and odd behaviours because
of this as nobody really understood those cases.
This fixes (at least) #2069 and #4163.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23140 a592a061-630c-0410-9148-cb99ea01b6c8
* completion support for mathed
* experimental completion support for text
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23104 a592a061-630c-0410-9148-cb99ea01b6c8
- adding frames, adding fullscreen switch.
- LFUN_MENUBAR_TOGGLE, LFUN_STATUSBAR_TOGGLE -> LFUN_UI_TOGGLE.
There are still limitations wrt Outlining in MAC OS - someone could check,
see http://www.nabble.com/Fullscreen-mode-to15314676.html#a15367830 .
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22893 a592a061-630c-0410-9148-cb99ea01b6c8
* lyxFunc:
- doImport(): transfered to GuiView::inportDocument() together with LFUN_BUFFER_IMPORT
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22820 a592a061-630c-0410-9148-cb99ea01b6c8
* Application/GuiApplication:
- restoreGuiSession(): new method for session restoration.
* LyXView/GuiView
- loadDocument(): new pure virtual interface
* lyxFunc:
- loadAndViewFile(): transfered to GuiView::loadDocument()
- openDocument(): transfered to GuiView.
* LyX.h
- Impl::files_to_load_ : now a simple vector<string>.
- restoreGuiSession(): removed.
- execBatchCommands(): simplified and make use of Application::restoreGuiSession().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22816 a592a061-630c-0410-9148-cb99ea01b6c8
* combobox in the preferences dialog to choose the macro editing mode of choice.
The reason for the three choices (inline box, inline without box,
list) is that it seems that there are at least these three groups of
people, and each of them is very strong about their opinion what that
the best mode is. So here there are all of them, pick your favourite.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22670 a592a061-630c-0410-9148-cb99ea01b6c8
macro name when the cursor is inside. The downside of the coin is that
you have to look into the statusbar to see which macro is used. But
some people prefer that than having the slight size change of macros
when the cursor enters.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22650 a592a061-630c-0410-9148-cb99ea01b6c8
the Qt Mac application menu is handled differently such that no
getStatus() is issued anymore later when opening it. Hence we have
to return the correct (i.e. enable==true) value for those lfuns from
the beginning.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22286 a592a061-630c-0410-9148-cb99ea01b6c8
* 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
"The idea of the beforeDispX/Y_ variables in the Cursor is to hold the position
of the cursor on screen before the lyxfunc is dispatched. But to get this the
metrics must be valid. It's updated in Cursor::dispatch before the dispatch
loop.
After inserting/deleting stuff (like when deleting the selected text before
inserting the alpha) the metrics are invalid. But the handler for the alpha
calls Cursor::dispatch after the deletion and hence the crash with your second
patch.
Here is a patch fixing that:
The beforeDispatchXY variable do not belong into the Cursor::dispatch because
Cursor::dispatch is often called "manually" by many handlers to some followup
action. So this logic must go somewhere else where it is sure that is not
updated after the metrics got invalidated."
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22193 a592a061-630c-0410-9148-cb99ea01b6c8
* LyXFunc: Transfer and simplify LFUN_BUFFER_WRITE, LFUN_BUFFER_WRITE_AS and LFUN_BUFFER_WRITE_ALL to GuiView.
* BufferList: Transfer quitWriteAll() and close() to GuiView.
* Buffer: Transfer writeAs() and menuWrite() functionalities to GuiView.
* LyXView::closeBuffer(): new pure virtual method.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21960 a592a061-630c-0410-9148-cb99ea01b6c8
* BufferView:
- insertPlaintextString(): now accept a FileName.
- contentsOfPlaintextFile(): ditto and use FileName::fileContents().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21915 a592a061-630c-0410-9148-cb99ea01b6c8
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
introduce isReadableDirectory
replace isReadable by either isReadableFile or isReadableDirectory
remove isReadable
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21769 a592a061-630c-0410-9148-cb99ea01b6c8
- LFUN_INSET_APPLY handling goes to GuiView.
- Dialog needs a GuiView instead of a LyXView.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21734 a592a061-630c-0410-9148-cb99ea01b6c8
- transfer GuiBufferDelegate and GuiBufferViewDelegate to GuiView
- delete showDialog() and use LFUN_DIALOG_SHOW in LyXFunc::dispatch().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21702 a592a061-630c-0410-9148-cb99ea01b6c8
- Transfer toolbar, statusbar and layoutlist handling to the frontend.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21684 a592a061-630c-0410-9148-cb99ea01b6c8