+class Cursor;
+
+/* InsetInfo displays shortcuts, lyxrc, package and textclass
+availability and menu information in a non-editable boxed InsetText.
+
+Output of such an inset may vary from system to system, depending
+on LyX and LaTeX configurations. Two LyX help files, LaTeXConfig.lyx
+and Shortcuts.lyx make heavy use of this inset. The former uses it
+to display the availability of packages and textclasses, the latter
+uses it to display currently used shortcuts.
+
+This inset has two arguments: the type and argument of the information. The
+screen and latex output is the content of the information. An InsetInfo can
+have type "shortcuts", "shortcut", "lyxrc", "package", "textclass", "menu",
+"buffer" or "vcs". Arguments and outputs vary by type.
+
+date: argument of this type of InsetInfo is either a fixed date type of
+ "long" (long localized date, with weekday, as provided by QLocale),
+ "short" (short localized date, with two-digit year, as provided by QLocale),
+ "loclong" (long localized date, without weekday, defined in languages),
+ "locmedium" (medium localized date, defined in languages),
+ "locshort" (short localized date, with four-digit year, defined in languages),
+ "ISO" (ISO-conforming date)
+ or a custom date using the QDate syntax.
+ The output is a localized formatted (current) date.
+
+moddate: Same as date.
+ The output is a localized formatted date of last file modification (saving).
+
+fixdate: Same as date. A fixed date (in ISO format) is prepended to the argument,
+ delimited by '@'.
+ The output is a localized formatted fix date.
+
+time: argument of this type of InsetInfo is either a fixed time type of
+ "long" (long localized time, as provided by QLocale),
+ "short" (short localized time, as provided by QLocale),
+ "ISO" (ISO-conforming time)
+ or a custom date using the QTime syntax.
+ The output is a localized formatted (current) time.
+
+modtime: Same as time.
+ The output is a localized formatted time of last file modification (saving).
+
+fixtime: Same as time. A fixed time (in ISO format) is prepended to the argument,
+ delimited by '@'.
+ The output is a localized formatted fix time.
+
+shortcuts: argument is the name of the LFUN such as "math-insert \alpha".
+ The syntax is the same as what is used in the bind and ui files.
+ The output of this inset is all shortcuts for this LFUN separated by comma.
+
+shortcut: the same as shortcuts, but only output the last shortcut.
+
+lyxrc: argument is the name of the rc entry such as "bind_file". Look in
+ src/LyXRC.h for available entries. The output is the content of this RC
+ entry.
+
+package: argument is the name of a latex package such as "listings". The
+ output is "yes" or "no", indicating the availability of this package.
+
+textclass: argument is the name a textclass such as "article". The output is
+ "yes" or "no", indicating the availability of this textclass.
+
+menu: argument is the name of the LFUN such as "paste". The syntax is the same
+ as what is used in the bind and ui files. The output is the menu item that
+ triggers this LFUN. For example, "File > Paste", where '>' is actually
+ \lyxarrow (an InsetSpecialChar).
+
+l7n: argument is an English string that is marked for localization. The output
+ is the localization of that string in the current GUI language (if available).
+ Trailing colons are stripped, accelerators removed.
+ This is used to refer to GUI items in the docs.
+
+icon: argument is the name of the LFUN such as "paste". The syntax is the same
+ as what is used in the bind and ui files. The output is the icon use in
+ the toolbar for this LFUN. Alternatively, argument can be the icon path
+ without extension specified with respect to the images directory.
+
+buffer: argument can be one of "name", "name-noext", "path", "class". This inset output the
+ filename (with extension), filename (without extension), path, and textclass of this buffer.
+
+lyxinfo: argument must be "version" or "layoutformat". This outputs information
+ about the version of LyX currently in use or the current LyX layout format, respectively.
+
+vcs: argument can be one of "revision", "tree-revision", "author", "time", "date".
+ This insets outputs revision control information, if available.
+
+There is currently no GUI, no menu entry for this inset. A user can define a
+shortcut for "info-insert" (e.g. C-S-I), and
+
+1. input the type and argument of this inset, e.g. "menu paste", in
+ the work area.
+2. select the text and run "info-insert" (e.g. press C-S-I).
+
+An alternative method is to enter command "info-insert type arg" in
+the command buffer (view->Toolbar->Command Buffer).
+
+*/
+
+class InsetInfoParams {