Commit Graph

168 Commits

Author SHA1 Message Date
Richard Heck
f2e3342983 Fix warning.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33111 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-20 19:46:02 +00:00
Richard Heck
caa4e94bf0 Get rid of some magic booleans in updateLabels() and related routines.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33110 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-20 19:42:12 +00:00
Richard Heck
782db81f77 Author-year citations for XHTML output.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32969 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-11 16:11:55 +00:00
Richard Heck
389f85c038 Move the anonymous functions that are left closer to where they are now
used.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32924 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-09 22:30:56 +00:00
Richard Heck
62b23ac0be Make the complexLabel and basicLabel functions in InsetCitation into
private member functions. This will be useful later.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32923 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-09 22:30:12 +00:00
Richard Heck
833e7085dd A little cleanup of some of the BibTeX info access.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32915 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-09 16:57:08 +00:00
Richard Heck
403dccbf23 No output for nocite citations.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32897 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-08 18:49:32 +00:00
Richard Heck
67ddc3944c Style.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32895 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-08 18:46:09 +00:00
Richard Heck
c90b4fcb87 Use calculated labels in XHTML output.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32892 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-08 18:19:37 +00:00
Richard Heck
eeb1c45edb Typos etc.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32882 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-08 14:38:31 +00:00
Richard Heck
996505c2ae This patch introduces an optional argument to Buffer::updateLabels(), so
as to allow us to call the routine when we are preparing for output and
so to do certain things we might not want to do every time. 

This is an abuse of updateLabels(), in a way, but updateLabels() long
ago became the general recurse-through-the-Buffer routine, and to
implement the sort of thing I want to do here in validate(), say, much
of the code in updateLabels()---in particular, the counter-update
code---would have to be duplicated. So I believe this is the best, and
easiest, way to go.

Actual use of the new argument will follow.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32318 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-04 03:03:38 +00:00
Richard Heck
26006c8ffc Restore XHTML output for InsetCitation.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32262 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-30 22:59:18 +00:00
Abdelrazak Younes
882e2eeb7b InsetCommand ctor: Pass 'Buffer *'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31902 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-08 16:10:34 +00:00
Richard Heck
67e70c6c02 Well, it turns out that we need a different return value for the xhtml
routines, one that allows us to "defer" certain material, e.g., a float
that ought to appear in a div but can't simply be put into the middle
of a paragraph.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30079 a592a061-630c-0410-9148-cb99ea01b6c8
2009-06-12 17:23:17 +00:00
Richard Heck
12f57a57bd The return value for xhtml() is not going to be needed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30078 a592a061-630c-0410-9148-cb99ea01b6c8
2009-06-12 16:11:33 +00:00
Richard Heck
21121f3fb5 It is convenient for me to change this for use in XHTML output, but I also
have been wanting to change it for a while. It is not very useful to have
a bunch of years listed in the citations TOC (which you get if you have used
\citeyear very often. Better, it seems to me, to see the citation keys.

Of course, this can be switched again if need be, and I can figure out a 
different way to handle my own problem.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30053 a592a061-630c-0410-9148-cb99ea01b6c8
2009-06-11 21:23:18 +00:00
Richard Heck
3de92f551a Get XHTML output for InsetCitation working, at least in a primitive way.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30049 a592a061-630c-0410-9148-cb99ea01b6c8
2009-06-11 21:04:15 +00:00
Richard Heck
cca51a04c2 Move the word-wrapping code to support, so that it can be re-used.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29559 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-07 12:23:12 +00:00
Enrico Forestieri
128c2b31d8 Avoid ugly macros in the preamble and protect underlined \cite commands
in a clever way.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29558 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-07 10:57:52 +00:00
Jürgen Spitzmüller
32875625c8 whitespace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28956 a592a061-630c-0410-9148-cb99ea01b6c8
2009-03-28 10:45:24 +00:00
Richard Heck
ba92863f0a Whitespace, formatting.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28948 a592a061-630c-0410-9148-cb99ea01b6c8
2009-03-27 17:57:42 +00:00
Richard Heck
9761d953dc Tooltips for InsetCitation. Please check if this works with RTL.
I think it should.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28896 a592a061-630c-0410-9148-cb99ea01b6c8
2009-03-25 12:23:43 +00:00
André Pönitz
937de4d880 fix constness of string literals
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27467 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-15 17:40:05 +00:00
André Pönitz
f1cba8ff64 more latin1..utf8 schanges. all of src/* should be utf8 now
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27425 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-14 15:58:50 +00:00
Richard Heck
b83564d82c Inset::textString --> Inset::tocString
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27378 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-10 22:45:14 +00:00
Jürgen Spitzmüller
bcf3cbef4f * InsetCitation:
- use valid citation commands only (bug 4876)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24856 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-20 07:22:55 +00:00
Abdelrazak Younes
1e51e87f68 Inset::addToToc(): change signature. Use DocIterator instead of ParConstIterator. The idea is to have more accurate navigation in the paragraph. But this doesn't work yet.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24747 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-13 08:23:44 +00:00
Jürgen Spitzmüller
99f2abf59f dynamic context menu for InsetCitation.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24538 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-28 15:21:55 +00:00
Richard Heck
2193a50605 Implement a cache for BibTeX data. There was a cache of sorts already in InsetCitation, but that was being used only to cache the labels. So that has been moved to Buffer, and everything else that needs access to BibTeX data should call either Buffer::localBibInfo(), which gives you the BiblioInfo for this Buffer, or Buffer::masterBibInfo(), which gives you the BiblioInfo for the Buffer's master, if it has one, or for it, otherwise. Normally, what you want is masterBibInfo().
Thanks to Andre for help with linking problems.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24505 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-25 20:03:03 +00:00
André Pönitz
b35b731fbf move citation enums into header of their own
remove biblio:: namespace


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24385 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-20 15:00:11 +00:00
Richard Heck
5cadecf3f6 Remove embedding stuff from InsetBibtex.
There might be some header cleanup that can be done here, or some uses of forward declarations and such. This was pretty quick and dirty, just to get it done.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24357 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-19 15:52:35 +00:00
Richard Heck
09b189e74c Cosmetics. And avoid conversion of EmbeddedFile to FileName. That seems suspicious.
This may change shortly, anyway, though.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23999 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-27 05:05:21 +00:00
Richard Heck
e13589ef99 Revert last commit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23975 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-26 16:55:57 +00:00
Richard Heck
5ddb79e2a0 Fix for bug 4670, by JMarc.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23974 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-26 16:43:29 +00:00
André Pönitz
0cb39e6f8b earder cleanup; cosmetics;
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23744 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-15 00:02:41 +00:00
Abdelrazak Younes
2ab77c16f6 Introduce Inset::isLabeled() in order to avoid reimplementing Inset::initView() everywhere we need a labels update.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23637 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-10 15:30:32 +00:00
Abdelrazak Younes
346839b59f fix http://bugzilla.lyx.org/show_bug.cgi?id=4608
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23636 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-10 15:01:57 +00:00
Abdelrazak Younes
37b429e347 Add citations to Navigator.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23458 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-04 17:47:47 +00:00
André Pönitz
db8c16d554 progress on buffer-reference-in-insets. beware of instabilities...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23289 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-27 20:43:16 +00:00
Richard Heck
2fb02d20f1 Per Abdel's suggestion that we focus on bug-fixing at this point, this will be the last patch in this series for a bit. But I wanted to get this done before I forget what it is I was doing, so here it is.
The idea behind this patch is to make real key-value support for InsetCommand parameters possible. This should be particularly useful for the listings version of InsetInclude, though we would need some kind of UI for it before it would really be helpful. (See below for some thoughts.) This doesn't substantially change anything else, though some things do get re-arranged a bit.

Basically, the idea is this. First, we introduce a whole range of parameter types: Normal LaTeX optional and required parameters; ones for LyX's internal use (like embed); and finally, in connection with keyval, ones that represent keys and ones that represent optional and required arguments where the keyval stuff will appear. (I'm assuming here that there will always be exactly one of those, and that it will accept only keyval-type material.) The parameters themselves are stored in a map, so it's really only the output routines that need to care about the different types of parameters.

Regarding the frontend, it seems to me that something like the following would work:
(i) scan the parameter list for LATEX_KEY type parameters
(ii) the dialog will have a series of lines, each of which has a combo box listing the acceptable keys and a QLineEdit for entering its value, as well as a "delete" button of some sort for removing this key and its value
(iii) there should be an "add line" button to add a new line, activated only when all other lines are filled with values
Probably not even too hard.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23235 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-25 22:13:45 +00:00
Richard Heck
8e9410b3d0 After a hiatus, I'm returning to the rewrite of InsetCommandParams, the purpose of all of this being to make things more flexible, with the ultimate goal being biblatex support and a kind of InsetCommandFlex that will allow user-definable such things. The next step, really, is to fix up CiteEngine so that we can have different sets of parameters for InsetCitation depending upon what engine is in use. (Something like this also needs doing with InsetInclude.)
This patch reworks the machinery that holds information about what parameters there are and what their values are. There's enough flexibility here that true keyval support ought to be fairly easy at this point. I'll have a peek at that shortly.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23168 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-23 22:01:02 +00:00
Abdelrazak Younes
2bf1c09376 header cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23049 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-18 07:14:42 +00:00
Jürgen Spitzmüller
63c45ec226 * src/insets/InsetCitation.{cpp,h}:
* src/insets/InsetHyperlink.{cpp,h}:
* src/insets/InsetRef.{cpp,h}:
* src/insets/InsetSpace.{cpp,h}:
* src/insets/InsetSpecialChar.{cpp,h}:
	- fix textString member (bug 4472).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22480 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-10 16:09:01 +00:00
Bo Peng
b5153b3d26 Embedding: merge lyx::EmbeddedFiles to lyx::support::EmbeddedFileList
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22448 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-08 18:55:34 +00:00
Bo Peng
52cd35cd5f Embedding: add embedding support for InsetBibtex. (params["embed"] is added, use EmbeddedFileList instead of FileNameList for bibtex handling, use checkable items in GuiBibtex)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22443 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-08 17:02:09 +00:00
Richard Heck
e285d2a7d8 Support for nocite, provided by Bernhard Reiter.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22217 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-20 15:46:14 +00:00
Abdelrazak Younes
7c392af6ea getting rid of superfluous lyx::support:: statements.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22106 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 19:57:42 +00:00
Abdelrazak Younes
9abb7db468 getting rid of superfluous std:: statements.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22104 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 19:28:07 +00:00
Abdelrazak Younes
b89cc942eb 'using namespace lyx::support' instead of 'using support::xxx'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22103 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 18:57:56 +00:00
Abdelrazak Younes
9383f4c3c6 'using namespace std' instead of 'using std::xxx'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22097 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-12 10:16:00 +00:00
Abdelrazak Younes
e017570aa8 Introducing FileNameList, cleanup some headers and put back dirList() into FileName.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21965 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-05 10:32:49 +00:00
André Pönitz
9d0ea8aeff Move debug.{cpp,h}, Messages.{cpp,h} and gettext.{cpp,h} to support/.
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
2007-11-29 07:04:28 +00:00
André Pönitz
150cf11651 hand-crafted LyXErr
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21849 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-28 22:12:03 +00:00
André Pönitz
14f7e7fffe shuffle stuff around
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21511 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-08 00:09:58 +00:00
André Pönitz
cf7b238479 more use of support::FileName.
Would be nice if people tested read/write, and Bo perhaps the 'embedded'
feature?



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21492 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-07 19:52:11 +00:00
Richard Heck
07b6198f4c Move the findInfo() and defaultCommand() routines out of InsetCommand and into its subclasses, so that the subclasses know what parameters they want, etc. Also, introduce an "isCompatibleCommand()" routine, so the subclasses can tell us which commands they are prepared to accept.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21194 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-25 04:13:56 +00:00
Richard Heck
2f4d0ae27e Remove methods marked for removal from InsetCommandParams. Yeah, we can do that now. ;-)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21154 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-23 18:51:04 +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
0917ffc697 Indentation fix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20369 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-20 06:22:07 +00:00
André Pönitz
887bd847c6 remove unnneded #include
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20233 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-11 22:31:24 +00:00
André Pönitz
ed858d73e5 use bald pointers in clone()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19920 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-30 18:03:17 +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
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
Lars Gullik Bjønnes
897436efbb Whitespace cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18550 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-28 22:27:45 +00:00
Bo Peng
00e305c9d9 Rename .C ==> .cpp for files in src, part one
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18018 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-26 04:41:58 +00:00
Bo Peng
f6ab280632 merge src/frontends/controllers/biblio, character, frnt_lang, helper_funcs and tex_helpers to frontend_helpers, step 3
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17998 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-25 17:53:54 +00:00
Bo Peng
176715bd56 Fix a few rename inconsistencies discovered by JMarc in insets and mathed, step 2
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17992 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-25 16:12:54 +00:00