* LyX, The Document Processor
*
* Copyright 1995 Matthias Ettrich
- * Copyright 1995-1998 The LyX Team.
+ * Copyright 1995-2000 The LyX Team.
*
* ====================================================== */
#endif
#include FORMS_H_LOCATION
-#include "lyx.h"
-#include "buffer.h"
-#include "menus.h"
-#include "BufferView.h"
-#include "layout.h"
+
+#include "Timeout.h"
+#include "support/utility.hpp"
+
+// uncomment this line to try out the new menus
+#define NEW_MENUBAR 1
class LyXFunc;
class Toolbar;
class MiniBuffer;
class Intl;
+class Buffer;
+#ifdef NEW_MENUBAR
+class Menubar;
+#else
+class Menus;
+#endif
-///
-struct FD_form_main {
- ///
- FL_FORM * form_main;
- ///
- FL_OBJECT * timer_autosave;
- ///
- FL_OBJECT * timer_update;
- ///
- void * vdata;
- ///
- long ldata;
-};
+class BufferView;
+class Dialogs;
+#ifdef SIGC_CXX_NAMESPACES
+using SigC::Object;
+#endif
/**
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);
void redraw();
/// returns the buffer currently shown in the main form.
- Buffer * buffer() const { return bufferview->buffer(); }
+ 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;
+
+ /// sets the layout in the toolbar layout combox
+ void setLayout(int layout);
+
+ /// update the toolbar
+ void updateToolbar();
/// 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;
+#ifdef NEW_MENUBAR
///
- Menus * getMenus() { return menus; }
+ Menubar * getMenubar() const;
///
- Intl * getIntl() { return intl; }
+ void updateMenubar();
+#else
+ ///
+ Menus * getMenus() const;
+#endif
+ ///
+ 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:
Toolbar * toolbar;
///
MiniBuffer * minibuffer;
+#ifdef NEW_MENUBAR
+ ///
+ Menubar * menubar;
+#else
///
Menus * menus;
+#endif
///
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
///
void UpdateDocumentClassChoice();
public:
+#if FL_REVISION < 89
///
static int KeyPressMask_raw_callback(FL_FORM *, void * xev);
+#endif
/** 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);
- /// A pointer to the form.
- FD_form_main * _form_main;
+ void create_form_form_main(int width, int height);
/// 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) */