]> git.lyx.org Git - lyx.git/blobdiff - src/lyxfunc.h
More fixes to insettabular/text (and some missing features added).
[lyx.git] / src / lyxfunc.h
index 8f6738de34dfc014fd5d65c965431c0af4b90a9f..ae7a8683ec6ddff0100289de6ab14654675c043f 100644 (file)
@@ -6,12 +6,14 @@
 #pragma interface
 #endif
 
+#include FORMS_H_LOCATION
 #include "commandtags.h"
-#include "kbmap.h"
+#include "kbsequence.h"
 #include "insets/lyxinset.h"
 #include "LString.h"
 
 class LyXView;
+class auto_mem_buffer;
 
 /** This class encapsulates all the LyX command operations. 
     This is the class of the LyX's "high level event handler".
@@ -23,23 +25,32 @@ class LyXFunc {
 public:
        /// The status of a function.
        enum func_status {
-               OK = 0, // No problem
+               /// No problem
+               OK = 0,
+               ///
                Unknown = 1,
-               Disabled = 2, // Command cannot be executed
+               /// Command cannot be executed
+               Disabled = 2,
+               ///
                ToggleOn = 4,
+               ///
                ToggleOff = 8
        };
        ///
+       explicit
        LyXFunc(LyXView *);
     
-       /// LyX distpatcher, executes lyx actions.
-       string Dispatch(int action, char const * arg = 0);
+       /// LyX dispatcher, executes lyx actions.
+       string const Dispatch(int action, string const & arg = string());
                         
        /// The same but uses the name of a lyx command.
-       string Dispatch(string const & cmd);
+       string const Dispatch(string const & cmd);
 
-       /// A keyboard event is processed to execute a lyx action. 
-       int  processKeyEvent(XEvent * ev);
+       /// Same again but for xtl buffers.  Still looking for better idea.
+       bool Dispatch(int action, auto_mem_buffer &);
+
+       ///
+       int processKeySym(KeySym k, unsigned int state);
 
        ///
        func_status getStatus(int ac) const;
@@ -47,15 +58,16 @@ public:
        /// The last key was meta
        bool wasMetaKey() const;
 
-       // These can't be global because are part of the internat state (ale970227)
+       // These can't be global because are part of the
+       // internal state (ale970227)
        /// Get the current keyseq string
-       string keyseqStr(int l = 190) const;
+       string const keyseqStr() const;
 
        /// Is the key sequence uncomplete?
        bool keyseqUncomplete() const;
 
        /// get options for the current keyseq
-       string keyseqOptions(int l = 190) const;
+       string const keyseqOptions() const;
 
         /// True if lyxfunc reports an error
         bool errorStat() const { return errorstat; }
@@ -64,13 +76,12 @@ public:
         /// Buffer to store result messages
         void setErrorMessage(string const &) const; 
         /// Buffer to store result messages
-        string getMessage() const { return dispatch_buffer; }
+        string const getMessage() const { return dispatch_buffer; }
         /// Get next inset of this class from current cursor position  
         Inset * getInsetByCode(Inset::Code);
        
        /// Should a hint message be displayed?
        void setHintMessage(bool);
-
 private:
        ///
        LyXView * owner;
@@ -94,8 +105,8 @@ private:
         mutable bool errorstat;
 
         /** Buffer to store messages and result data. Is there a
-         good reason to have this one as static in Dispatch? (Ale)
-         */
+           good reason to have this one as static in Dispatch? (Ale)
+       */
         mutable string dispatch_buffer;
        /// Command name and shortcut information
        string commandshortcut;
@@ -109,11 +120,7 @@ private:
        void MenuOpen();
 
        ///
-       void doImportLaTeX(bool);
-
-       ///
-       void doImportASCII(bool);
-
+       void doImport(string const &);
        ///
        void MenuInsertLyXFile(string const &);
 
@@ -136,22 +143,22 @@ bool LyXFunc::wasMetaKey() const
      
 
 inline
-string LyXFunc::keyseqStr(int l) const
+string const LyXFunc::keyseqStr() const
 {
-       char text[200];
-       keyseq.print(text, l, true);
-       string tmp(text);
-       return tmp;
+       // Why not just remove this function
+       string text;
+       keyseq.print(text, true);
+       return text;
 } 
 
 
 inline
-string LyXFunc::keyseqOptions(int l) const
+string const LyXFunc::keyseqOptions() const
 {
-       char text[200];
-       keyseq.printOptions(text, l);
-       string tmp(text);
-       return tmp;
+       // Why not just remove this function
+       string text;
+       keyseq.printOptions(text);
+       return text;
 } 
 
 
@@ -161,12 +168,14 @@ bool LyXFunc::keyseqUncomplete() const
        return (keyseq.length > 0);
 }
 
+
 inline
 void LyXFunc::setHintMessage(bool hm) 
 { 
        show_sc = hm;
 }
 
+///
 inline
 void operator|=(LyXFunc::func_status & fs, LyXFunc::func_status f)
 {