]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/xforms/XFormsView.h
Change the semantics of 'none' and 'auto' viewers/editors: 'none' means now
[lyx.git] / src / frontends / xforms / XFormsView.h
index ba67f8e38b06329d3d165ebdc9034c695cc493d3..45e58ff870d738c9bfbc83f22508aeaa5068b01d 100644 (file)
 #include "frontends/LyXView.h"
 #include <X11/Xlib.h> // for Pixmap
 
-#include <boost/signals/signal0.hpp>
+#include <boost/signal.hpp>
 
 #include <map>
 
+namespace lyx {
+namespace frontend {
+
 class XMiniBuffer;
 
 /**
@@ -45,7 +48,7 @@ public:
        ~XFormsView();
 
        /// Accessor to the appropriate layout Box.
-       lyx::frontend::Box & getBox(Position pos) const;
+       boost::shared_ptr<Box> getBox(Position pos) const;
 
        /**
         * show - display the top-level window
@@ -63,7 +66,7 @@ public:
        virtual void busy(bool) const;
 
        /// callback for close event from window manager
-       static int atCloseMainFormCB(FL_FORM *, void *);
+       int atCloseMainFormCB();
 
        /// display a status message
        virtual void message(std::string const & str);
@@ -71,7 +74,13 @@ public:
        /// clear back to normal status message
        virtual void clearMessage();
 
-       boost::signal0<void> metricsUpdated;
+       ///
+       void updateMetrics(bool resize_form = false);
+       ///
+       boost::signal<void()> metricsUpdated;
+
+       // returns true if this view has the focus.
+       virtual bool hasFocus() const;
 
 private:
        /**
@@ -84,13 +93,13 @@ private:
        /// update the minibuffer state message
        void show_view_state();
 
-       ///
-       void updateMetrics();
        /// The top-most box of the layout engine containing all other boxes.
-       lyx::frontend::Box window_;
+       Box window_;
+
+       typedef std::map<Position, boost::shared_ptr<Box> > BoxMap;
 
        // Accessors to the various Boxes.
-       std::map<Position, lyx::frontend::Box *> box_map_;
+       BoxMap box_map_;
 
        /// the minibuffer
        boost::scoped_ptr<XMiniBuffer> minibuffer_;
@@ -108,4 +117,8 @@ private:
        ///
        Pixmap icon_mask_;
 };
+
+} // namespace frontend
+} // namespace lyx
+
 #endif