]> git.lyx.org Git - lyx.git/blobdiff - src/LyXView.h
NEW_INSETS changes, + some small things in insettabular.C
[lyx.git] / src / LyXView.h
index 94f46f676d372af5da7e0d98f07d54d398177fe4..23e2a30e666a01f1a097eef0627d489cb85f0100 100644 (file)
@@ -1,45 +1,37 @@
 // -*- C++ -*-
 /* This file is part of
-* ======================================================
-* 
-*           LyX, The Document Processor
-*        
-*           Copyright (C) 1995 Matthias Ettrich
-*           Copyright (C) 1995-1998 The LyX Team.
-*
-*======================================================*/
-
-#ifndef _LyXView_H_
-#define _LyXView_H_
+ * ====================================================== 
+ 
+ *           LyX, The Document Processor
+ *        
+ *           Copyright 1995 Matthias Ettrich
+ *           Copyright 1995-2000 The LyX Team.
+ *
+ * ====================================================== */
+
+#ifndef LyXView_H
+#define LyXView_H
 
 #ifdef __GNUG__
 #pragma interface
 #endif
 
 #include FORMS_H_LOCATION
-#include "lyx.h"
-#include "buffer.h"
-#include "menus.h"
-#include "BufferView.h"
+
+#include "Timeout.h"
+
 class LyXFunc;
 class Toolbar;
 class MiniBuffer;
 class Intl;
+class Buffer;
+class Menus;
+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
 
 
 /**
@@ -47,7 +39,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:
        /// constructor
        LyXView(int w, int h);
@@ -59,7 +51,7 @@ public:
        void setPosition(int, int);
 
        /// Show the main form.
-       void show(int, int, char const* t= "LyX");
+       void show(int, int, char const * t = "LyX");
 
        /// init (should probably be removed later) (Lgb)
        void init();
@@ -68,28 +60,31 @@ public:
        void redraw();
 
        /// returns the buffer currently shown in the main form.
-       Buffer *currentBuffer(){ return bufferview->currentBuffer();}
+       Buffer * buffer() const;
 
        ///
-       BufferView *currentView() { return bufferview; }
+       BufferView * view() const;
 
        /// returns a pointer to the form.
-       FL_FORM *getForm() { return _form; }
+       FL_FORM * getForm() const;
 
        /// return a pointer to the toolbar
-       Toolbar *getToolbar() { return toolbar; }
+       Toolbar * getToolbar() const;
 
        /// return a pointer to the lyxfunc
-       LyXFunc *getLyXFunc() { return lyxfunc; }
+       LyXFunc * getLyXFunc() const;
 
        /// return a pointer to the minibuffer
-       MiniBuffer *getMiniBuffer() { return minibuffer; }
+       MiniBuffer * getMiniBuffer() const;
 
        ///
-       Menus *getMenus() { return menus; }
+       Menus * getMenus() const;
 
        ///
-       Intl *getIntl() { return intl; }
+       Intl * getIntl() const;
+
+       ///
+       Dialogs * getDialogs() { return dialogs_; }
 
        ///
        void updateLayoutChoice();
@@ -101,47 +96,44 @@ public:
        void resetAutosaveTimer();
 private:
        /// 
-       LyXFunc *lyxfunc;
+       LyXFunc * lyxfunc;
        /// 
-       Toolbar *toolbar;
+       Toolbar * toolbar;
        /// 
-       MiniBuffer *minibuffer;
+       MiniBuffer * minibuffer;
+       ///
+       Menus * menus;
        ///
-       Menus *menus;
+       Intl * intl;
        ///
-       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
           this is not used, but that should change pretty soon. (Lgb) */
-       BufferView *bufferview;
+       BufferView * bufferview;
        ///
        void invalidateLayoutChoice();
        ///
        void UpdateDocumentClassChoice();
 public:
        ///
-       static int KeyPressMask_raw_callback(FL_FORM *, void *xev);
+       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.
-       FD_form_main *create_form_form_main(int width, int height);
+       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;
-
+       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) */
        int last_textclass;
 };
-
-
 #endif