]> git.lyx.org Git - lyx.git/blobdiff - src/LyXView.h
fix "make dist" target
[lyx.git] / src / LyXView.h
index e8f292cea4249656626eb099f2af04ac3497e238..04c292b7c55fce38443d6e6d3231b302dd585da6 100644 (file)
 #pragma interface
 #endif
 
+#include <config.h>
 #include FORMS_H_LOCATION
 
+#include "LString.h"
+#include "frontends/Timeout.h"
+#include <boost/utility.hpp>
+#include "layout.h"
+
 class LyXFunc;
 class Toolbar;
 class MiniBuffer;
 class Intl;
 class Buffer;
-class Menus;
-class BufferView;
-
-///
-struct  FD_form_main {
-       ///
-       FL_FORM * form_main;
-       ///
-       FL_OBJECT * timer_autosave;
-       ///
-       FL_OBJECT * timer_update;
-       ///
-       void * vdata;
-       ///
-       long ldata;
-};
+class Menubar;
 
+class BufferView;
+class Dialogs;
 
 /**
   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.
  */
-class LyXView {
+class LyXView : public SigC::Object, boost::noncopyable {
 public:
        /// constructor
        LyXView(int w, int h);
@@ -58,7 +51,7 @@ public:
        void setPosition(int, int);
 
        /// Show the main form.
-       void show(int, int, char const * t = "LyX");
+       void show(int, int, string const & t = string("LyX"));
 
        /// init (should probably be removed later) (Lgb)
        void init();
@@ -72,15 +65,18 @@ public:
        ///
        BufferView * view() const;
 
-       /// returns a pointer to the main form.
-       FD_form_main * getMainForm() const;
-
        /// returns a pointer to the form.
        FL_FORM * getForm() const;
 
        /// return a pointer to the toolbar
        Toolbar * getToolbar() const;
 
+       /// sets the layout in the toolbar layout combox
+       void setLayout(LyXTextClass::size_type layout);
+
+       /// update the toolbar
+       void updateToolbar();
+
        /// return a pointer to the lyxfunc
        LyXFunc * getLyXFunc() const;
 
@@ -88,17 +84,33 @@ public:
        MiniBuffer * getMiniBuffer() const;
 
        ///
-       Menus * getMenus() const;
+       void message(string const &);
+       ///
+       void messagePush(string const & str);
+       ///
+       void messagePop();
+       
+       ///
+       Menubar * getMenubar() const;
+
+       ///
+       void updateMenubar();
 
        ///
        Intl * getIntl() const;
 
+       ///
+       Dialogs * getDialogs() { return dialogs_; }
+
        ///
        void updateLayoutChoice();
 
        /// Updates the title of the window
        void updateWindowTitle();
 
+       /// Show state (toolbar and font in minibuffer)
+       void showState();
+
        /// Reset autosave timer
        void resetAutosaveTimer();
 private:
@@ -109,9 +121,11 @@ private:
        /// 
        MiniBuffer * minibuffer;
        ///
-       Menus * menus;
+       Menubar * menubar;
        ///
        Intl * intl;
+       ///
+       Dialogs * dialogs_;
 
        /** This is supposed to be a pointer or a list of pointers to the
           BufferViews currently being shown in the LyXView. So far
@@ -119,26 +133,19 @@ private:
        BufferView * bufferview;
        ///
        void invalidateLayoutChoice();
-       ///
-       void UpdateDocumentClassChoice();
 public:
-       ///
-       static int KeyPressMask_raw_callback(FL_FORM *, void * xev);
        /** This callback is run when a close event is sent from the
          window manager. */
        static int atCloseMainFormCB(FL_FORM *, void *);
        /// A callback
-       static void AutosaveTimerCB(FL_OBJECT *, long);
-       /// A callback
-       static void UpdateTimerCB(FL_OBJECT *, long);
+       void AutoSave();
 private:
+       ///
+       Timeout autosave_timeout;
        /// makes the main form.
        void create_form_form_main(int width, int height);
        /// A pointer to the form.      
-       FD_form_main * form_main_;
-       /// A pointer to the form.      
        FL_FORM * form_;
-
        /** The last textclass layout list in the layout choice selector
          This should probably be moved to the toolbar, but for now it's
        here. (Asger) */