lyx_mirror/src/insets
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
..
ExternalSupport.cpp Embedding: add embedding support for InsetExternal. (params["embed"] is added) 2008-01-08 16:42:28 +00:00
ExternalSupport.h
ExternalTemplate.cpp header cleanup 2008-02-18 07:14:42 +00:00
ExternalTemplate.h
ExternalTransforms.cpp header cleanup 2008-02-18 07:14:42 +00:00
ExternalTransforms.h
Inset.cpp Andre's s/getTextClass/textClass/ cleanup. 2008-02-24 15:06:35 +00:00
Inset.h Change CompletionList::data() signature and cosmetics. 2008-02-25 13:11:09 +00:00
InsetBibitem.cpp 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. 2008-02-25 22:13:45 +00:00
InsetBibitem.h 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.) 2008-02-23 22:01:02 +00:00
InsetBibtex.cpp 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. 2008-02-25 22:13:45 +00:00
InsetBibtex.h 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.) 2008-02-23 22:01:02 +00:00
InsetBox.cpp Andre's s/getTextClass/textClass/ cleanup. 2008-02-24 15:06:35 +00:00
InsetBox.h Fix bug 4037 and related problems. The patch has been cleaned up a bit 2008-02-12 17:31:07 +00:00
InsetBranch.cpp Andre's s/getTextClass/textClass/ cleanup. 2008-02-24 15:06:35 +00:00
InsetBranch.h Tooltips for collapsables and branches 2008-02-12 09:11:06 +00:00
InsetCaption.cpp Andre's s/getTextClass/textClass/ cleanup. 2008-02-24 15:06:35 +00:00
InsetCaption.h * Inset: Prepare for an eventual merge of updateLabels() and addToToc() 2008-02-15 10:13:32 +00:00
InsetCitation.cpp 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. 2008-02-25 22:13:45 +00:00
InsetCitation.h 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.) 2008-02-23 22:01:02 +00:00
InsetCode.h
InsetCollapsable.cpp Replace boost::shared_ptr<TextClass> with a global cache of sorts of the TextClass's used by Buffers---or, more strictly, constructed by BufferParams::makeTextClass(). The action is in TextClass.{h,cpp}. 2008-02-25 19:31:31 +00:00
InsetCollapsable.h Replace boost::shared_ptr<TextClass> with a global cache of sorts of the TextClass's used by Buffers---or, more strictly, constructed by BufferParams::makeTextClass(). The action is in TextClass.{h,cpp}. 2008-02-25 19:31:31 +00:00
InsetCommand.cpp modify Inset::EntryDirectionType to follow style used in FontEnums.h for enums. 2008-02-11 08:20:13 +00:00
InsetCommand.h 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.) 2008-02-23 22:01:02 +00:00
InsetCommandParams.cpp 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. 2008-02-25 22:13:45 +00:00
InsetCommandParams.h 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. 2008-02-25 22:13:45 +00:00
InsetEnvironment.cpp Andre's s/getTextClass/textClass/ cleanup. 2008-02-24 15:06:35 +00:00
InsetEnvironment.h
InsetERT.cpp Andre's s/getTextClass/textClass/ cleanup. 2008-02-24 15:06:35 +00:00
InsetERT.h Fix bug 4037 and related problems. The patch has been cleaned up a bit 2008-02-12 17:31:07 +00:00
InsetExternal.cpp Sort table. 2008-02-22 16:12:36 +00:00
InsetExternal.h modify Inset::EntryDirectionType to follow style used in FontEnums.h for enums. 2008-02-11 08:20:13 +00:00
InsetFlex.cpp Revert 23154. 2008-02-24 14:59:23 +00:00
InsetFlex.h Replace boost::shared_ptr<TextClass> with a global cache of sorts of the TextClass's used by Buffers---or, more strictly, constructed by BufferParams::makeTextClass(). The action is in TextClass.{h,cpp}. 2008-02-25 19:31:31 +00:00
InsetFloat.cpp Andre's s/getTextClass/textClass/ cleanup. 2008-02-24 15:06:35 +00:00
InsetFloat.h * some warnings less 2007-12-24 14:13:10 +00:00
InsetFloatList.cpp 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. 2008-02-25 22:13:45 +00:00
InsetFloatList.h 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.) 2008-02-23 22:01:02 +00:00
InsetFoot.cpp Andre's s/getTextClass/textClass/ cleanup. 2008-02-24 15:06:35 +00:00
InsetFoot.h * Inset: Prepare for an eventual merge of updateLabels() and addToToc() 2008-02-15 10:13:32 +00:00
InsetFootlike.cpp getting rid of superfluous std:: statements. 2007-12-12 19:28:07 +00:00
InsetFootlike.h * some warnings less 2007-12-24 14:13:10 +00:00
InsetGraphics.cpp header cleanup 2008-02-18 07:14:42 +00:00
InsetGraphics.h modify Inset::EntryDirectionType to follow style used in FontEnums.h for enums. 2008-02-11 08:20:13 +00:00
InsetGraphicsParams.cpp header cleanup 2008-02-18 07:14:42 +00:00
InsetGraphicsParams.h Minor format fix 2008-01-06 16:24:19 +00:00
InsetHFill.cpp 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.) 2008-02-23 22:01:02 +00:00
InsetHFill.h 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.) 2008-02-23 22:01:02 +00:00
InsetHyperlink.cpp 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. 2008-02-25 22:13:45 +00:00
InsetHyperlink.h 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.) 2008-02-23 22:01:02 +00:00
InsetInclude.cpp 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. 2008-02-25 22:13:45 +00:00
InsetInclude.h 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.) 2008-02-23 22:01:02 +00:00
InsetIndex.cpp 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. 2008-02-25 22:13:45 +00:00
InsetIndex.h 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.) 2008-02-23 22:01:02 +00:00
InsetInfo.cpp Try to make the distinction between base classes and text classes clearer in the code. 2008-02-24 16:59:49 +00:00
InsetInfo.h Add buffer name/path/class to InsetInfo 2007-12-19 18:09:00 +00:00
InsetLabel.cpp 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. 2008-02-25 22:13:45 +00:00
InsetLabel.h 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.) 2008-02-23 22:01:02 +00:00
InsetLayout.cpp Move the enum into InsetLayout. 2008-02-22 16:24:55 +00:00
InsetLayout.h Move the enum into InsetLayout. 2008-02-22 16:24:55 +00:00
InsetLine.cpp header cleanup 2008-02-18 07:14:42 +00:00
InsetLine.h
InsetListings.cpp Andre's s/getTextClass/textClass/ cleanup. 2008-02-24 15:06:35 +00:00
InsetListings.h * some warnings less 2007-12-24 14:13:10 +00:00
InsetListingsParams.cpp getting rid of superfluous std:: statements. 2007-12-12 19:28:07 +00:00
InsetListingsParams.h
InsetMarginal.cpp * Inset: Prepare for an eventual merge of updateLabels() and addToToc() 2008-02-15 10:13:32 +00:00
InsetMarginal.h * Inset: Prepare for an eventual merge of updateLabels() and addToToc() 2008-02-15 10:13:32 +00:00
InsetNewline.cpp header cleanup 2008-02-18 07:14:42 +00:00
InsetNewline.h Cosmetics. 2008-02-23 03:48:57 +00:00
InsetNewpage.cpp header cleanup 2008-02-18 07:14:42 +00:00
InsetNewpage.h
InsetNomencl.cpp 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. 2008-02-25 22:13:45 +00:00
InsetNomencl.h 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.) 2008-02-23 22:01:02 +00:00
InsetNote.cpp Andre's s/getTextClass/textClass/ cleanup. 2008-02-24 15:06:35 +00:00
InsetNote.h * Inset: Prepare for an eventual merge of updateLabels() and addToToc() 2008-02-15 10:13:32 +00:00
InsetOptArg.cpp header cleanup 2008-02-18 07:14:42 +00:00
InsetOptArg.h
InsetQuotes.cpp header cleanup 2008-02-18 07:14:42 +00:00
InsetQuotes.h
InsetRef.cpp 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. 2008-02-25 22:13:45 +00:00
InsetRef.h 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.) 2008-02-23 22:01:02 +00:00
InsetSpace.cpp header cleanup 2008-02-18 07:14:42 +00:00
InsetSpace.h * src/insets/InsetCitation.{cpp,h}: 2008-01-10 16:09:01 +00:00
InsetSpecialChar.cpp header cleanup 2008-02-18 07:14:42 +00:00
InsetSpecialChar.h * src/insets/InsetCitation.{cpp,h}: 2008-01-10 16:09:01 +00:00
InsetTabular.cpp Andre's s/getTextClass/textClass/ cleanup. 2008-02-24 15:06:35 +00:00
InsetTabular.h (temporarily) add a Buffer * Inset::buffer_ membert 2008-02-23 22:32:33 +00:00
InsetText.cpp Revert "* compile fix" 2008-02-25 22:02:48 +00:00
InsetText.h * set is not needed anymore here 2008-02-25 01:57:38 +00:00
InsetTheorem.cpp 'using namespace std' instead of 'using std::xxx' 2007-12-12 10:16:00 +00:00
InsetTheorem.h * some warnings less 2007-12-24 14:13:10 +00:00
InsetTOC.cpp 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. 2008-02-25 22:13:45 +00:00
InsetTOC.h 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.) 2008-02-23 22:01:02 +00:00
InsetVSpace.cpp 'using namespace std' instead of 'using std::xxx' 2007-12-12 10:16:00 +00:00
InsetVSpace.h
InsetWrap.cpp Andre's s/getTextClass/textClass/ cleanup. 2008-02-24 15:06:35 +00:00
InsetWrap.h * some warnings less 2007-12-24 14:13:10 +00:00
MailInset.cpp header cleanup 2008-02-18 07:14:42 +00:00
MailInset.h
RenderBase.h
RenderButton.cpp
RenderButton.h
RenderGraphic.cpp Embedding: display a pin at the top left corner of embedded figures 2008-01-08 16:22:05 +00:00
RenderGraphic.h Embedding: display a pin at the top left corner of embedded figures 2008-01-08 16:22:05 +00:00
RenderPreview.cpp 'using namespace lyx::support' instead of 'using support::xxx' 2007-12-12 18:57:56 +00:00
RenderPreview.h