Commit Graph

57 Commits

Author SHA1 Message Date
Vincent van Ravesteijn
f19b6178a9 Fix bug #4360: Instant preview does not render formulas which contain math-macro from input file.
Patch from Stefan.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32157 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-22 20:50:35 +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
16f119cab5 XHTML output for InsetInclude.
Here's the deal:
* With verbatim, we include it verbatim. This would allow the inclusion of 
  other HTML files.
* With listings, we include it verbatim, wrapped in <pre>.
* With Input and Include, we check if it's a LyX file. If not, we don't do
  anything, since we don't know how to include (say) a TeX file in the HTML
  output. (Wanna call tex4ht, anyone?) If it is a LyX file, we let it write
  itself as HTML, and include it.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30191 a592a061-630c-0410-9148-cb99ea01b6c8
2009-06-19 15:11:33 +00:00
Vincent van Ravesteijn
4c9fe33c83 * Move handling of LFUN_INSET_SETTINGS to Inset,
* Remove the EDITABLE enum,
* add functions hasSettings() for all insets.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29375 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-22 20:55:13 +00:00
Vincent van Ravesteijn
74741ca5b9 Some cleanup in InsetInclude:
* use the UpdateScope, introduced recently, to prevent the 'strange' calls to setParent which also causes the update mechanism to run,
* remove the buffer parameter of loadIfNeeded and all function,
* remove doubled code from getChildBuffer.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28919 a592a061-630c-0410-9148-cb99ea01b6c8
2009-03-26 00:48:32 +00:00
Richard Heck
a0e266734d Cache the location of an InsetInclude's associated Buffer.
Abdel says this will be OK. ;-)



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28895 a592a061-630c-0410-9148-cb99ea01b6c8
2009-03-25 12:23:07 +00:00
Richard Heck
072ed23ffc Patch from Bo. Fixes problem with labels in child docs of the listings type:
Duplicate labels were not being updated.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28556 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-19 04:50:25 +00:00
Richard Heck
39bc3f3f93 Fix most of bug 5539.
If a file fails to load, we do not try to load it again. The downside is that, even if you fixed the problem, then LyX won't try to load it again in that session. I tried resetting the failedtoload_ variable in fileChanged(), but that didn't work, as it doesn't seem to get hit. I'm not sure what to do here, but it isn't a huge issue.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27688 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-24 12:45:18 +00:00
Richard Heck
aeb997e3f0 Make getChildBuffer() and loadIfNeeded() methods rather than standalone
functions. Preparatory to another patch.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27687 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-24 12:40:53 +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
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
1458cd52b7 * implement "inset-edit" in InsetInclude.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24528 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-27 18:03:21 +00:00
Jürgen Spitzmüller
878b3ce315 Implement basic context menu for include insets.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24525 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-27 15:49:15 +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
Bo Peng
f8c19c365d Embedding: clean up InsetInclude (hopefully)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24321 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-18 03:11:06 +00:00
André Pönitz
f9b81e51e9 remove remaining MailInsets.
please check your favourite insets, I am sure I broke _something_...



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24006 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-27 22:26:24 +00:00
Abdelrazak Younes
f53467871f add "Embedded Files" to Navigator.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23658 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-11 09:04:09 +00:00
Abdelrazak Younes
5da55588f2 * Buffer::getLabelList(): Speed up and simplify by using the tocBackend.
* Inset and derived class: get rid of getLabelList()
* BufferView::gotoLabel(): Speed up and simplify by using the tocBackend.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23541 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-07 19:46:04 +00:00
Abdelrazak Younes
8998dac1a7 InsetInclude: use InsetLabel instead of handling "label" parameter manually.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23536 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-07 13:33:33 +00:00
Abdelrazak Younes
258cca4b3b Delete child buffer at InsetInclude destruction.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23521 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-06 20:58:59 +00:00
André Pönitz
75999ba650 make code look a bit more uniform
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23468 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-05 00:21:05 +00:00
André Pönitz
9b39c142b6 remove Buffer & argument in functions realted to embedded files
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23292 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-27 21:51:29 +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
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
c3a8b3a566 * Inset: Prepare for an eventual merge of updateLabels() and addToToc()
* TocBackend: add non const toc() and tocs() access methods.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23018 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-15 10:13:32 +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
Bo Peng
c81fd7337d Embedding: add embedding support for InsetInclude. (params["embed"] is added)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22441 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-08 16:35:43 +00:00
Stefan Schimanski
36dbec4506 * Lazy MathData to avoid unneeded interpretation of macro definitions
* DocIterator as MacroPosition
* Iterative search for macro in scope until a visible one is found.
This include the ability to resolve macro inside nested text insets.
* Speed up macro lookups by factor 2: only getMacro(name) call, no
further hasMacro(name) call before
* Both way child/master support
* Correct macro scope for multi-paragraph environments
* Correct macro scope for multi-depth-paragraphs
* Buffer::updateMacros made const
* Update macros when loaded (of master and child)
* Do not remove too many braces when unfolding a macro. This could
lead to a data loss because the relationship between arguments of
macros can be mixed up if nested macros are unfold at once.
* Reduce dependencies to MetricsInfo in MathMacro   
* Update macros when needed. Normally it's done just before doing
metrics. But in cases without a brace around some constructs (like
\left(bla\right)) there is some help needed.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22241 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-21 20:42:46 +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
Abdelrazak Younes
f8b7c56580 * Buffer:
- tocBackend(), errorList(), texrow(), etc: now const.
- masterBuffer(): get rid of non const access.
- setParent(): set parent Buffer, replace setParentName()
- parent(), resetChildDocuments(): new.

* InsetInclude.{h,cpp}: new resetParentBuffer() method.





git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21879 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-30 17:41:27 +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
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
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
237c132c1e * Inset:
- get rid of the cached Dimension. Text inset dimensions are saved in ParagraphMetrics and mathed maintain their own dimension where needed.
- width(), ascent(), descent(): deleted.
- dimension(): now needs a valid BufferView.
- metrics(): now void.

* BufferView::getCoveringInset(): simplify.

* ParagraphMetrics(): now cache inset dimensions.




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20420 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-21 20:39:47 +00:00
Bo Peng
2a1a156f47 Embedding: store inset pointer instead of ParConstIterator to enable more accurate navigation in the Embedding dialog
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20164 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-09 07:07:13 +00:00
Bo Peng
692363bbca Embedding patch two: read/write embedded files'
*  src/insets/InsetGraphics.h
	*  src/insets/InsetExternal.cpp
	*  src/insets/InsetGraphics.cpp
	*  src/insets/InsetInclude.cpp
	*  src/insets/Inset.h
	*  src/insets/InsetInclude.h
	*  src/insets/InsetExternal.h: register embedded files
	*  src/EmbeddedFiles.h|cpp: core of embedded files
	*  src/Buffer.h|cpp: read/write embed file
	*  src/BufferParams.h|cpp: embedded flag
	*  src/Makefile.am
	*  po/POTFILES.in
	*  development/scons/scons_manifest.py: build system updates


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19924 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-30 20:46:42 +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
Abdelrazak Younes
5958daf51b Fix child document labeling (const missing from overloaded updateLabels()).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19589 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-15 12:15:16 +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
Abdelrazak Younes
4e7e580f54 I forget this in rev 19515.
* InsetInclude: loadIfNeeded()
- make it non anonymous (used in loadChildDocuments()).
- now return the loaded buffer.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19520 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-13 19:40:54 +00:00
Jean-Marc Lasgouttes
601a8e0192 Rewrite the label numbering code.
* buffer_funcs.cpp (updateLabels): new function taking a buffer and
	a ParIterator as arguments. This one is used to update labels
	into an InsetText. Cleanup the code to reset depth. Call setLabel
	for each paragraph, and then updateLabel on each inset it contains.
	(setCaptionLabels, setCaptions): removed.
	(setLabel): use Counters::current_float to make caption paragraphs
	labels.

	* insets/Inset.h (updateLabels): new virtual method, empty by
	default; this numbers the inset itself (if relevant) and then all
	the paragraphs it may contain.

	* insets/InsetText.cpp (updateLabels): basically calls
	lyx::updateLabels from buffer_func.cpp.

	* insets/InsetCaption.cpp (addToToc): use the label constructed by
	updateLabels.
	(computeFullLabel): removed.
	(metrics, plaintext): don't use computeFullLabel.
	(updateLabels): new method; set the label from
	Counters::current_float.

	* insets/InsetWrap.cpp (updateLabels):
	* insets/InsetFloat.cpp (updateLabel): new method; sets
	Counters::current_float to the float type.

	* insets/InsetBranch.cpp (updateLabels): new method; the numbering
	is reset afterwards if the branch is inactive. (bug 2671)

	* insets/InsetNote.cpp (updateLabels): new method; the numbering
	is reset after the underlying InsetText has been numbered.
	(bug 2671)

	* insets/InsetTabular.cpp (updateLabels): new method (also handles
	longtable)

	* insets/InsetListings.cpp (updateLabels): new method; mimics what
	is done for Floats (although Listings are not floats technically)

	* insets/InsetInclude.cpp (getScreenLabel): in the listings case,
	use the computed label.
	(updateLabels): new method; that either renumbers the child
	document or number the current listing.

	* LyXFunc.cpp (menuNew): do not updateLabels on empty documents
	(why do we do that at all?)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19482 a592a061-630c-0410-9148-cb99ea01b6c8
2007-08-12 21:43:58 +00:00
Alfredo Braunstein
0ebfa36965 const correctness (missed this)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18853 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-22 13:38:07 +00:00
Bo Peng
d3e30f8d9b addToToc, pass parent ParConstIterator, fix bug 3711
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18680 a592a061-630c-0410-9148-cb99ea01b6c8
2007-06-05 17:24:11 +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
1561aef0b5 Increase listings counter for InsetInclude with lstinputlisting and a caption, fix bug 3708
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18486 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-24 14:10:35 +00:00