4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
8 * \author Asger and Juergen
11 * Full author contact details are available in file CREDITS
17 #include FORMS_H_LOCATION
19 #include <boost/scoped_ptr.hpp>
20 #include <boost/signals/connection.hpp>
24 class ControlCommandBuffer;
27 /// in xforms, the minibuffer is both a status bar and a command buffer
31 XMiniBuffer(XFormsView * o, ControlCommandBuffer & control,
32 FL_Coord x, FL_Coord y, FL_Coord h, FL_Coord w);
40 /// repaint the minibuffer
43 /// command completion, history, etc. management
44 int peek_event(FL_OBJECT *, int, int, XEvent * xev);
47 void message(string const & str);
49 /// focus the buffer for editing mode
50 void focus() { messageMode(false); }
52 /// disable event management
56 /// Are we in editing mode?
57 bool isEditingMode() const;
59 /// reset buffer to stored input text
62 /// go back to "at rest" message
66 * Append "c" to the current input contents when the completion
67 * list is displayed and has focus.
69 void append_char(char c);
71 /// completion selection callback
72 void set_complete_input(string const & str);
74 /// set the minibuffer content in editing mode
75 void set_input(string const &);
77 /// This creates the input widget for the minibuffer
78 FL_OBJECT * create_input_box(int, FL_Coord, FL_Coord, FL_Coord, FL_Coord);
80 /// go into message mode
81 void messageMode(bool on = true);
83 /// show a temporary message whilst in edit mode
84 void show_info(string const & info, string const & input, bool append = true);
87 boost::scoped_ptr<DropDown> dropdown_;
90 boost::scoped_ptr<Timeout> info_timer_;
93 boost::scoped_ptr<Timeout> idle_timer_;
96 boost::signals::connection info_con;
98 boost::signals::connection idle_con;
100 boost::signals::connection result_con;
102 boost::signals::connection keypress_con;
103 /// This is the input widget object
104 FL_OBJECT * the_buffer_;
107 FL_OBJECT * input_obj_;
109 /// the controller we use
110 ControlCommandBuffer & controller_;
115 /// stored input when showing info
116 string stored_input_;
118 /// are we showing an informational temporary message ?
122 #endif // XMINIBUFFER_H