#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());
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,
- vector<string> const & completion,
- vector<string> & history);
+ std::vector<string> const & completion,
+ std::vector<string> & history);
///
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();
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();
///
///
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;
///
- vector<string> completion_;
+ std::vector<string> completion_;
///
- vector<string> * history_;
+ std::vector<string> * history_;
///
- vector<string>::iterator hist_iter;
+ std::vector<string>::iterator hist_iter;
///
State state_;
};