Commit Graph

98 Commits

Author SHA1 Message Date
André Pönitz
09b7e6e60a some std::string -> filename changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21404 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-03 17:37:37 +00:00
André Pönitz
09df753df4 pimpl not needed here
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21395 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-02 23:42:27 +00:00
André Pönitz
c08309a9e2 cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21391 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-02 21:27:37 +00:00
André Pönitz
a8cd9a4b8f cosmetics. mainly replace #include "dostring.h" by #include "strfwd.h"
in header files when possible. Adjust .cpp files.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21358 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-01 22:17:22 +00:00
André Pönitz
9be03a87f9 start some work on file dialogs
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21238 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-28 16:32:20 +00:00
Abdelrazak Younes
eea79637c7 Move Color::color enum to ColorCode.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21198 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-25 12:41:02 +00:00
André Pönitz
93bd28f040 dissolve Importer 'class' to LyXFunc/Converter
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21195 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-25 06:09:38 +00:00
Richard Heck
4064d2c468 InsetInclude becomes an InsetCommand.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21149 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-23 15:02:15 +00:00
Bernhard Roider
1a77c867a2 CmdDef.cpp/h: A class that manages command definitions. The definitions are
by default read from lib/commands/default.def 
              A .def file allows to define a command with
              \define "Name" "lfun"
              where Name is the name of the new command and lfun is the code
              to be executed.
              \def_file "FileName"
              allows to include another .def file.
              The implementation of CmdDef is similar to KeyMap, i.e. there is 
              one instance created in the LyX.cpp that reads the .def file, holds 
              a list containing all definitions, and supplies access methods.


LFUN_CALL:    The new lfun is used to execute a command definition, e.g.
              call Name

If a toolbar item has the associated action "call Name" then the image 
lib/images/commands/Name.png is used for the button.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21093 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-20 23:27:03 +00:00
Bo Peng
36f7fcdee0 add another format (BindFile) to KeySequence::print()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21087 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-20 20:28:05 +00:00
André Pönitz
ee005614a3 saner borderline between buffer and exporter
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21080 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-20 10:51:13 +00:00
André Pönitz
f762cbf3c6 mainly cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21079 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-20 10:03:45 +00:00
Richard Heck
e158e07c29 InsetCommandParams() now takes an InsetCode rather than a string.
These changes are just adaptations to the new signature.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21072 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-19 17:22:55 +00:00
André Pönitz
a02653e4dd isome more FileName shuffling
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21048 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-18 23:03:51 +00:00
André Pönitz
988f372843 use FileName::isDirectory()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21047 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-18 21:10:35 +00:00
André Pönitz
0e08bc5e16 start using FileName::exists()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21044 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-18 19:29:32 +00:00
Abdelrazak Younes
55beda376a Refactor Undo/Redo framework into an Undo class owned by a Buffer. This reduces header dependencies from Undo.h which was including lots of stuff previously. This also solves the bug where undo/redo were reset upon buffer switching. Now, each buffer has a truly independant undo/redo architecture.
In the future, when Cursor has been fixed to work correctly with multiple views of the same Buffer, we could transfer the Undo owner from Buffer to Cursor.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21031 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-18 11:51:17 +00:00
Richard Heck
f2418483a0 Get LFUN_DIALOG_SHOW_NEW_INSET using InsetCode, too.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21025 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-18 05:08:16 +00:00
Richard Heck
83a1f1189f Cosmetics.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20983 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-16 08:09:15 +00:00
Bo Peng
34058aed9b Check and show proper error message if configure.py fails (part of buf 2829)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20967 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-14 14:51:05 +00:00
Uwe Stöhr
7075eaadef The huge URL patch:
- rename the lfun to href-insert.png
- rename the files to Hyperlink...
- the former URLUi produces now \href commands (hyperref)

Only missing thing is the lyx2lyx conversion routine - this will be done by Richard

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20950 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-13 19:06:09 +00:00
Abdelrazak Younes
36e9a1fd30 Inset::translate() -> lyx::insetCode()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20942 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-13 12:50:18 +00:00
Abdelrazak Younes
f7b1c86393 Move Inset::Code to InsetCode.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20936 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-13 09:04:52 +00:00
Abdelrazak Younes
70b938bf5a Transfer some LFUNs from LyXFunc::getStatus() to BufferView::getStatus(). What a mess!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20902 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-11 13:20:21 +00:00
Abdelrazak Younes
59aae2aa83 Don't restart the blinking cursor inside WorkArea because some shortcuts can delete the current WorkArea.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20900 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-11 12:31:48 +00:00
Abdelrazak Younes
c2b139d5a0 fix in r20895 was not fully correct.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20897 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-11 10:05:04 +00:00
Abdelrazak Younes
a2bc74bca8 Crash fix. I don't know why this is triggered only now... I guess someone changed the way toolbars are initialized. The changes are safer anyway.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20895 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-11 09:57:52 +00:00
Abdelrazak Younes
57a8d370d4 Header cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20894 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-11 07:26:06 +00:00
Abdelrazak Younes
18137a6ad6 Fix cursor blinking after unknown action.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20893 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-11 07:03:17 +00:00
Abdelrazak Younes
e3032e7d0e * BufferView::update(): renamed to processUpdateFlags() to clarify the intent. Also get rid of the default argument which added to the confusion as to what was the purpose of update(). Now also emit Buffer::changed() signal internally instead of assuming that the caller will act upon the returned boolean.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20884 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-10 08:52:55 +00:00
André Pönitz
58ab972f71 last commit was incomplete... not sure how I managed this..
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20710 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-03 20:15:49 +00:00
André Pönitz
3f5dd9fb3e shuffle some code around
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20704 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-03 18:34:32 +00:00
André Pönitz
65d1912cfe shuffle code around.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20703 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-03 18:18:47 +00:00
André Pönitz
df2318f823 move some buffere related stuff from callback.cpp tpo Buffer.cpp.
simpler code.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20694 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-03 11:00:18 +00:00
André Pönitz
97770c4332 small simplification
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20688 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-03 09:21:15 +00:00
André Pönitz
c4033d4012 cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20671 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-02 21:51:54 +00:00
André Pönitz
5aaf4dce20 move font related stuff from bufferview_funcs to Font
delete bufferview_funcs, since it's now empty


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20579 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-29 11:00:18 +00:00
Richard Heck
0787ade6c0 This is the first part of a cleanup of how we handle the InsetCommand hierarchy. This part starts to disentangle the type of the inset from the command that a single instance of the inset represents. This involves two sorts of changes:
(i) The file format is changed, so that command insets are represented as:
    \begin_inset CommandInset insetype
    LatexCommand command
    ...
    \end_inset
This involves some lyx2lyx and changes to the readInset() routine in factory.cpp
(ii) The InsetCommand and InsetCommandParams classes also have to be changed, as the command name was used in these classes for various purposes for which the inset type ought really to be used.
Further clean-up to come.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20544 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-27 18:24:18 +00:00
Bo Peng
b762358eec Lyx now starts and asks for reconfigure if no textclass is found (bug 2829)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20522 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-26 19:36:09 +00:00
Richard Heck
e8da1771f2 Introduce LFUN_MASTER_BUFFER_VIEW and UPDATE. Code by Tommaso Cucinotta.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20366 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-20 05:00:23 +00:00
André Pönitz
978f65391e reduce #includes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20363 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-19 22:37:22 +00:00
Richard Heck
e020bc1806 Fulfill promise to Andre: TextClass_ptr --> TextClassPtr.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20349 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-18 17:46:14 +00:00
André Pönitz
7afa73a0b3 small simplification
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20332 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-17 22:51:03 +00:00
André Pönitz
f86525fc2e simplify KeySymbol stuff. which hopefully works...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20322 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-17 18:41:03 +00:00
Richard Heck
63a190ef49 Add layout-reload LFUN. This is useful for people creating and editing layouts.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20215 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-11 16:42:22 +00:00
Richard Heck
ec29fd3461 Revert accidental commit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20152 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-08 17:49:37 +00:00
Richard Heck
aebd5ebaf9 Fix crash when layout file cannot be read due to failure to call makeTextClass() in that case.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20150 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-08 17:46:02 +00:00
Richard Heck
1588f9d201 This addresses a bug in the module code so far committed. The problem is that changing the modules used would update the Buffer's TextClass---but it wouldn't update the layouts used by existing paragraphs, the way changing the TextClass does. The solution, obviously, is to do that update. So what I've done is extract that logic from LFUN_TEXTCLASS_APPLY into an updateLayout() routine and then call that from LFUN_BUFFER_PARAMS_APPLY, LFUN_LAYOUT_MODULE_ADD, and LFUN_LAYOUT_MODULES_CLEAR, which are the three places the modules could be changed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19964 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-01 04:01:13 +00:00
Richard Heck
8a947f63da This is one of a series of patches that will merge the layout modules development in personal/branches/rgheck back into the tree.
Design goal: Allow the use of layout "modules", which are to LaTeX packages as layout files are to LaTeX document classes. Thus, one could have a module that defined certain character styles, environments, commands, or what have you, and include it in various documents, each of which uses a different document class, without having to modify the layout files themselves. For example, a theorems.module could be used with article.layout to provide support for theorem-type environments, without having to modify article.layout itself, and the same module could be used with book.layout, etc.

This patch adds the backend. The ModuleList class holds a list of the available modules, which are retrieved from lyxmodules.lst, itself generated by configure.py. There are two LFUNs available: modules-clear and module-add, which do the obvious thing; you can test by typing these into the minibuffer, along with the name of one of the available modules: URL (a CharStyle), Endnote (a Custom Inset), and---with the spaces---End To Foot (View>LaTeX and look at the user preamble), which are themselves in lib/layouts. There are some others, too, that allow theorems to be added to classes like article and book.

The GUI will come next.

Issues: (i) The configure.py script could be improved. It'd be nice, for example, if it tested for the presence of the LaTeX packages a particular module needs. But this would mean re-working the LaTeX script, and I don't know how to do that. Note that at present, the packages are ignored. This will change shortly. (ii) I've used std::string in LyXModule, following what seemed to be a precedent in TextClass. If some of these should be docstrings, please let me know, and I'll change them. (iii) There is at present no distinction between LaTeX and DocBook modules. Should there be? That is: Should there be modules that are available when the document class is a LaTeX class and others that are available only when it is DocBook? Or should there just be one set of modules? Each module can of course indicate for what it is suitable in its description.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19893 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-29 17:59:49 +00:00
Richard Heck
6e93e77f22 This is one of a series of patches that will merge the layout modules development in personal/branches/rgheck back into the tree.
Design goal: Allow the use of layout "modules", which are to LaTeX packages as layout files are to LaTeX document classes. Thus, one could have a module that defined certain character styles, environments, commands, or what have you, and include it in various documents, each of which uses a different document class, without having to modify the layout files themselves. For example, a theorems.module could be used with article.layout to provide support for theorem-type environments, without having to modify article.layout itself, and the same module could be used with book.layout, etc.

This first patch does some reworking of the infrastructrue. We need to distinguish between the TextClass that a particular document is using and the layout of that document, since modules, in particular, can modify the layout. The solution adopted here is to add a TextClass pointer to BufferParams, which will hold the layout. The layout itself is then constructed from the TextClass the document is using. At present, this is completely trivial, but that will change when modules are added.

The pointer in question is a boost::shared_ptr. This is needed because CutAndPaste saves a copy of the layout with each cut or copied selection. We cannot assume the selection vanishes when the document is closed, so there are two options: (i) keep a list of all the layouts that have ever been used by any document; (ii) used some kind of smart pointer. The latter seems preferable, as the former would waste memory. More importantly, the use of a smart pointer allows modules to be modified on disk and then reloaded while LyX is running, and it will eventually allow the same for layout files.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19756 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 16:41:13 +00:00