]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/xforms/Menubar_pimpl.C
controller-view split of FormLog and FormVCLog.
[lyx.git] / src / frontends / xforms / Menubar_pimpl.C
index f1a66d1d35ddd237683ccdf70aaa5edf93494f60..bb90a386bad67f2ace9652d0281f339869833cf4 100644 (file)
@@ -7,13 +7,14 @@
 *
 *======================================================*/
 
+#include <config.h>
+
+#include <algorithm>
+
 #ifdef __GNUG__
 #pragma implementation
 #endif
 
-#include <config.h>
-
-#include <algorithm>
 #include "support/lstrings.h"
 #include "support/LAssert.h"
 #include "debug.h"
@@ -21,6 +22,7 @@
 #include "lyxfunc.h"
 #include "kbmap.h"
 #include "buffer.h"
+#include "Dialogs.h"
 #include "LyXView.h"
 #include "MenuBackend.h"
 #include "Menubar_pimpl.h"
@@ -35,30 +37,27 @@ typedef vector<int>::size_type size_type;
 extern boost::scoped_ptr<kb_keymap> toplevel_keymap;
 extern LyXAction lyxaction;
 
+namespace {
+
 // Some constants
-static const int MENU_LABEL_SIZE = FL_NORMAL_SIZE;
-static const int mheight = 30;
-static const int mbheight= 22;
+const int MENU_LABEL_SIZE = FL_NORMAL_SIZE;
+const int mheight = 30;
+const int mbheight= 22;
 // where to place the menubar?
-static const int yloc = (mheight - mbheight)/2; //air + bw;
-static const int mbadd = 20; // menu button add (to width)
+const int yloc = (mheight - mbheight)/2; //air + bw;
+const int mbadd = 20; // menu button add (to width)
 // Some space between buttons on the menubar 
-static const int air = 2;
-static char const * menu_tabstop = "aa";
-static char const * default_tabstop = "aaaaaaaa";
+const int air = 2;
+char const * menu_tabstop = "aa";
+char const * default_tabstop = "aaaaaaaa";
 // We do not want to mix position values in a menu (like the index of
 // a submenu) with the action numbers which convey actual information.
 // Therefore we offset all the action values by an arbitrary large
 // constant. 
-static const int action_offset = 1000;
-
-
-//Defined later, used in makeMenubar().
-extern "C"
-void C_Menubar_Pimpl_MenuCallback(FL_OBJECT * ob, long button);
+const int action_offset = 1000;
 
 // This is used a few times below.
-static inline
+inline
 int string_width(string const & str) 
 {
        return fl_get_string_widthTAB(FL_NORMAL_STYLE, MENU_LABEL_SIZE,
@@ -66,6 +65,13 @@ int string_width(string const & str)
                                      static_cast<int>(str.length()));
 }
 
+} // namespace anon
+
+
+//Defined later, used in makeMenubar().
+extern "C"
+void C_Menubar_Pimpl_MenuCallback(FL_OBJECT * ob, long button);
+
 
 Menubar::Pimpl::Pimpl(LyXView * view, MenuBackend const & mb) 
        : owner_(view), menubackend_(&mb), current_group_(0)
@@ -183,7 +189,9 @@ void Menubar::Pimpl::openByName(string const & name)
 }
 
 
-static inline
+namespace {
+
+inline
 string const limit_string_length(string const & str)
 {
        string::size_type const max_item_length = 45;
@@ -195,7 +203,6 @@ string const limit_string_length(string const & str)
 }
 
 
-static
 int get_new_submenu(vector<int> & smn, Window win)
 {
        static size_type max_number_of_menus = 32;
@@ -210,7 +217,7 @@ int get_new_submenu(vector<int> & smn, Window win)
 
 size_type const max_number_of_items = 25;
 
-static inline
+inline
 string const fixlabel(string const & str)
 {
 #if FL_REVISION < 89
@@ -220,6 +227,8 @@ string const fixlabel(string const & str)
 #endif
 }
 
+} // namespace anon
+
 
 void add_toc2(int menu, string const & extra_label,
              vector<int> & smn, Window win,
@@ -380,7 +389,6 @@ void Menubar::Pimpl::add_toc(int menu, string const & extra_label,
                        label = limit_string_length(label);
                        label += "%x" + tostr(action + action_offset);
                        fl_addtopup(menu2, label.c_str());
-                       lyxerr << "[" << cit->first << "] " << label << endl;
                }
                string const m = cit->first + "%m";
                fl_addtopup(menu, m.c_str(), menu2);
@@ -577,6 +585,12 @@ void Menubar::Pimpl::MenuCallback(FL_OBJECT * ob, long button)
        LyXView * view = iteminfo->pimpl_->owner_;
        MenuItem const * item = iteminfo->item_.get();
 
+       /* get the splash out of the way. It would be nicer
+        * to only have this code at the start, but xforms
+        * makes it too ugly to do
+        */
+       view->getDialogs()->destroySplash();
        if (button == 1) {
                // set the pseudo menu-button
                fl_set_object_boxtype(ob, FL_DOWN_BOX);