// -*- C++ -*-
-/* This file is part of
- * ======================================================
- *
- * LyX, The Document Processor
+/**
+ * \file XFormsView.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
*
- * Copyright 1995 Matthias Ettrich
- * Copyright 1995-2001 The LyX Team.
+ * \author unknown
*
- * ====================================================== */
+ * Full author contact details are available in file CREDITS.
+ */
#ifndef LyXView_H
#define LyXView_H
-#ifdef __GNUG__
-#pragma interface
-#endif
-#include FORMS_H_LOCATION
+#include "forms_fwd.h"
#include "frontends/LyXView.h"
+#include <X11/Xlib.h> // for Pixmap
+
+class XMiniBuffer;
/**
- This class is the form containing the view of the buffer. The actual buffer
- view is supposed (at least IMHO) to be another class, that shows its output
- in one or more LyXView's.
+ * XFormsView - xforms implementation of LyXView
+ *
+ * xforms-private implementation of the main LyX window.
*/
class XFormsView : public LyXView {
public:
- /// constructor
+ /// create a main window of the given dimensions
XFormsView(int w, int h);
- /// destructor
+
~XFormsView();
- /// Where to place the form.
- virtual void setPosition(int, int);
- /// Show the main form.
- virtual void show(int, int, string const & t = string("LyX"));
- /// init (should probably be removed later) (Lgb)
- virtual void init();
- /// Redraw the main form.
- virtual void redraw();
- /// returns a pointer to the form.
+
+ /**
+ * show - display the top-level window
+ * @param xpos requested x position (or 0)
+ * @param xpos requested y position (or 0)
+ * @param title window title
+ */
+ void show(int xpos, int ypos, std::string const & t = std::string("LyX"));
+
+ /// get the xforms main form
FL_FORM * getForm() const;
- ///
- virtual void prohibitInput() const;
- ///
- virtual void allowInput() const;
- /** This callback is run when a close event is sent from the
- window manager. */
+ /// redraw the main form.
+ virtual void redraw();
+ /// show busy cursor
+ virtual void busy(bool) const;
+
+ /// callback for close event from window manager
static int atCloseMainFormCB(FL_FORM *, void *);
+
+ /// display a status message
+ virtual void message(std::string const & str);
+
+ /// clear back to normal status message
+ virtual void clearMessage();
+
private:
- /// pass the title, and the iconified title
- virtual void setWindowTitle(string const &, string const &);
+ /**
+ * setWindowTitle - set title of window
+ * @param t main window title
+ * @param it iconified (short) title
+ */
+ virtual void setWindowTitle(std::string const & t, std::string const & it);
+
+ /// update the minibuffer state message
+ void show_view_state();
+
/// makes the main form.
void create_form_form_main(int width, int height);
- /// A pointer to the form.
+ /// the minibuffer
+ boost::scoped_ptr<XMiniBuffer> minibuffer_;
+ ///
+ boost::signals::connection view_state_con;
+ ///
+ boost::signals::connection focus_con;
+ ///
+ boost::signals::connection redraw_con;
+
+ /// the main form.
FL_FORM * form_;
+ /// Passed to the window manager to give a pretty little symbol ;-)
+ Pixmap icon_pixmap_;
+ ///
+ Pixmap icon_mask_;
};
#endif