]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiView.h
some remnaming
[lyx.git] / src / frontends / qt4 / GuiView.h
index 255606be50e21297e974014e3ccd8ac1b7f91eb7..428f9325f11b8173408ba2e90104973bb2560a7e 100644 (file)
 #ifndef GUI_VIEW_H
 #define GUI_VIEW_H
 
-// Must be here because of moc.
-#include <config.h>
-
 #include "frontends/LyXView.h"
-#include "funcrequest.h"
+#include "FuncRequest.h"
 
-#include <QMainWindow>
-#include <QTimer>
 #include <QAction>
 #include <QCloseEvent>
+#include <QMainWindow>
+#include <QTimer>
 
-class QToolBar;
+class QDragEnterEvent;
+class QDropEvent;
 class QMenu;
-
+class QToolBar;
 
 namespace lyx {
 namespace frontend {
 
-class QCommandBuffer;
-
-QWidget* mainWindow();
+QWidget * mainWindow();
 
 /**
  * GuiView - Qt4 implementation of LyXView
  *
  * qt4-private implementation of the main LyX window.
  *
- * Note: any QObject emits a destroyed(QObject *) Qt signal when it
- *       is deleted.This might be useful for closing other dialogs
- *       depending on a given GuiView.
+ * Note: a QObject emits a destroyed(QObject *) Qt signal when it
+ * is deleted. This might be useful for closing other dialogs
+ * depending on a given GuiView.
  */
-class GuiView : public QMainWindow, public LyXView {
+class GuiViewBase : public QMainWindow, public LyXView
+{
        Q_OBJECT
 public:
        /// create a main window of the given dimensions
-       GuiView(int id);
+       GuiViewBase(int id);
 
-       ~GuiView();
+       ~GuiViewBase();
 
        virtual void init();
        virtual void close();
+       virtual void setFocus();
        virtual void setGeometry(
                unsigned int width,
                unsigned int height,
                int posx, int posy,
-               bool maximize,
+               int maximized,
                unsigned int iconSizeXY,
                const std::string & geometryArg);
        virtual void saveGeometry();
        virtual void busy(bool);
-       Toolbars::ToolbarPtr makeToolbar(ToolbarBackend::Toolbar const & tbb);
+       /// add toolbar, if newline==true, add a toolbar break before the toolbar
+       Toolbars::ToolbarPtr makeToolbar(ToolbarInfo const & tbinfo, bool newline);
        virtual void updateStatusBar();
-       virtual void message(lyx::docstring const & str);
+       virtual void message(docstring const & str);
        virtual void clearMessage();
        virtual bool hasFocus() const;
-
-       virtual void updateTab();
+       void showMiniBuffer(bool);
+       void openMenu(docstring const &);
 
        /// show - display the top-level window
-       void show();
-
-       /// add the command buffer
-       void addCommandBuffer(QToolBar * toolbar);
+       void showView();
 
        /// menu item has been selected
        void activated(FuncRequest const &);
 
-       void initTab(QWidget* workArea);
-
        QMenu* createPopupMenu();
 
 Q_SIGNALS:
@@ -93,10 +87,8 @@ public Q_SLOTS:
        /// idle timeout
        void update_view_state_qt();
 
-       /// populate a toplevel menu and all its children on demand
-       void updateMenu(QAction *);
-
-       void currentTabChanged (int index); 
+       void currentTabChanged(int index);
+       void closeCurrentTab();
 
        /// slots to change the icon size
        void smallSizedIcons();
@@ -106,39 +98,62 @@ public Q_SLOTS:
 protected:
        /// make sure we quit cleanly
        virtual void closeEvent(QCloseEvent * e);
-
        ///
        virtual void resizeEvent(QResizeEvent * e);
-
        ///
        virtual void moveEvent(QMoveEvent * e);
 
+       /// \return the \c Workarea associated to \p  Buffer
+       /// \retval 0 if no \c WorkArea is found.
+       WorkArea * workArea(Buffer & buffer);
+
+       /// Add a \c WorkArea 
+       /// \return the \c Workarea associated to \p  Buffer
+       /// \retval 0 if no \c WorkArea is found.
+       WorkArea * addWorkArea(Buffer & buffer);
+       void setCurrentWorkArea(WorkArea * work_area);
+       void removeWorkArea(WorkArea * work_area);
+       WorkArea const * currentWorkArea() const;
+       WorkArea * currentWorkArea();
+
 private:
-       /// focus the command buffer widget
-       void focus_command_widget();
+       ///
+       void dragEnterEvent(QDragEnterEvent * ev);
+       ///
+       void dropEvent(QDropEvent * ev);
 
        /**
         * setWindowTitle - set title of window
         * @param t main window title
         * @param it iconified (short) title
         */
-       virtual void setWindowTitle(lyx::docstring const & t, lyx::docstring const & it);
+       virtual void setWindowTitle(docstring const & t, docstring const & it);
 
-       QTimer statusbar_timer_;
+       /// in order to catch Tab key press.
+       bool event(QEvent * e);
+       bool focusNextPrevChild(bool);
 
-       /// command buffer
-       QCommandBuffer * commandbuffer_;
+       QTimer statusbar_timer_;
 
        /// are we quitting by the menu?
        bool quitting_by_menu_;
 
        ///
-       void updateFloatingGeometry();
+       QRect updateFloatingGeometry();
        ///
        QRect floatingGeometry_;
 
        void setIconSize(unsigned int size);
 
+       struct ToolbarSize {
+               int top_width;
+               int bottom_width;
+               int left_height;
+               int right_height;
+       };
+
+       ToolbarSize toolbarSize_;
+
        struct GuiViewPrivate;
        GuiViewPrivate& d;
 };