]> git.lyx.org Git - lyx.git/blobdiff - src/minibuffer.h
Painter and scrollbar API patches
[lyx.git] / src / minibuffer.h
index eb75794ecfc4406682ae06344d17c43758772e8c..aa3deacde01b2a5656c60795b5294b54bfcd8517 100644 (file)
@@ -2,31 +2,42 @@
 #ifndef MINIBUFFER_H
 #define MINIBUFFER_H
 
-#include <sigc++/signal_system.h>
+#include "LString.h"
+
+#include <boost/signals/signal0.hpp>
+#include <boost/signals/signal1.hpp>
+#include <boost/signals/trackable.hpp>
+
 #include <vector>
 
 #include FORMS_H_LOCATION
-#include "LString.h"
-#include "frontends/Timeout.h"
 
 #ifdef __GNUG__
 #pragma interface
 #endif
 
 class LyXView;
+class DropDown;
+class Timeout;
 
 ///
-class MiniBuffer : public SigC::Object {
+class MiniBuffer : public boost::signals::trackable {
 public:
        enum State {
                spaces,
                nospaces
        };
-       
+
        ///
        MiniBuffer(LyXView * o,
                   FL_Coord x, FL_Coord y, FL_Coord h, FL_Coord w);
 
+       /// destructor
+       ~MiniBuffer();
+
+       /// create drop down
+       void dd_init();
+
        ///
        void addSet(string const &,
                    string const & = string());
@@ -37,10 +48,10 @@ public:
        void messagePush(string const & str);
        ///
        void messagePop();
-       
+
        /** Makes the minibuffer wait for a string to be inserted.
            Waits for a string to be inserted into the minibuffer, when
-           the string has been insterted the signal stringReady is
+           the string has been inserted the signal stringReady is
            emitted.
        */
        void getString(State space,
@@ -49,13 +60,13 @@ public:
        ///
        void redraw();
        ///
-        int peek_event(FL_OBJECT *, int, int);
+       int peek_event(FL_OBJECT *, int, int);
        ///
-       SigC::Signal1<void, string const &> stringReady;
+       boost::signal1<void, string const &> stringReady;
        ///
-       //SigC::Signal0<void> escape;
+       //boost::signal0<void> escape;
        ///
-       SigC::Signal0<void> timeout;
+       boost::signal0<void> timeout;
 private:
        ///
        void activate();
@@ -67,6 +78,12 @@ private:
        void stored_slot();
        ///
        void stored_set(string const &);
+       /// set the minibuffer content if str non-empty
+       void set_complete_input(string const &);
+       /// append c to the current contents
+       void append_char(char c);
+       /// set the minibuffer content
+       void set_input(string const &);
        ///
        void init();
        ///
@@ -82,9 +99,11 @@ private:
        ///
        FL_OBJECT * add(int, FL_Coord, FL_Coord, FL_Coord, FL_Coord);
        ///
-       Timeout timer;
+       Timeout timer;
        ///
-       Timeout stored_timer;
+       Timeout * stored_timer;
+       /// the dropdown menu
+       DropDown * dropdown_;
        ///
        FL_OBJECT * the_buffer;
        ///