Commit Graph

126 Commits

Author SHA1 Message Date
Abdelrazak Younes
22aa0137d3 Transfer general edit context menu from BufferView to InsetText.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23574 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-08 22:57:22 +00:00
André Pönitz
a694476ac6 try to pass a Buffer & to inset construction if some buffer(param)
access is needed


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23465 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-04 22:28:18 +00:00
Abdelrazak Younes
017ba3c4c7 Sanitize a bit the way InsetRef and InsetCommand button are drawn.
* Inset::validate(): renamed to initView()

* InsetCommand:
- get rid of unneeded refresh() and updateButtonLabel_
- setParams(): call initView()

* InsetRef:
- implement initView()
- screenLabel(): transfer code to updateLabels()
- addToToc(): prefix name with BROKEN if the reference is broken.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23417 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-03 17:58:26 +00:00
Abdelrazak Younes
8e9dc9bd2a Introduce a labels&references cache at buffer level. This cache uses the already existing updateLabels() mechanism and thus speedups labels&references toc generation. As a bonus, duplicates labels and broken references are detected and tagged with "DUPLICATE:" and "BROKEN:" in the outliner (or the navigator).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23389 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-02 15:27:35 +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
Abdelrazak Younes
aede435746 doubly stupid bug fix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23288 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-27 18:00:32 +00:00
Abdelrazak Younes
9fb8d72d62 stupid bug fix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23287 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-27 17:51:33 +00:00
Abdelrazak Younes
e14a0ad50f InsetRef::addTocToc(): add an entry for the referenced label if not already present. Next step is to rebuild the Toc in InsetLabel::addTocToc() for this case.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23286 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-27 17:02:17 +00:00
Abdelrazak Younes
9b9080c0e9 Bug fix: Adjustment for multiple reference to the same label. The solution is still not optimal as any reference to a label after the reference will not get notice. This is because addToToc() is called iteratively through the document so the toc entry for the label is still not created... any idea to fix this is welcome.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23285 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-27 16:44:57 +00:00
Abdelrazak Younes
c05db366bb He he he, something I've been dreaming of for a long time: label and reference navigator!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23284 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-27 16:23:27 +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
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
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
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
a8cd9a4b8f cosmetics. mainly replace #include "dostring.h" by #include "strfwd.h"
in header files when possible. Adjust .cpp files.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21358 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-01 22:17:22 +00:00
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
e158e07c29 InsetCommandParams() now takes an InsetCode rather than a string.
These changes are just adaptations to the new signature.


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


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20544 a592a061-630c-0410-9148-cb99ea01b6c8
2007-09-27 18:24:18 +00:00
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
Jean-Marc Lasgouttes
e499a5428e Fix bug 3301 (selecting buttons (e.g. a citation) with the mouse opens dialog)
* insets/InsetExternal.cpp (doDispatch):
	* insets/InsetGraphics.cpp (doDispatch):
	* insets/InsetInclude.cpp (doDispatch):
	* insets/InsetCommand.cpp (doDispatch):
	* insets/InsetVSpace.cpp (doDispatch): do not open dialog if a 
	selection is set.

	* insets/InsetRef.cpp (doDispatch):
	* insets/InsetCharStyle.cpp (doDispatch): act on mouse release, not
	mouse press.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18473 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-23 10:35:57 +00:00
André Pönitz
42123ab8a7 rename LCursor->Cursor
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18040 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-26 14:56:30 +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
c8d00ed127 Rename insets/insetxxx to insets/InsetXxx, part 2
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17965 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-25 01:25:51 +00:00