]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiApplication.h
do what the FIXME suggested
[lyx.git] / src / frontends / qt4 / GuiApplication.h
index 7b51eb4777d22ff7388979bfe8eb1c23687b0894..29b522b647743993c76d5acb36ef6e2b7403c1f1 100644 (file)
 #include "GuiFontLoader.h"
 #include "GuiClipboard.h"
 #include "GuiSelection.h"
+#include "Menus.h"
 
 #include "frontends/Application.h"
 
 #include <QObject>
 #include <QApplication>
+#include <QTimer>
 #include <QTranslator>
 
 #include <map>
@@ -56,9 +58,15 @@ public:
 
        /// Method inherited from \c Application class
        //@{
+       virtual FuncStatus getStatus(FuncRequest const &);
+       virtual bool dispatch(FuncRequest const &);
+       virtual void resetGui();
+       void restoreGuiSession();
        virtual Clipboard & clipboard();
        virtual Selection & selection();
        virtual FontLoader & fontLoader() { return font_loader_; }
+       MenuBackend const & menuBackend() const { return menus_; }
+       MenuBackend & menuBackend() { return menus_; }
        virtual int exec();
        virtual void exit(int status);
        virtual bool event(QEvent * e);
@@ -67,15 +75,19 @@ public:
        virtual void updateColor(ColorCode col);
        virtual void registerSocketCallback(int fd, SocketCallback func);
        void unregisterSocketCallback(int fd);
-       LyXView & createView(std::string const & geometry_arg);
        //@}
 
+       Menus const & menus() const { return menus_; }
+       Menus & menus() { return menus_; }
        /// Methods inherited from \c QApplication class
        //@{
        bool notify(QObject * receiver, QEvent * event);
        void commitData(QSessionManager & sm);
        //@}
 
+       /// Create the main window with given geometry settings.
+       /// \param geometry_arg: only for Windows platform.
+       void createView(QString const & geometry_arg);
        ///
        GuiView const * currentView() const { return current_view_; }
        ///
@@ -101,11 +113,9 @@ public:
        /// return a suitable monospaced font name.
        virtual QString const typewriterFontName();
        ///
-       virtual bool closeAllViews();
-       ///
        virtual bool unregisterView(int id);
        ///
-       virtual LyXView & view(int id) const;
+       virtual GuiView & view(int id) const;
        ///
        virtual void hideDialogs(std::string const & name, Inset * inset) const;
        ///
@@ -116,8 +126,12 @@ private Q_SLOTS:
        void execBatchCommands();
        ///
        void socketDataReceived(int fd);
+       /// events to be triggered by general_timer_ should go here
+       void handleRegularEvents();
 
 private:
+       ///
+       bool closeAllViews();
        ///
        GuiClipboard clipboard_;
        ///
@@ -130,6 +144,12 @@ private:
        QTranslator qt_trans_;
        ///
        std::map<int, SocketNotifier *> socket_notifiers_;
+       ///
+       Menus menus_;
+       /// this timer is used for any regular events one wants to
+       /// perform. at present it is used to check if forked processes
+       /// are done.
+       QTimer general_timer_;
 
 #ifdef Q_WS_X11
 public: