]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetInfo.h
Cleanup mouse/selection/context-menu interactions.
[lyx.git] / src / insets / InsetInfo.h
index c61b0e4985cb0df06503a8064f8703d861f44430..0b5dfd191e6e1285f0167d8e57fe1b4d9cb3645f 100644 (file)
@@ -14,8 +14,9 @@
 
 #include "InsetText.h"
 #include "RenderButton.h"
-#include "gettext.h"
 #include "Cursor.h"
+
+#include "support/gettext.h"
 #include "support/Translator.h"
 
 /* InsetInfo displays shortcuts, lyxrc, package and textclass 
@@ -29,8 +30,8 @@ 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 "shortcut", "lyxrc", "package", "textclass", or "menu". Arguments
-and outputs vary by type.
+have type "shortcut", "lyxrc", "package", "textclass", "menu", or "buffer".
+Arguments and outputs vary by type.
 
 shortcut: argument of this type of InsetInfo is the name of the LFUN such as
     "math-insert \alpha". The syntax is the same as what is used in the bind
@@ -52,9 +53,10 @@ menu: argument is the name of the LFUN such as "paste". The syntax is the same
     triggers this LFUN. For example, "File > Paste", where '>' is actually
     \lyxarrow (an InsetSpecialChar).
 
+buffer: argument can be one of "name", "path", "class". This inset output the 
+    filename, path, and textclass of this buffer.
 
-Because this inset is intended to be used only by document maintainers,
-there is no GUI, no menu entry for this inset. A user can define a 
+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 
@@ -79,10 +81,11 @@ public:
                PACKAGE_INFO,   // Availability of package
                TEXTCLASS_INFO, // Availability of textclass
                MENU_INFO,      // Which menu item is used for certain function
+               BUFFER_INFO,    // Buffer related information
        };
 
        ///
-       InsetInfo(BufferParams const & bp, std::string const & info = std::string());
+       InsetInfo(Buffer const & buf, std::string const & info = std::string());
        ///
        Inset * editXY(Cursor & cur, int x, int y);
        ///
@@ -90,31 +93,29 @@ public:
        ///
        void draw(PainterInfo & pi, int x, int y) const;
        ///
-       void read(Buffer const &, Lexer & lex);
+       void read(Lexer & lex);
        ///
-       void write(Buffer const & buf, std::ostream & os) const;
+       void write(std::ostream & os) const;
        ///
        void doDispatch(Cursor & cur, FuncRequest & cmd);
        ///
        InsetCode lyxCode() const { return INFO_CODE; }
        ///
        void setInfo(std::string const & info);
+       /// update info_ and text
+       void updateInfo();
        ///
        bool setMouseHover(bool mouse_hover);
 
 private:
        /// The translator between the information type enum and corresponding string.
        Translator<info_type, std::string> const & nameTranslator() const;
-       /// update info_ and text
-       void updateInfo();
        ///
        virtual Inset * clone() const { return new InsetInfo(*this); }
        ///
        info_type type_;
        ///
        std::string name_;
-       /// store the buffer parameter
-       BufferParams const & bp_;
        ///
        bool mouse_hover_;
 };