]> git.lyx.org Git - lyx.git/blobdiff - src/LyXView.h
prepare for 1.1.6pre2
[lyx.git] / src / LyXView.h
index e8f292cea4249656626eb099f2af04ac3497e238..8017453af51c88e2c90f1e80d9119653181f7626 100644 (file)
 #pragma interface
 #endif
 
+#include <config.h>
 #include FORMS_H_LOCATION
 
+#include "LString.h"
+#include "Timeout.h"
+#include <boost/utility.hpp>
+#include "layout.h"
+
 class LyXFunc;
 class Toolbar;
 class MiniBuffer;
 class Intl;
 class Buffer;
-class Menus;
+class Menubar;
+
 class BufferView;
+class Dialogs;
 
-///
-struct  FD_form_main {
-       ///
-       FL_FORM * form_main;
-       ///
-       FL_OBJECT * timer_autosave;
-       ///
-       FL_OBJECT * timer_update;
-       ///
-       void * vdata;
-       ///
-       long ldata;
-};
+#ifdef SIGC_CXX_NAMESPACES
+using SigC::Object;
+#endif
 
 
 /**
@@ -46,7 +44,7 @@ struct  FD_form_main {
   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 Object, public noncopyable {
 public:
        /// constructor
        LyXView(int w, int h);
@@ -58,7 +56,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 +70,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 +89,27 @@ public:
        MiniBuffer * getMiniBuffer() const;
 
        ///
-       Menus * getMenus() const;
+       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 +120,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 +132,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) */