Commit Graph

197 Commits

Author SHA1 Message Date
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
Abdelrazak Younes
5e5f824376 sync with rev 19751: delete Menubar.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19752 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-23 12:55:51 +00:00
Bo Peng
52fa9e584e Embedding feature patch 1: add zipFiles and unzipToDir to support
* src/support/lyxlib.h: add makedir(), used by unzipToDir
	* src/support/filetools.[h|cpp]: add zipFiles() and unzipToDir()
	* src/support/mkdir.cpp: add makedir() and mymkdir(char*).
	* src/support/minizip: add zlib-1.2.3/contrib/minizip files to lyx svn
	* src/support/minizip/iowin32.h
	* src/support/minizip/ioapi.c
	* src/support/minizip/zip.c
	* src/support/minizip/unzip.c
	* src/support/minizip/crypt.h
	* src/support/minizip/ioapi.h
	* src/support/minizip/zip.h
	* src/support/minizip/unzip.h
	* src/support/minizip/iowin32.c
	* development/scons/scons_manifest.py: adjust scons
	* development/scons/SConstruct


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19692 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-21 14:48:47 +00:00
Richard Heck
cd772c60a5 Biblio.{h,cpp} --> BiblioInfo.{h,cpp}
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19660 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-20 17:04:36 +00:00
Richard Heck
b3bff4232a Improvements to the citation dialog UI. It is now possible to search particular fields (author, title, etc) and to filter keys by entry types (article, book, etc).
The changes are essentially of three types. 

First, the std::maps previously used here for storing BibTeX data have become full-fledged classes and so what were previously just a bunch of functions have now become methods of these new  classes. This leads to a lot of minor changes in other files, to adapt to the  new signature. The changes in insets/ are mostly of this kind.

Second, there are some slightly more substantial changes in src/insets/InsetBibtex.cpp. We now store lists of the field names and entry types that have been used.

Finally, there are the changes to the citation UI. These are mostly straightforward, though adding the new functionality exposed some inadequacies in the previous code that also had to be fixed.

One other change: BibTeX keys are now docstring. This solves some Unicode issues.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19657 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-20 16:30:02 +00:00
Bo Peng
84ce8a0882 Scons: distribute missing layout file
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19615 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-17 04:17:01 +00:00
Richard Heck
5bb22d9498 Re-write of the BibTeX representation. The main change is that we now have
a structure representing field->value instead of just a single string with
all the data. The data structures are defined in src/Biblio_typedefs.h, and
the main changes are to the parser code in src/insets/InsetBibtex.cpp.

-src/Biblio_typedefs.h
 Contains typedefs for new representation. Separating them out limits how much 
 gets #include'd by other files, and also resolves a circularity problem with
 Buffer.h.

-src/Biblio.{h,cpp}
 Signature changes and massive simplifications to routines that report
 BibTeX data, since we now have an articulate representation.

-src/insets/InsetBibtex.{h,cpp}
 Re-write the parser code so we store a key->value map of the BibTeX data
 rather than just one long string. This is the main work.

-src/frontends/controllers/ControlCitation.{h,cpp}
-src/insets/InsetBibitem.{h,cpp}
-src/insets/InsetCitation.cpp
 Adaptations and simplifications.

-src/insets/Inset.h
-src/Buffer.{h,cpp}
-src/insets/InsetInclude.{h,cpp}
 Signature changes.

-src/Makefile.am
-development/scons/scons_manifest.py
 Add src/Biblio_typedefs.h


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19598 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-16 01:59:20 +00:00
Richard Heck
8a221dc70c Move the lyx::biblio namespace into src/. Also make changes to how the BibTeX
information is acquired. This involves (i) moving the bulk of fillWithBibKeys() 
into Biblio.cpp, (ii) introducing a virtual method Inset::fillWithBibKeys() that,
by default, does nothing, and (iii) over-riding this method in the insets that do
need to do something.

This is all preparatory for a more substantial re-working of the BibTex code,
which should follow shortly.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19565 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-14 16:50:51 +00:00
André Pönitz
77cfe019f2 remove special handling of version.cpp[.in]
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19497 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-13 12:04:57 +00:00
Bo Peng
cd4ef66755 fix scons
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19491 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-13 03:19:57 +00:00
Uwe Stöhr
278838409b lib/doc/clipart: Add two new images for the Userguide
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19490 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-13 01:35:48 +00:00
Jean-Marc Lasgouttes
2a3cfcec5e the file has been removed
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19436 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-11 20:58:38 +00:00
Uwe Stöhr
5564407c2c UserGuide.lyx updates: - Finish the descriptions of the bibliography and the document settings dialog
- add a BibTeX bibliography

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19415 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-11 01:20:33 +00:00
Uwe Stöhr
a1687b08aa UserGuide.lyx: complete revision to bring it up to date:
- correct menu names
- add descriptions about index generation, font and graphic formats - to tell only examples

The document is ready except of the outliner and note descriptions.

The description of LyX's menus (Appendix A), and the preferences dialog (Appendix B) will be completed step by step, hopefully with some help.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19389 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-10 01:32:55 +00:00
Bo Peng
f3c3b9bf02 fix scons for gettext upgrade
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19362 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-08 02:14:57 +00:00
Jean-Marc Lasgouttes
525cd4c51e * src/support/gzstream,cpp:
* src/support/gzstream.h: re-introduce the stream we were using in
	1.4.x. The boost iostream solution produces unreadable streams
	on windows and we do not know why currently.

	* src/support/Makefile.am:
	* src/Buffer.cpp:
	* src/Lexer.cpp:
	* development/scons/scons_manifest.py: adapt.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19271 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-01 15:16:44 +00:00
Jürgen Spitzmüller
2a875336c0 * lib/Makefile.am:
* development/scons/scons_manifest.py:
	- add apa template.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19247 a592a061-630c-0410-9148-cb99ea01b6c8
2007-07-31 04:46:09 +00:00
Jean-Marc Lasgouttes
0ffdae7651 Rename development/cmake/README.cmake to INSTALL.cmake
Actually distribute the cmake files with LyX.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19034 a592a061-630c-0410-9148-cb99ea01b6c8
2007-07-11 07:27:56 +00:00
Uwe Stöhr
208a64d292 installer: support for the Chinese menu language translations
scons/scons_manifest.py: add the new Chinese .po files

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18938 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-29 00:14:50 +00:00
Uwe Stöhr
dc56f010db New German EmbeddedObjects manual
Part 2: the documents

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18877 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-25 00:57:19 +00:00
Uwe Stöhr
5f614b008a New German EmbeddedObjects manual
Part 1: the images

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18872 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-23 12:30:03 +00:00
Uwe Stöhr
58c9d5fd70 Add keymap file for Farsi, provided by Mostafa
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18861 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-22 22:41:45 +00:00
Bo Peng
44f31e00f2 add closetab.xpm to scons_manifest.py
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18843 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-21 14:58:31 +00:00
Bo Peng
9907aaf295 fix installer manifest
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18832 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-19 19:26:53 +00:00
Bo Peng
cdc5ab6a83 add installer files to scons_manifest so that installers can depends on installer files
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18831 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-19 18:44:42 +00:00
Richard Heck
954be90e11 Make HTML export work.
The key is the new copier script lib/scripts/ext_copy.py. Usage:
 ext_copy.py [-e ext1,ext2,...] <from file> <to file>
Given a <from file> and <to file>, it will copy all files in the directory 
in which from_file is found that have the extensions given in the -e option, 
or all files in that directory if no such argument is given. So, for example, 
we can do:
  python ext_copy.py -e png,html,css /path/from/file.html /path/to/file.html
and all html, png, and css files in /path/from/ will be copied to the 
(possibly new) directory /path/to/file.html.LyXconv/. The -t option determines 
the extension added to the output filename passed to the script ($$o, in the
copier definition), the default being "LyXconv". If just . is given, then no 
extension is added.

Other changes:
* configure.py: added appropriate copier definitions for html and wordhtml
formats, as well as for the Program pseudo-format.
* lib/Makefile.am and development/scons/scons_manifest.py: add ext_copy.py.
* lib/doc/Customization.lyx: update documentation.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18791 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-15 17:02:35 +00:00
Uwe Stöhr
fddca82d95 add layout and template for iopart
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18745 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-12 01:09:49 +00:00
Edwin Leuven
7aa51095d2 update functions.xpm and add to scons_manifest.py
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18719 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-08 14:48:44 +00:00
Edwin Leuven
9831f407f1 add varrho, patch from hzluo <memcache@gmail.com>
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18697 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-07 12:45:11 +00:00
Uwe Stöhr
bd380926a0 - add Farsi splash.lyx
- reordering SCons entries

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18685 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-05 21:31:39 +00:00
Uwe Stöhr
d9c6ede4cc declarate zh.po to SCons
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18673 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-04 21:18:21 +00:00
Jean-Marc Lasgouttes
43547cd11d Add Korean l10n from cghan
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18596 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-31 14:35:38 +00:00
Uwe Stöhr
9dc3309c90 UserGuide: - German translation updates by Hartmut
- new Image for the German Userguide

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18534 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-27 14:19:36 +00:00
Uwe Stöhr
72586d2c03 update build system after changeset 18478
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18481 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-23 23:55:52 +00:00
Uwe Stöhr
738e0dd8be Add powerdot layout and example
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18463 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-22 21:35:22 +00:00
Uwe Stöhr
b477b2fe39 examples/he: - new splash.lyx
- remove prefix "he" (part 1)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18420 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-19 12:45:25 +00:00
Bo Peng
33b2331867 Add examples/listings.lyx that roughly demonstrates the use of listings features
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18331 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-15 04:01:59 +00:00
Bernhard Roider
fdaf886bbc fix scoons/makefile for r18280
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18288 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-13 18:10:40 +00:00
Bo Peng
4ce743a0a7 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
Abdelrazak Younes
ab2324315b TOC Widget beautification by Stefan Schimanski:
* lib/images: 3 new icons 
* TocUi/TocWidget: Replace labeled button with icon buttons.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18202 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-04 17:37:05 +00:00
Jean-Marc Lasgouttes
92dd086d77 remove fr/CV.lyx to fr/simplecv.lyx
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18184 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-03 13:08:29 +00:00
Uwe Stöhr
52ab589aee remove examples/TableExamples.lyx as its content is explained in detail in the EmbeddedObjects manual - the same as for decimal.lyx i deleted last week after JMarc gave his OK.
As I did for decimal.lyx I leave the file in examples/de until the EmbeddedObjects manual is translated and renamed it to a German name.
(Hartmut also updated this file today.)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18179 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-02 21:50:19 +00:00
Jean-Marc Lasgouttes
1e54896a6b scons update for cv
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18170 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-02 11:58:38 +00:00
Uwe Stöhr
92d858db07 update SCons
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18167 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-02 01:41:03 +00:00
Bo Peng
ab5186f2cc Update scons_manifest.py (separate .inc from layout directory) to make generated po files in the same order as what autotools generates
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18163 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-01 22:04:21 +00:00
Uwe Stöhr
45dd396555 forgot to move also the biblio file with the CV-classes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18160 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-01 18:44:40 +00:00
Uwe Stöhr
227f80157c file format change: support for Armenian
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18155 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-01 17:48:04 +00:00
Michael Schmitt
e96411cb3a * development/scons/scons_manifest.py: fix icon list
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18142 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-01 08:17:05 +00:00
Uwe Stöhr
c64406c2e3 fix SCons
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18139 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-30 22:30:39 +00:00
Uwe Stöhr
b3605ac9fc set SCons and Makefile for the previous CV-class changes
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18138 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-30 22:21:06 +00:00