Commit Graph

1828 Commits

Author SHA1 Message Date
Richard Heck
2b3bd7b5f4 This is the last of the commits that hopes to enforce the distinction between "layout files" and "document classes" that was introduced by the modules code. For the most part, these changes just refactor code from TextClass between: (a) a TextClass base class; (b) a LayoutFile subclass, which represents the information in a .layout file; and (c) a DocumentClass subclass, which represents the layout information associated with a Buffer---a LayoutFile plus Modules. Methods from TextClass have been apportioned between the three classes depending upon what is needed where, and signatures have been changed where necessary so that the right kind of class is required.
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
2008-02-29 02:45:33 +00:00
Richard Heck
2c382f2f47 More work towards type safety regarding TextClass's. A couple bugs have been fixed here, too, discovered along the way.
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
2008-02-28 21:04:55 +00:00
Abdelrazak Younes
0e67e8423f GuiApplication::notify(): fine tune ErrorException handling; close all windows before showing the alert. This should get rid of the recursive alert box when an the exception is caught.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23333 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-28 20:40:55 +00:00
Edwin Leuven
eb84ab1af9 set parent
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23327 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-28 16:14:26 +00:00
Richard Heck
224e6ad0a3 baseclasslist --> BaseClassList singleton. Prep for further type safety.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23322 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-28 14:49:01 +00:00
Stefan Schimanski
5d0e49d4dc * fix a memory corruption due to sligtly different semantics of btree iterators:
// We use the key() method here, and not something like it->first
       // because the btree only returns (iterator-) temporary value pairs.
       // If we returned the first component of those here, we get an
       // invalid reference and therefore strange crashes.
       return it.key();

* This should fix the completion for Windows users hopefully.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23321 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-28 14:46:47 +00:00
Stefan Schimanski
7ff4b67487 * the longest completion does not depend on the competion.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23317 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-28 12:43:56 +00:00
Stefan Schimanski
93d8667d39 * only remember the last selection if it didn't come by the cursor completion indicator
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23316 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-28 12:43:24 +00:00
Stefan Schimanski
7271db36c5 * resorted completion options. Now by text and math.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23314 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-28 12:42:34 +00:00
Stefan Schimanski
399ef7f80c * small indicator in the cursor to show that a completion is available by pressing tab
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23313 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-28 12:41:57 +00:00
Stefan Schimanski
7e2c8ea4ff * completion cursor
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23312 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-28 12:41:43 +00:00
Stefan Schimanski
0ca318af55 * cosmetic
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23311 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-28 12:41:33 +00:00
Pavel Sanda
180eb073b2 Fullscreen fixes (multiple windows & toolbar visibility).
Workaround for http://bugzilla.lyx.org/show_bug.cgi?id=4588 .


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23309 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-28 11:19:19 +00:00
Enrico Forestieri
268dce39b4 Fix crash on cygwin with completion in text mode.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23308 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-28 10:28:10 +00:00
Richard Heck
d8a6b5bfd0 Remove TextClassPtr without losing the type safety it provided.
See these threads:
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg136112.html
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg136062.html
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg135997.html
for some background.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23299 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-28 01:42:02 +00:00
André Pönitz
54e314c826 cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23293 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-27 22:23:12 +00:00
Pavel Sanda
f8ba8db758 Fullscreen mode fixes:
- tabbar & frames respect fullscreen mode when adding/removing new tab.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23291 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-27 21:04:33 +00:00
Abdelrazak Younes
39ccaa2ea7 Add list of labels. If I have the time and energy the next step is to cleanup the cross-reference lookup so that we can integrate the cross references in the tree, hence the name "Labels and References".
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23282 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-27 15:23:22 +00:00
Abdelrazak Younes
8c8ff137da Get rid of 'quitting' global variable. It is not needed anymore because all windows are closed in order now and the frontend/core is properly separated.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23280 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-27 12:30:41 +00:00
Abdelrazak Younes
3128c45b24 GuiView ctor: wrong property!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23279 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-27 11:56:36 +00:00
Abdelrazak Younes
3ab0bcbf12 typo
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23278 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-27 11:45:43 +00:00
Abdelrazak Younes
1d163f25d9 Comment out setQuitOnLastWindowClosed() call.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23277 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-27 11:44:37 +00:00
Abdelrazak Younes
b39e9e6c8e * GuiView: Make use of the default settings WRT last window closed and app quiting.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23276 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-27 11:35:12 +00:00
Abdelrazak Younes
7ca1eacac1 Fix http://bugzilla.lyx.org/show_bug.cgi?id=4498
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23275 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-27 11:23:41 +00:00
Abdelrazak Younes
8446d3dbfc Get rid of LyXFunc::closeBuffer()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23274 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-27 11:05:58 +00:00
Abdelrazak Younes
9940ca7730 Cleanup app quitting and window closing now that there is a clean separation between the frontend and the core.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23271 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-27 10:35:28 +00:00
Stefan Schimanski
d0de0f53ef * set the column with in the popup before showing it. Then it even works.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23261 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-26 19:20:23 +00:00
Stefan Schimanski
eb86fb460e * escape hides the completion
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23258 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-26 19:19:34 +00:00
Abdelrazak Younes
d1511fcb47 * GuiView::closeEvent(): adjust buffer closing WRT multi-view and child documents.
- a child document is kept loaded in any case. It is saved if needed before being hidden.
- a document which is not viewed in another window is closed now.
- we do nothing for documents that are also viewed in another window. There is two FIXME related to this last item in the code:

// FIXME 1: should we put an alert box here that the buffer
// is viewed elsewhere?
// FIXME 2: should we try to save this buffer in any case?
//saveBuffer(b);


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23250 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-26 14:15:32 +00:00
Stefan Schimanski
83ae753214 * undeflow fix for i == -1
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23249 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-26 13:46:54 +00:00
Stefan Schimanski
924ed25c61 * factored out hidePopup and hideInline
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23248 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-26 13:10:04 +00:00
Stefan Schimanski
eb2e971f6a * "show popup without delay"-checkbox was missing a connect
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23247 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-26 13:09:44 +00:00
Stefan Schimanski
2c62c9d91c * don't show inline if the user did not want it, even when using the popup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23245 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-26 13:08:52 +00:00
Stefan Schimanski
cd5bad62e0 * paragraph support for the global word list. To make it buffer
dependent, we need the buffer pointer. In fact we already have a
  pointer to the text inset. So as soon as inset know their buffer we
  can easily switch to a buffer local word list.
* there might be missing some more places to update the words from a
  buffer, like for example after backspace or more important when the
  cursor leaves a paragraph.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23244 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-26 13:07:59 +00:00
Stefan Schimanski
7c5d585c84 * binary search can be tricky. I hope I got it right now.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23230 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-25 15:09:45 +00:00
Abdelrazak Younes
962fdc2923 Change CompletionList::data() signature and cosmetics.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23226 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-25 13:11:09 +00:00
Stefan Schimanski
32f9f03ebc * fix for binary search if string was not found
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23225 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-25 13:08:51 +00:00
Stefan Schimanski
ff2e0db6c2 * fix longest prefix algorithm for sorted models: commonPrefix(...) returns the length, not the prefix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23217 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-25 02:09:39 +00:00
Stefan Schimanski
b78dbb5999 * special faster algorithms for sorted completion lists
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23212 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-25 01:56:30 +00:00
Stefan Schimanski
c3bdbe38d7 * implemention of the WordList with iterator caching for a std::set string list.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23210 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-25 01:55:50 +00:00
Richard Heck
5a45ef653b Improve comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23201 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-24 22:42:27 +00:00
Richard Heck
d667f7463e Doxy bit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23200 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-24 22:40:34 +00:00
Richard Heck
4c6180d209 Try to make the distinction between base classes and text classes clearer in the code.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23198 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-24 16:59:49 +00:00
Richard Heck
69de04feac Restore Andre's TextClassIndex, but now in the form of BaseClassIndex. It seems worth distinguishing more clearly than we do at the moment between TextClass's and BaseClass's. The latter correspond to *.layout files; the former are based upon *.layout files but may be modified by modules.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23197 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-24 16:29:40 +00:00
Richard Heck
c7afa2d658 More cleanup from Andre.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23194 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-24 15:44:11 +00:00
Richard Heck
ebd4f002af Andre's s/getBaseClass/baseClass/ cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23191 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-24 15:12:41 +00:00
Richard Heck
0362c6aae7 Andre's s/getTextClass/textClass/ cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23190 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-24 15:06:35 +00:00
Richard Heck
2e7d1199df Revert 23154.
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
2008-02-24 14:59:23 +00:00
Stefan Schimanski
b313333c1a * setItemDelegate does not free the old delegate. So we better only create one instance and reuse that.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23172 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-24 00:49:57 +00:00
Richard Heck
14b7f34818 Fix drawing error on Linux, apprently caused by creation of static global instance of QItemDelegate. Fix due to STS.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23171 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-24 00:38:54 +00:00