+// -*- C++ -*-
/**
* \file DropDown.h
- * Copyright 2001 the LyX Team
- * Read the file COPYING
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
*
- * \author John Levon <moz@compsoc.man.ac.uk>
+ * \author John Levon
+ *
+ * Full author contact details are available in file CREDITS
*/
#ifndef DROPDOWN_H
#define DROPDOWN_H
-
-#include "LyXView.h"
-#include <sigc++/signal_system.h>
+
+#ifdef __GNUG__
+#pragma interface
+#endif
+
+#include "forms_fwd.h"
+#include <X11/Xlib.h>
+
+#include <boost/signals/signal1.hpp>
+
#include "LString.h"
-#include FORMS_H_LOCATION
#include <vector>
-
+
class DropDown {
public:
/// constructor
- DropDown(LyXView * lv, FL_OBJECT * ob);
+ DropDown(FL_OBJECT * ob);
/// destructor
~DropDown();
-
+
/// choose from the list of choices.
void select(std::vector<string> const & choices, int x, int y, int w);
/// user completed action
void completed();
-
+
+ /// a key was pressed. Act on it.
+ void key_pressed(char c);
+
/// signal for completion
- SigC::Signal1<void, string const &> result;
-
+ boost::signal1<void, string const &> result;
+
+ /// signal that a key was pressed
+ boost::signal1<void, char> keypress;
+
/// X event
int peek(XEvent *);
private:
- /// move up a browser line
+ /// move up a browser line
void line_up();
/// move down a browser line
void line_down();
-
- /// owning lyxview
- LyXView * lv_;
-
+
/// our form
FL_FORM * form_;