2002-08-08 22:03:30 +00:00
|
|
|
|
/**
|
2007-04-26 04:41:58 +00:00
|
|
|
|
* \file LyXAction.cpp
|
2003-08-23 00:17:00 +00:00
|
|
|
|
* This file is part of LyX, the document processor.
|
|
|
|
|
* Licence details can be found in the file COPYING.
|
|
|
|
|
*
|
|
|
|
|
* \author Lars Gullik Bj<EFBFBD>nnes
|
|
|
|
|
* \author Jean-Marc Lasgouttes
|
|
|
|
|
* \author John Levon
|
|
|
|
|
* \author Andr<EFBFBD> P<EFBFBD>nitz
|
|
|
|
|
*
|
|
|
|
|
* Full author contact details are available in file CREDITS.
|
2002-08-08 22:03:30 +00:00
|
|
|
|
*/
|
1999-09-27 18:44:28 +00:00
|
|
|
|
|
|
|
|
|
#include <config.h>
|
|
|
|
|
|
|
|
|
|
#include "LyXAction.h"
|
2002-08-08 22:03:30 +00:00
|
|
|
|
|
1999-10-07 18:44:17 +00:00
|
|
|
|
#include "debug.h"
|
2007-04-26 04:41:58 +00:00
|
|
|
|
#include "FuncRequest.h"
|
2003-09-09 22:13:45 +00:00
|
|
|
|
|
1999-10-02 16:21:10 +00:00
|
|
|
|
#include "support/lstrings.h"
|
1999-09-27 18:44:28 +00:00
|
|
|
|
|
2003-09-21 23:00:47 +00:00
|
|
|
|
#include <boost/assert.hpp>
|
|
|
|
|
|
2006-10-21 00:16:43 +00:00
|
|
|
|
|
|
|
|
|
namespace lyx {
|
|
|
|
|
|
|
|
|
|
using support::split;
|
|
|
|
|
using support::trim;
|
2003-06-30 23:56:22 +00:00
|
|
|
|
|
2000-03-28 02:18:55 +00:00
|
|
|
|
using std::endl;
|
2003-10-06 15:43:21 +00:00
|
|
|
|
using std::string;
|
2003-09-09 22:13:45 +00:00
|
|
|
|
using std::ostream;
|
|
|
|
|
|
|
|
|
|
|
2002-03-21 17:27:08 +00:00
|
|
|
|
/*
|
1999-09-27 18:44:28 +00:00
|
|
|
|
NAMING RULES FOR USER-COMMANDS
|
|
|
|
|
Here's the set of rules to apply when a new command name is introduced:
|
2002-03-21 17:27:08 +00:00
|
|
|
|
|
1999-09-27 18:44:28 +00:00
|
|
|
|
1) Use the object.event order. That is, use `word-forward'
|
2002-03-21 17:27:08 +00:00
|
|
|
|
instead of `forward-word'.
|
1999-09-27 18:44:28 +00:00
|
|
|
|
2) Don't introduce an alias for an already named object. Same for events.
|
|
|
|
|
3) Forward movement or focus is called `forward' (not `right').
|
|
|
|
|
4) Backward movement or focus is called `backward' (not `left').
|
|
|
|
|
5) Upward movement of focus is called `up'.
|
|
|
|
|
6) Downward movement is called `down'.
|
|
|
|
|
7) The begin of an object is called `begin' (not `start').
|
|
|
|
|
8) The end of an object is called `end'.
|
2002-03-21 17:27:08 +00:00
|
|
|
|
|
1999-09-27 18:44:28 +00:00
|
|
|
|
(May 19 1996, 12:04, RvdK)
|
2002-08-08 22:03:30 +00:00
|
|
|
|
*/
|
2001-04-27 07:19:08 +00:00
|
|
|
|
|
1999-09-27 18:44:28 +00:00
|
|
|
|
LyXAction lyxaction;
|
|
|
|
|
|
2002-01-12 20:00:47 +00:00
|
|
|
|
|
1999-11-22 16:19:48 +00:00
|
|
|
|
void LyXAction::newFunc(kb_action action, string const & name,
|
2003-04-09 20:51:35 +00:00
|
|
|
|
unsigned int attrib)
|
1999-11-22 16:19:48 +00:00
|
|
|
|
{
|
|
|
|
|
lyx_func_map[name] = action;
|
|
|
|
|
func_info tmpinfo;
|
|
|
|
|
tmpinfo.name = name;
|
|
|
|
|
tmpinfo.attrib = attrib;
|
|
|
|
|
lyx_info_map[action] = tmpinfo;
|
|
|
|
|
}
|
1999-09-27 18:44:28 +00:00
|
|
|
|
|
|
|
|
|
|
1999-11-22 16:19:48 +00:00
|
|
|
|
void LyXAction::init()
|
1999-09-27 18:44:28 +00:00
|
|
|
|
{
|
1999-12-13 00:05:34 +00:00
|
|
|
|
// This function was changed to use the array below in initalization
|
|
|
|
|
// instead of calling newFunc numerous times because of compilation
|
|
|
|
|
// times. Since the array is not static we get back the memory it
|
|
|
|
|
// occupies after the init is completed. It compiles several
|
2000-06-12 11:27:15 +00:00
|
|
|
|
// magnitudes faster.
|
2002-03-21 17:27:08 +00:00
|
|
|
|
|
2001-06-04 23:57:32 +00:00
|
|
|
|
static bool init;
|
1999-11-22 16:19:48 +00:00
|
|
|
|
if (init) return;
|
1999-12-13 00:05:34 +00:00
|
|
|
|
|
2002-08-07 08:11:41 +00:00
|
|
|
|
struct ev_item {
|
2001-04-27 07:19:08 +00:00
|
|
|
|
kb_action action;
|
|
|
|
|
char const * name;
|
|
|
|
|
unsigned int attrib;
|
|
|
|
|
};
|
|
|
|
|
|
2002-08-08 22:03:30 +00:00
|
|
|
|
ev_item const items[] = {
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_ACCENT_ACUTE, "accent-acute", Noop },
|
|
|
|
|
{ LFUN_ACCENT_BREVE, "accent-breve", Noop },
|
|
|
|
|
{ LFUN_ACCENT_CARON, "accent-caron", Noop },
|
|
|
|
|
{ LFUN_ACCENT_CEDILLA, "accent-cedilla", Noop },
|
|
|
|
|
{ LFUN_ACCENT_CIRCLE, "accent-circle", Noop },
|
|
|
|
|
{ LFUN_ACCENT_CIRCUMFLEX, "accent-circumflex", Noop },
|
|
|
|
|
{ LFUN_ACCENT_DOT, "accent-dot", Noop },
|
|
|
|
|
{ LFUN_ACCENT_GRAVE, "accent-grave", Noop },
|
|
|
|
|
{ LFUN_ACCENT_HUNGARIAN_UMLAUT, "accent-hungarian-umlaut", Noop },
|
|
|
|
|
{ LFUN_ACCENT_MACRON, "accent-macron", Noop },
|
|
|
|
|
{ LFUN_ACCENT_OGONEK, "accent-ogonek", Noop },
|
|
|
|
|
{ LFUN_ACCENT_SPECIAL_CARON, "accent-special-caron", Noop },
|
|
|
|
|
{ LFUN_ACCENT_TIE, "accent-tie", Noop },
|
|
|
|
|
{ LFUN_ACCENT_TILDE, "accent-tilde", Noop },
|
|
|
|
|
{ LFUN_ACCENT_UMLAUT, "accent-umlaut", Noop },
|
|
|
|
|
{ LFUN_ACCENT_UNDERBAR, "accent-underbar", Noop },
|
|
|
|
|
{ LFUN_ACCENT_UNDERDOT, "accent-underdot", Noop },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_APPENDIX, "appendix", Noop },
|
2007-01-22 14:43:45 +00:00
|
|
|
|
{ LFUN_BOOKMARK_GOTO, "bookmark-goto", NoBuffer },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_BOOKMARK_SAVE, "bookmark-save", ReadOnly },
|
2007-01-22 14:43:45 +00:00
|
|
|
|
{ LFUN_BOOKMARK_CLEAR, "bookmark-clear", NoBuffer },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_BREAK_LINE, "break-line", Noop },
|
|
|
|
|
{ LFUN_BREAK_PARAGRAPH, "break-paragraph", Noop },
|
2006-05-08 18:09:19 +00:00
|
|
|
|
{ LFUN_BREAK_PARAGRAPH_KEEP_LAYOUT, "break-paragraph-keep-layout", Noop },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_BREAK_PARAGRAPH_SKIP, "break-paragraph-skip", Noop },
|
|
|
|
|
{ LFUN_BUILD_PROGRAM, "build-program", ReadOnly },
|
|
|
|
|
{ LFUN_BUFFER_AUTO_SAVE, "buffer-auto-save", Noop },
|
|
|
|
|
{ LFUN_BUFFER_BEGIN, "buffer-begin", ReadOnly },
|
2006-05-08 18:09:19 +00:00
|
|
|
|
{ LFUN_BUFFER_BEGIN_SELECT, "buffer-begin-select", ReadOnly },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_BUFFER_CHILD_OPEN, "buffer-child-open", ReadOnly },
|
|
|
|
|
{ LFUN_BUFFER_CHKTEX, "buffer-chktex", ReadOnly },
|
|
|
|
|
{ LFUN_BUFFER_TOGGLE_COMPRESSION, "buffer-toggle-compression", Noop},
|
|
|
|
|
{ LFUN_BUFFER_CLOSE, "buffer-close", ReadOnly },
|
|
|
|
|
{ LFUN_BUFFER_END, "buffer-end", ReadOnly },
|
2006-05-08 18:09:19 +00:00
|
|
|
|
{ LFUN_BUFFER_END_SELECT, "buffer-end-select", ReadOnly },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_BUFFER_EXPORT, "buffer-export", ReadOnly },
|
|
|
|
|
{ LFUN_BUFFER_EXPORT_CUSTOM, "buffer-export-custom", ReadOnly },
|
|
|
|
|
{ LFUN_BUFFER_PRINT, "buffer-print", ReadOnly },
|
|
|
|
|
{ LFUN_BUFFER_IMPORT, "buffer-import", NoBuffer },
|
|
|
|
|
{ LFUN_BUFFER_NEW, "buffer-new", NoBuffer },
|
2006-05-08 18:09:19 +00:00
|
|
|
|
{ LFUN_BUFFER_NEW_TEMPLATE,"buffer-new-template", NoBuffer },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_BUFFER_RELOAD, "buffer-reload", ReadOnly },
|
2007-08-21 07:33:46 +00:00
|
|
|
|
{ LFUN_BUFFER_SWITCH, "buffer-switch", NoBuffer | ReadOnly },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_BUFFER_TOGGLE_READ_ONLY, "buffer-toggle-read-only", ReadOnly },
|
|
|
|
|
{ LFUN_BUFFER_UPDATE, "buffer-update", ReadOnly },
|
|
|
|
|
{ LFUN_BUFFER_VIEW, "buffer-view", ReadOnly },
|
|
|
|
|
{ LFUN_BUFFER_WRITE, "buffer-write", ReadOnly },
|
|
|
|
|
{ LFUN_BUFFER_WRITE_AS, "buffer-write-as", ReadOnly },
|
2007-08-06 15:34:02 +00:00
|
|
|
|
{ LFUN_BUFFER_WRITE_ALL, "buffer-write-all", ReadOnly },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_CANCEL, "cancel", NoBuffer },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_CAPTION_INSERT, "caption-insert", Noop },
|
|
|
|
|
{ LFUN_CHAR_BACKWARD, "char-backward", ReadOnly | NoUpdate},
|
2006-05-08 18:09:19 +00:00
|
|
|
|
{ LFUN_CHAR_BACKWARD_SELECT, "backward-select", ReadOnly | SingleParUpdate },
|
|
|
|
|
{ LFUN_CHAR_DELETE_BACKWARD, "delete-backward", SingleParUpdate },
|
|
|
|
|
{ LFUN_CHAR_DELETE_FORWARD, "delete-forward", SingleParUpdate },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_CHAR_FORWARD, "char-forward", ReadOnly | NoUpdate},
|
2006-05-08 18:09:19 +00:00
|
|
|
|
{ LFUN_CHAR_FORWARD_SELECT, "forward-select", ReadOnly | SingleParUpdate },
|
Split clipboard and X selection
* src/LyXAction.C
(LyXAction::init): handle new LFUN_CLIPBOARD_PASTE
* src/insets/insettabular.C
(InsetTabular::doDispatch): ditto
* src/insets/insetbox.C
(InsetBox::doDispatch): ditto
* src/insets/insetert.C
(InsetERT::doDispatch): ditto
(InsetERT::getStatus): ditto
* src/insets/insetcharstyle.C
(InsetCharStyle::doDispatch): ditto
* src/BufferView_pimpl.C
(BufferView::Pimpl::selectionRequest): stuff selection, not clipboard
* src/mathed/math_nestinset.C
(MathNestInset::lfunMousePress): get stuff selection, not clipboard
(MathNestInset::lfunMouseRelease): clipboard -> selection in
commented code
* src/CutAndPaste.C
(cutSelection): ditto
* src/frontends/{qt3,gtk}/GuiImplementation.C
(GuiImplementation::newWorkArea): create new selection, not clipboard,
since the clipboard is now an object
(GuiImplementation::destroyWorkArea): destroy selection, not clipboard
* src/frontends/{qt4,qt3,gtk}/GuiSelection.h: new, copied from
GuiClipboard.h
* src/frontends/{qt4,qt3,gtk}/GuiSelection.C: new, copied from
GuiClipboard.C
* src/frontends/{qt3,gtk}/GuiImplementation.h
(selection): new accessor for selection_
(selection_): new, the global selection object
* src/frontends/{qt4,qt3,gtk}/Makefile.am: add GuiSelection.C and
GuiSelection.h
* src/frontends/{qt4,qt3,gtk}/GuiClipboard.C
(GuiClipboard::get): return clipboard, not selection
(GuiClipboard::put): stuff clipboard, not selection
* src/frontends/{qt4,qt3,gtk}/GuiClipboard.h
(haveSelection): remove (this is now in GuiSelection)
* src/frontends/{qt3,gtk}/GuiClipboard.h
(old_work_area_): remove, since it is not needed anymore
* src/frontends/gtk/ghelpers.C
(getGTKStockIcon): handle LFUN_CLIPBOARD_PASTE
* src/frontends/Clipboard.h
(haveSelection): remove (this is now in Selection)
* src/frontends/qt4/GuiImplementation.[Ch]
(GuiImplementation::selection): new accessor for selection_
* src/frontends/Gui.h
(selection): New accessor for the global selection object
* src/frontends/Selection.h; new, copied from Clipboard.h
* src/frontends/Makefile.am: add Selection.h
* src/text3.C
(various): s/clipboard().haveSelection/selection().haveSelection/
(LyXText::dispatch): handle LFUN_CLIPBOARD_PASTE
(LyXText::getStatus): ditto
* src/lfuns.h: new lfun LFUN_CLIPBOARD_PASTE
* lib/ui/stdmenus.ui: add new lfun LFUN_CLIPBOARD_PASTE
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14408 a592a061-630c-0410-9148-cb99ea01b6c8
2006-07-10 11:32:25 +00:00
|
|
|
|
{ LFUN_CLIPBOARD_PASTE, "clipboard-paste", Noop },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_COMMAND_EXECUTE, "command-execute", NoBuffer },
|
|
|
|
|
{ LFUN_COMMAND_PREFIX, "command-prefix", NoBuffer },
|
|
|
|
|
{ LFUN_COMMAND_SEQUENCE, "command-sequence", NoBuffer },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_COPY, "copy", ReadOnly },
|
|
|
|
|
{ LFUN_CUT, "cut", Noop },
|
|
|
|
|
{ LFUN_DATE_INSERT, "date-insert", Noop },
|
2006-05-08 18:09:19 +00:00
|
|
|
|
{ LFUN_DELETE_BACKWARD_SKIP, "delete-backward-skip", Noop },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_DELETE_FORWARD_SKIP, "delete-forward-skip", Noop },
|
|
|
|
|
{ LFUN_DEPTH_DECREMENT, "depth-decrement", Noop },
|
|
|
|
|
{ LFUN_DEPTH_INCREMENT, "depth-increment", Noop },
|
|
|
|
|
{ LFUN_DOTS_INSERT, "dots-insert", Noop },
|
2006-03-10 16:10:35 +00:00
|
|
|
|
{ LFUN_DOWN, "down", ReadOnly | NoUpdate },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_DOWN_SELECT, "down-select", ReadOnly | SingleParUpdate },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_DROP_LAYOUTS_CHOICE, "drop-layouts-choice", ReadOnly },
|
2006-05-08 18:09:19 +00:00
|
|
|
|
{ LFUN_END_OF_SENTENCE_PERIOD_INSERT, "end-of-sentence-period-insert", Noop },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_ENVIRONMENT_INSERT, "environment-insert", Noop },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_ERROR_NEXT, "error-next", ReadOnly },
|
|
|
|
|
{ LFUN_ERT_INSERT, "ert-insert", Noop },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_FILE_INSERT, "file-insert", Noop },
|
2007-01-15 22:49:14 +00:00
|
|
|
|
{ LFUN_FILE_INSERT_PLAINTEXT, "file-insert-plaintext", Noop },
|
|
|
|
|
{ LFUN_FILE_INSERT_PLAINTEXT_PARA, "file-insert-plaintext-para", Noop },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_FILE_NEW, "file-new", NoBuffer },
|
|
|
|
|
{ LFUN_FILE_OPEN, "file-open", NoBuffer },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_FLOAT_INSERT, "float-insert", Noop },
|
|
|
|
|
{ LFUN_FLOAT_WIDE_INSERT, "float-wide-insert", Noop },
|
|
|
|
|
{ LFUN_WRAP_INSERT, "wrap-insert", Noop },
|
|
|
|
|
{ LFUN_FONT_BOLD, "font-bold", Noop },
|
|
|
|
|
{ LFUN_FONT_CODE, "font-code", Noop },
|
|
|
|
|
{ LFUN_FONT_DEFAULT, "font-default", Noop },
|
|
|
|
|
{ LFUN_FONT_EMPH, "font-emph", Noop },
|
|
|
|
|
{ LFUN_FONT_FREE_APPLY, "font-free-apply", Noop },
|
|
|
|
|
{ LFUN_FONT_FREE_UPDATE, "font-free-update", Noop },
|
|
|
|
|
{ LFUN_FONT_NOUN, "font-noun", Noop },
|
|
|
|
|
{ LFUN_FONT_ROMAN, "font-roman", Noop },
|
|
|
|
|
{ LFUN_FONT_SANS, "font-sans", Noop },
|
|
|
|
|
{ LFUN_FONT_FRAK, "font-frak", Noop },
|
|
|
|
|
{ LFUN_FONT_ITAL, "font-ital", Noop },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_FONT_SIZE, "font-size", Noop },
|
|
|
|
|
{ LFUN_FONT_STATE, "font-state", ReadOnly },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_FONT_UNDERLINE, "font-underline", Noop },
|
|
|
|
|
{ LFUN_FOOTNOTE_INSERT, "footnote-insert", Noop },
|
|
|
|
|
{ LFUN_HFILL_INSERT, "hfill-insert", Noop },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_HELP_OPEN, "help-open", NoBuffer | Argument},
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_HTML_INSERT, "html-insert", Noop },
|
|
|
|
|
{ LFUN_HYPHENATION_POINT_INSERT, "hyphenation-point-insert", Noop },
|
|
|
|
|
{ LFUN_LIGATURE_BREAK_INSERT, "ligature-break-insert", Noop },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_INDEX_INSERT, "index-insert", Noop },
|
|
|
|
|
{ LFUN_INDEX_PRINT, "index-print", Noop },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_KEYMAP_OFF, "keymap-off", ReadOnly },
|
|
|
|
|
{ LFUN_KEYMAP_PRIMARY, "keymap-primary", ReadOnly },
|
|
|
|
|
{ LFUN_KEYMAP_SECONDARY, "keymap-secondary", ReadOnly },
|
|
|
|
|
{ LFUN_KEYMAP_TOGGLE, "keymap-toggle", ReadOnly },
|
|
|
|
|
{ LFUN_LABEL_INSERT, "label-insert", Noop },
|
|
|
|
|
{ LFUN_OPTIONAL_INSERT, "optional-insert", Noop },
|
|
|
|
|
{ LFUN_BIBITEM_INSERT, "bibitem-insert", Noop },
|
|
|
|
|
{ LFUN_CITATION_INSERT, "citation-insert", Noop },
|
|
|
|
|
{ LFUN_BIBTEX_DATABASE_ADD, "bibtex-database-add", Noop },
|
|
|
|
|
{ LFUN_BIBTEX_DATABASE_DEL, "bibtex-database-del", Noop },
|
|
|
|
|
{ LFUN_LINE_INSERT, "line-insert", Noop },
|
|
|
|
|
{ LFUN_PAGEBREAK_INSERT, "pagebreak-insert", Noop },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_LANGUAGE, "language", Noop },
|
|
|
|
|
{ LFUN_LAYOUT, "layout", Noop },
|
|
|
|
|
{ LFUN_LAYOUT_PARAGRAPH, "layout-paragraph", ReadOnly },
|
|
|
|
|
{ LFUN_LAYOUT_TABULAR, "layout-tabular", Noop },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_LINE_BEGIN, "line-begin", ReadOnly | NoUpdate},
|
2006-05-08 18:09:19 +00:00
|
|
|
|
{ LFUN_LINE_BEGIN_SELECT, "line-begin-select", ReadOnly | SingleParUpdate },
|
|
|
|
|
{ LFUN_LINE_DELETE, "line-delete-forward", Noop }, // there is no line-delete-backward
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_LINE_END, "line-end", ReadOnly | NoUpdate},
|
2006-05-08 18:09:19 +00:00
|
|
|
|
{ LFUN_LINE_END_SELECT, "line-end-select", ReadOnly | SingleParUpdate },
|
2001-07-24 22:08:49 +00:00
|
|
|
|
#if 0
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_LIST_INSERT, "list-insert", Noop },
|
2001-07-24 22:08:49 +00:00
|
|
|
|
#endif
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_LYX_QUIT, "lyx-quit", NoBuffer },
|
|
|
|
|
{ LFUN_MARGINALNOTE_INSERT, "marginalnote-insert", Noop },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_MARK_OFF, "mark-off", ReadOnly },
|
|
|
|
|
{ LFUN_MARK_ON, "mark-on", ReadOnly },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_MARK_TOGGLE, "mark-toggle", ReadOnly },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_MATH_DELIM, "math-delim", Noop },
|
2006-05-07 10:51:19 +00:00
|
|
|
|
{ LFUN_MATH_BIGDELIM, "math-bigdelim", Noop },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_MATH_DISPLAY, "math-display", Noop },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_MATH_INSERT, "math-insert", Noop },
|
|
|
|
|
{ LFUN_MATH_SUBSCRIPT, "math-subscript", Noop },
|
|
|
|
|
{ LFUN_MATH_SUPERSCRIPT, "math-superscript", Noop },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_MATH_LIMITS, "math-limits", Noop },
|
|
|
|
|
{ LFUN_MATH_MACRO, "math-macro", Noop },
|
|
|
|
|
{ LFUN_MATH_MUTATE, "math-mutate", Noop },
|
|
|
|
|
{ LFUN_MATH_SPACE, "math-space", Noop },
|
|
|
|
|
{ LFUN_MATH_IMPORT_SELECTION, "math-import-selection", Noop },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_MATH_MATRIX, "math-matrix", Noop },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_MATH_MODE, "math-mode", Noop },
|
|
|
|
|
{ LFUN_MATH_NONUMBER, "math-nonumber", Noop },
|
|
|
|
|
{ LFUN_MATH_NUMBER, "math-number", Noop },
|
|
|
|
|
{ LFUN_MATH_EXTERN, "math-extern", Noop },
|
|
|
|
|
{ LFUN_MATH_SIZE, "math-size", Noop },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_MENU_OPEN, "menu-open", NoBuffer },
|
|
|
|
|
{ LFUN_MENU_SEPARATOR_INSERT, "menu-separator-insert", Noop },
|
|
|
|
|
{ LFUN_META_PREFIX, "meta-prefix", NoBuffer },
|
|
|
|
|
{ LFUN_BRANCH_INSERT, "branch-insert", Noop },
|
|
|
|
|
{ LFUN_CHARSTYLE_INSERT, "charstyle-insert", Noop },
|
|
|
|
|
{ LFUN_NOTE_INSERT, "note-insert", Noop },
|
|
|
|
|
{ LFUN_BOX_INSERT, "box-insert", Noop },
|
|
|
|
|
{ LFUN_NOTE_NEXT, "note-next", ReadOnly },
|
2004-03-30 12:36:33 +00:00
|
|
|
|
{ LFUN_INSET_TOGGLE, "", ReadOnly },
|
2006-05-08 18:09:19 +00:00
|
|
|
|
{ LFUN_NEXT_INSET_TOGGLE, "next-inset-toggle", ReadOnly },
|
2004-03-30 12:36:33 +00:00
|
|
|
|
{ LFUN_ALL_INSETS_TOGGLE, "all-insets-toggle", ReadOnly },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_PARAGRAPH_DOWN, "paragraph-down", ReadOnly | NoUpdate},
|
2006-05-08 18:09:19 +00:00
|
|
|
|
{ LFUN_PARAGRAPH_DOWN_SELECT, "paragraph-down-select", ReadOnly },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_PARAGRAPH_GOTO, "paragraph-goto", ReadOnly },
|
|
|
|
|
{ LFUN_OUTLINE_UP, "outline-up", Noop },
|
|
|
|
|
{ LFUN_OUTLINE_DOWN, "outline-down", Noop },
|
|
|
|
|
{ LFUN_OUTLINE_IN, "outline-in", Noop },
|
|
|
|
|
{ LFUN_OUTLINE_OUT, "outline-out", Noop },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_PARAGRAPH_SPACING, "paragraph-spacing", Noop },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_PARAGRAPH_UP, "paragraph-up", ReadOnly | NoUpdate},
|
2006-05-08 18:09:19 +00:00
|
|
|
|
{ LFUN_PARAGRAPH_UP_SELECT, "paragraph-up-select", ReadOnly },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_PASTE, "paste", Noop },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_PREFERENCES_SAVE, "preferences-save", NoBuffer },
|
|
|
|
|
{ LFUN_PRIMARY_SELECTION_PASTE, "primary-selection-paste", Noop },
|
|
|
|
|
{ LFUN_QUOTE_INSERT, "quote-insert", Noop },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_RECONFIGURE, "reconfigure", NoBuffer },
|
|
|
|
|
{ LFUN_REDO, "redo", Noop },
|
2005-05-08 10:02:38 +00:00
|
|
|
|
{ LFUN_LABEL_GOTO, "label-goto", ReadOnly },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_REFERENCE_NEXT, "reference-next", ReadOnly },
|
2006-10-21 12:01:14 +00:00
|
|
|
|
{ LFUN_SCREEN_DOWN, "screen-down", ReadOnly },
|
2006-05-08 18:09:19 +00:00
|
|
|
|
{ LFUN_SCREEN_DOWN_SELECT, "screen-down-select", ReadOnly },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_SCREEN_FONT_UPDATE, "screen-font-update", NoBuffer },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_SCREEN_RECENTER, "screen-recenter", ReadOnly },
|
2006-10-21 12:01:14 +00:00
|
|
|
|
{ LFUN_SCREEN_UP, "screen-up", ReadOnly },
|
2006-05-08 18:09:19 +00:00
|
|
|
|
{ LFUN_SCREEN_UP_SELECT, "screen-up-select", ReadOnly },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_SELF_INSERT, "self-insert", SingleParUpdate },
|
2003-05-22 10:40:57 +00:00
|
|
|
|
{ LFUN_SPACE_INSERT, "space-insert", Noop },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_SERVER_CHAR_AFTER, "server-char-after", ReadOnly },
|
|
|
|
|
{ LFUN_SERVER_GET_FONT, "server-get-font", ReadOnly },
|
|
|
|
|
{ LFUN_SERVER_GET_LAYOUT, "server-get-layout", ReadOnly },
|
|
|
|
|
{ LFUN_SERVER_GET_NAME, "server-get-name", ReadOnly },
|
|
|
|
|
{ LFUN_SERVER_GET_XY, "server-get-xy", ReadOnly },
|
2007-08-01 13:16:24 +00:00
|
|
|
|
{ LFUN_SERVER_GOTO_FILE_ROW, "server-goto-file-row", ReadOnly },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_SERVER_NOTIFY, "server-notify", ReadOnly },
|
|
|
|
|
{ LFUN_SERVER_SET_XY, "server-set-xy", ReadOnly },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_SET_COLOR, "set-color", ReadOnly | NoBuffer },
|
|
|
|
|
{ LFUN_CELL_BACKWARD, "cell-backward", Noop },
|
|
|
|
|
{ LFUN_CELL_FORWARD, "cell-forward", Noop },
|
|
|
|
|
{ LFUN_CELL_SPLIT, "cell-split", Noop },
|
|
|
|
|
{ LFUN_TABULAR_INSERT, "tabular-insert", Noop },
|
|
|
|
|
{ LFUN_TABULAR_FEATURE, "tabular-feature", Noop },
|
2001-07-24 22:08:49 +00:00
|
|
|
|
#if 0
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_THEOREM_INSERT, "theorem-insert", Noop },
|
2001-07-24 22:08:49 +00:00
|
|
|
|
#endif
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_THESAURUS_ENTRY, "thesaurus-entry", ReadOnly },
|
|
|
|
|
{ LFUN_TOC_INSERT, "toc-insert", Noop },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_TOGGLE_CURSOR_FOLLOWS_SCROLLBAR, "toggle-cursor-follows-scrollbar", ReadOnly },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_UNDO, "undo", Noop },
|
2005-02-08 02:06:39 +00:00
|
|
|
|
{ LFUN_UP, "up", ReadOnly | NoUpdate},
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_UP_SELECT, "up-select", ReadOnly | SingleParUpdate },
|
|
|
|
|
{ LFUN_URL_INSERT, "url-insert", Noop },
|
|
|
|
|
{ LFUN_VC_CHECK_IN, "vc-check-in", ReadOnly },
|
|
|
|
|
{ LFUN_VC_CHECK_OUT, "vc-check-out", ReadOnly },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_VC_REGISTER, "vc-register", ReadOnly },
|
|
|
|
|
{ LFUN_VC_REVERT, "vc-revert", ReadOnly },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_VC_UNDO_LAST, "vc-undo-last", ReadOnly },
|
|
|
|
|
{ LFUN_WORD_BACKWARD, "word-backward", ReadOnly | NoUpdate},
|
2006-05-08 18:09:19 +00:00
|
|
|
|
{ LFUN_WORD_BACKWARD_SELECT, "word-backward-select", ReadOnly | SingleParUpdate },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_WORD_CAPITALIZE, "word-capitalize", Noop },
|
2006-05-08 18:09:19 +00:00
|
|
|
|
{ LFUN_WORD_DELETE_BACKWARD, "word-delete-backward", Noop },
|
|
|
|
|
{ LFUN_WORD_DELETE_FORWARD, "word-delete-forward", Noop },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_WORD_FIND_BACKWARD, "word-find-backward", ReadOnly },
|
|
|
|
|
{ LFUN_WORD_FIND_FORWARD, "word-find-forward", ReadOnly },
|
|
|
|
|
{ LFUN_WORD_FORWARD, "word-forward", ReadOnly | NoUpdate},
|
2006-05-08 18:09:19 +00:00
|
|
|
|
{ LFUN_WORD_FORWARD_SELECT, "word-forward-select", ReadOnly | SingleParUpdate },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_WORD_LOWCASE, "word-lowcase", Noop },
|
|
|
|
|
{ LFUN_WORD_SELECT, "word-select", ReadOnly },
|
|
|
|
|
{ LFUN_WORD_UPCASE, "word-upcase", Noop },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_MESSAGE, "message", NoBuffer },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_CHARS_TRANSPOSE, "chars-transpose", Noop },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_FLOAT_LIST, "float-list", Noop },
|
2003-05-26 10:49:02 +00:00
|
|
|
|
{ LFUN_ESCAPE, "escape", ReadOnly },
|
2006-05-08 18:09:19 +00:00
|
|
|
|
{ LFUN_CHANGES_TRACK, "changes-track", Noop },
|
|
|
|
|
{ LFUN_CHANGES_OUTPUT, "changes-output", Noop },
|
2006-10-04 21:43:40 +00:00
|
|
|
|
{ LFUN_CHANGE_NEXT, "change-next", ReadOnly },
|
2006-05-08 18:09:19 +00:00
|
|
|
|
{ LFUN_CHANGES_MERGE, "changes-merge", Noop },
|
|
|
|
|
{ LFUN_CHANGE_ACCEPT, "change-accept", Noop },
|
|
|
|
|
{ LFUN_CHANGE_REJECT, "change-reject", Noop },
|
|
|
|
|
{ LFUN_ALL_CHANGES_ACCEPT, "all-changes-accept", Noop },
|
|
|
|
|
{ LFUN_ALL_CHANGES_REJECT, "all-changes-reject", Noop },
|
2003-06-19 16:49:45 +00:00
|
|
|
|
{ LFUN_DIALOG_SHOW, "dialog-show", NoBuffer },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_DIALOG_SHOW_NEW_INSET, "dialog-show-new-inset", Noop },
|
2004-04-05 18:34:36 +00:00
|
|
|
|
{ LFUN_DIALOG_UPDATE, "dialog-update", NoBuffer },
|
2007-04-30 14:29:49 +00:00
|
|
|
|
{ LFUN_DIALOG_HIDE, "dialog-hide", NoBuffer },
|
|
|
|
|
{ LFUN_DIALOG_TOGGLE, "dialog-toggle", NoBuffer },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_DIALOG_DISCONNECT_INSET, "dialog-disconnect-inset", Noop },
|
|
|
|
|
{ LFUN_INSET_APPLY, "inset-apply", Noop },
|
2006-08-08 13:34:02 +00:00
|
|
|
|
{ LFUN_INSET_DISSOLVE, "inset-dissolve", Noop },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_INSET_INSERT, "inset-insert", Noop },
|
|
|
|
|
{ LFUN_INSET_MODIFY, "", Noop },
|
|
|
|
|
{ LFUN_INSET_DIALOG_UPDATE, "", Noop },
|
2003-04-26 19:01:33 +00:00
|
|
|
|
{ LFUN_INSET_SETTINGS, "inset-settings", ReadOnly },
|
Add LFUN_PARAGRAPH_PARAMS (= paragraph-params), used for changing a paragraph's alignment, spacing, etc. This is complementary to LFUN_PARAGRAPH_PARAMS_APPLY, which sets the parameters. The difference is that APPLY over-rides all existing parameters, setting any not given to the default, whereas this one simply changes those that are given. So
paragraph-params \align right
will align the paragraph right, leaving spacing, etc, as they were, whereas
paragraph-params-apply \align right
will align the paragraph right but also reset all other parameters to defaults. Note, by the way, that this means that
paragraph-params-apply
sets everything to default.
Some new arguments have also been introduced. These are:
\indent
\indent-toggle
\spacing default
Of course, none of these are found in valid LyX files, but they are useful in menu bindings, etc.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19581 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-15 02:21:09 +00:00
|
|
|
|
{ LFUN_PARAGRAPH_PARAMS, "paragraph-params", Noop },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_PARAGRAPH_PARAMS_APPLY, "paragraph-params-apply", Noop },
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_PARAGRAPH_UPDATE, "", Noop },
|
2003-06-11 11:01:34 +00:00
|
|
|
|
{ LFUN_EXTERNAL_EDIT, "external-edit", Noop },
|
2004-04-13 10:36:09 +00:00
|
|
|
|
{ LFUN_GRAPHICS_EDIT, "graphics-edit", Noop },
|
2003-10-27 12:41:26 +00:00
|
|
|
|
{ LFUN_REPEAT, "repeat", NoBuffer },
|
2004-08-13 15:11:15 +00:00
|
|
|
|
{ LFUN_WORD_FIND, "word-find", ReadOnly },
|
2004-01-07 15:09:51 +00:00
|
|
|
|
{ LFUN_WORD_REPLACE, "word-replace", Noop },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_BUFFER_LANGUAGE, "buffer-language", Noop },
|
2004-03-30 16:19:50 +00:00
|
|
|
|
{ LFUN_TEXTCLASS_APPLY, "textclass-apply", Noop },
|
|
|
|
|
{ LFUN_TEXTCLASS_LOAD, "textclass-load", Noop },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_BUFFER_SAVE_AS_DEFAULT, "buffer-save-as-default", Noop },
|
|
|
|
|
{ LFUN_BUFFER_PARAMS_APPLY, "buffer-params-apply", Noop },
|
2004-03-31 16:50:59 +00:00
|
|
|
|
{ LFUN_LYXRC_APPLY, "lyxrc-apply", NoBuffer },
|
2004-05-17 08:52:21 +00:00
|
|
|
|
{ LFUN_INSET_REFRESH, "", Noop },
|
2006-05-08 18:09:19 +00:00
|
|
|
|
{ LFUN_BUFFER_NEXT, "buffer-next", ReadOnly },
|
2006-05-05 20:23:12 +00:00
|
|
|
|
{ LFUN_BUFFER_PREVIOUS, "buffer-previous", ReadOnly },
|
2004-12-27 16:30:27 +00:00
|
|
|
|
{ LFUN_WORDS_COUNT, "words-count", ReadOnly },
|
2005-02-08 02:06:39 +00:00
|
|
|
|
{ LFUN_FINISHED_RIGHT, "", ReadOnly },
|
|
|
|
|
{ LFUN_FINISHED_LEFT, "", ReadOnly },
|
|
|
|
|
{ LFUN_MOUSE_PRESS, "", ReadOnly },
|
2006-03-10 16:10:35 +00:00
|
|
|
|
{ LFUN_MOUSE_MOTION, "", ReadOnly | SingleParUpdate },
|
2005-02-08 02:06:39 +00:00
|
|
|
|
{ LFUN_MOUSE_RELEASE, "", ReadOnly },
|
|
|
|
|
{ LFUN_MOUSE_DOUBLE, "", ReadOnly },
|
|
|
|
|
{ LFUN_MOUSE_TRIPLE, "", ReadOnly },
|
2006-04-26 22:43:26 +00:00
|
|
|
|
{ LFUN_PARAGRAPH_MOVE_DOWN, "paragraph-move-down", Noop },
|
|
|
|
|
{ LFUN_PARAGRAPH_MOVE_UP, "paragraph-move-up", Noop },
|
2006-10-21 09:45:11 +00:00
|
|
|
|
{ LFUN_WINDOW_NEW, "window-new", NoBuffer },
|
2006-10-23 16:29:24 +00:00
|
|
|
|
{ LFUN_WINDOW_CLOSE, "window-close", NoBuffer },
|
2006-10-22 18:47:19 +00:00
|
|
|
|
{ LFUN_UNICODE_INSERT, "unicode-insert", Noop },
|
2007-05-23 22:08:07 +00:00
|
|
|
|
{ LFUN_TOOLBAR_TOGGLE, "toolbar-toggle", NoBuffer },
|
2006-11-04 17:55:36 +00:00
|
|
|
|
{ LFUN_NOMENCL_INSERT, "nomencl-insert", Noop },
|
|
|
|
|
{ LFUN_NOMENCL_PRINT, "nomencl-print", Noop },
|
2006-11-25 15:09:01 +00:00
|
|
|
|
{ LFUN_CLEARPAGE_INSERT, "clearpage-insert", Noop },
|
|
|
|
|
{ LFUN_CLEARDOUBLEPAGE_INSERT, "cleardoublepage-insert", Noop },
|
Add support for listings package. Two listings command \lstinline, \lstinputlisting and an environment \lstlisting are supported, along with preamble \lstset. \lstinputlisting is implemented through Include dialog, and the other two are implemented with a new inset listings, along with its dialog.
* src/LyXAction.cpp: listing-insert action
* src/insets/Inset.h,cpp: LISTINGS_CODE
* src/insets/InsetInclude.cpp: handle \lstinputlisting
* src/insets/InsetListings.h,cpp: new listings inset
* src/insets/InsetListingsParams.h,cpp: parameters from listings package
* src/insets/InsetCommandParams.h,cpp: handle lstinputlisting option
* src/Bidi.cpp: handle LISTINGS_CODE
* src/frontends/qt4/ui/TextLayoutUi.ui: update UI
* src/frontends/qt4/ui/ListingsUi.ui: new dialog
* src/frontends/qt4/ui/IncludeUi.ui: update UI
* src/frontends/qt4/QInclude.h,cpp: add lstinputlisting
* src/frontends/qt4/QDocument.h,cpp: add textedit for preamble listings_params
* src/frontends/qt4/QListings.h,cpp: new listings inset
* src/frontends/qt4/Dialogs.cpp: new listings dialog
* src/frontends/controllers/ControlInclude.h,cpp: add lstinputlisting
* src/frontends/controllers/ControlListings.h,cpp: new listings inset
* src/LyXFunc.cpp: handle LISTING_CODE
* src/Paragraph.cpp: handle LISTING_CODE
* src/factory.cpp: new listings inset
* src/CutAndPaste.cpp: handle LISTINGS_CODE
* src/LaTeXFeatures.cpp: require listings
* src/Text3.cpp: Handle LISTINGS_CODE
* src/lfuns.h: add LFUN_LISTING_INSERT
* src/Buffer.cpp: change lyx file format to 269
* src/BufferParams.h,cpp: add listings_params to preamble
* lib/lyx2lyx/LyX.py: lyx2lyx
* lib/lyx2lyx/lyx_1_5.py: lyx2lyx
* lib/ui/stdmenus.inc: new menu item (no shortcut!)
* src/insets/Makefile.am: update autotools
* src/frontends/controllers/Makefile.am
* src/frontends/qt4/Makefile.dialogs
* src/frontends/qt4/Makefile.am
* po/POTFILES.in: a few more translatable files.
* development/scons/scons_manifest.py: scons build system
* development/FORMAT: document format changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18243 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-09 19:11:42 +00:00
|
|
|
|
{ LFUN_LISTING_INSERT, "listing-insert", Noop },
|
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
|
|
|
|
{ LFUN_LAYOUT_MODULES_CLEAR, "layout-modules-clear", Noop },
|
|
|
|
|
{ LFUN_LAYOUT_MODULE_ADD, "layout-module-add", Noop },
|
2006-11-04 17:55:36 +00:00
|
|
|
|
|
2003-04-09 20:51:35 +00:00
|
|
|
|
{ LFUN_NOACTION, "", Noop }
|
1999-12-13 00:05:34 +00:00
|
|
|
|
};
|
|
|
|
|
|
2002-08-08 22:03:30 +00:00
|
|
|
|
for (int i = 0; items[i].action != LFUN_NOACTION; ++i) {
|
2003-04-09 20:51:35 +00:00
|
|
|
|
newFunc(items[i].action, items[i].name, items[i].attrib);
|
1999-12-13 00:05:34 +00:00
|
|
|
|
}
|
1999-11-22 16:19:48 +00:00
|
|
|
|
|
|
|
|
|
init = true;
|
1999-09-27 18:44:28 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
1999-11-22 16:19:48 +00:00
|
|
|
|
LyXAction::LyXAction()
|
1999-09-27 18:44:28 +00:00
|
|
|
|
{
|
1999-11-22 16:19:48 +00:00
|
|
|
|
init();
|
1999-09-27 18:44:28 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Returns an action tag from a string.
|
2003-09-21 23:00:47 +00:00
|
|
|
|
FuncRequest LyXAction::lookupFunc(string const & func) const
|
1999-09-27 18:44:28 +00:00
|
|
|
|
{
|
2002-07-28 22:50:13 +00:00
|
|
|
|
string const func2 = trim(func);
|
1999-11-22 16:19:48 +00:00
|
|
|
|
|
2003-09-21 23:00:47 +00:00
|
|
|
|
if (func2.empty()) {
|
|
|
|
|
return FuncRequest(LFUN_NOACTION);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
string cmd;
|
|
|
|
|
string const arg = split(func2, cmd, ' ');
|
1999-11-22 16:19:48 +00:00
|
|
|
|
|
2003-09-21 23:00:47 +00:00
|
|
|
|
func_map::const_iterator fit = lyx_func_map.find(cmd);
|
1999-11-22 16:19:48 +00:00
|
|
|
|
|
2003-09-21 23:00:47 +00:00
|
|
|
|
return fit != lyx_func_map.end() ? FuncRequest(fit->second, arg) : FuncRequest(LFUN_UNKNOWN_ACTION);
|
1999-09-27 18:44:28 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2003-09-21 23:00:47 +00:00
|
|
|
|
string const LyXAction::getActionName(kb_action action) const
|
1999-09-27 18:44:28 +00:00
|
|
|
|
{
|
2003-09-21 23:00:47 +00:00
|
|
|
|
info_map::const_iterator const it = lyx_info_map.find(action);
|
|
|
|
|
return it != lyx_info_map.end() ? it->second.name : string();
|
1999-09-27 18:44:28 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2002-03-21 17:27:08 +00:00
|
|
|
|
bool LyXAction::funcHasFlag(kb_action action,
|
|
|
|
|
LyXAction::func_attrib flag) const
|
1999-09-27 18:44:28 +00:00
|
|
|
|
{
|
1999-12-16 06:43:25 +00:00
|
|
|
|
info_map::const_iterator ici = lyx_info_map.find(action);
|
|
|
|
|
|
2003-11-10 09:06:48 +00:00
|
|
|
|
if (ici == lyx_info_map.end()) {
|
|
|
|
|
lyxerr << "action: " << action << " is not known." << endl;
|
|
|
|
|
BOOST_ASSERT(false);
|
|
|
|
|
}
|
2003-09-21 23:00:47 +00:00
|
|
|
|
|
|
|
|
|
return ici->second.attrib & flag;
|
1999-09-27 18:44:28 +00:00
|
|
|
|
}
|
|
|
|
|
|
1999-11-22 16:19:48 +00:00
|
|
|
|
|
2002-03-21 17:27:08 +00:00
|
|
|
|
LyXAction::const_func_iterator LyXAction::func_begin() const
|
2001-04-17 13:54:24 +00:00
|
|
|
|
{
|
|
|
|
|
return lyx_func_map.begin();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2002-03-21 17:27:08 +00:00
|
|
|
|
LyXAction::const_func_iterator LyXAction::func_end() const
|
2001-04-17 13:54:24 +00:00
|
|
|
|
{
|
|
|
|
|
return lyx_func_map.end();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
1999-10-07 18:44:17 +00:00
|
|
|
|
ostream & operator<<(ostream & o, kb_action action)
|
|
|
|
|
{
|
|
|
|
|
return o << int(action);
|
|
|
|
|
}
|
2006-10-21 00:16:43 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} // namespace lyx
|