mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 01:59:02 +00:00
towards saner frontends (?). Part II: the menubar (now it is possible to switch frontend without recompiling GUII code)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7361 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
2e57f2ff0a
commit
c7f1fcdc65
@ -1,3 +1,8 @@
|
||||
2003-07-25 Jean-Marc Lasgouttes <lasgouttes@lyx.org>
|
||||
|
||||
* configure.in:
|
||||
* configure.ac: remove frontend directories from FRONTEND_INCLUDES
|
||||
|
||||
2003-07-22 John Levon <levon@movementarian.org>
|
||||
|
||||
* configure.ac:
|
||||
|
@ -177,7 +177,6 @@ case "$lyx_use_frontend" in
|
||||
RPM_FRONTEND="xforms"
|
||||
RPM_FRONTEND_DEPS='libforms >= 1.0'
|
||||
FRONTEND_GUILIB="frontends/xforms/libxforms.la"
|
||||
FRONTEND_INCLUDES="-I\$(srcdir)/xforms"
|
||||
FRONTEND_INFO=" libXpm version: ${XPM_VERSION}\n\
|
||||
libforms version: ${XFORMS_VERSION}\n"
|
||||
;;
|
||||
@ -192,7 +191,7 @@ dnl AC_SUBST(GNOME_FRONTEND_LIBS)
|
||||
dnl FRONTEND="xforms gnome"
|
||||
dnl FRONTEND_GUILIB="gnome/*.lo"
|
||||
dnl FRONTEND_LDFLAGS="${GNOME_FRONTEND_LIBS}"
|
||||
dnl FRONTEND_INCLUDES="-I\${srcdir}/gnome -I\${srcdir}/xforms ${GNOME_FRONTEND_CFLAGS} "
|
||||
dnl FRONTEND_INCLUDES="${GNOME_FRONTEND_CFLAGS}"
|
||||
dnl FRONTEND_LIBS="@XPM_LIB@ @XFORMS_LIB@ ${GNOME_FRONTEND_LIBS}"
|
||||
dnl ;;
|
||||
qt)
|
||||
@ -200,7 +199,7 @@ dnl ;;
|
||||
RPM_FRONTEND_DEPS='qt >= 2.2.1'
|
||||
FRONTEND="qt2"
|
||||
FRONTEND_GUILIB="frontends/qt2/libqt2.la"
|
||||
FRONTEND_INCLUDES="-I\${srcdir}/qt2 \$(QT_INCLUDES)"
|
||||
FRONTEND_INCLUDES="\$(QT_INCLUDES)"
|
||||
FRONTEND_INFO=" Qt version: ${QT_VERSION}\n"
|
||||
;;
|
||||
*)
|
||||
|
@ -174,7 +174,6 @@ case "$lyx_use_frontend" in
|
||||
RPM_FRONTEND="xforms"
|
||||
RPM_FRONTEND_DEPS='libforms >= 1.0'
|
||||
FRONTEND_GUILIB="xforms/*.lo xforms/forms/*.lo"
|
||||
FRONTEND_INCLUDES="-I\$(srcdir)/xforms"
|
||||
FRONTEND_LIBS="@XFORMS_IMAGE_LIB@ @XFORMS_LIB@ @XPM_LIB@"
|
||||
FRONTEND_INFO=" libXpm version: ${XPM_VERSION}\n\
|
||||
libforms version: ${XFORMS_VERSION}\n"
|
||||
@ -193,7 +192,7 @@ dnl AC_SUBST(GNOME_FRONTEND_LIBS)
|
||||
dnl FRONTEND="xforms gnome"
|
||||
dnl FRONTEND_GUILIB="gnome/*.lo"
|
||||
dnl FRONTEND_LDFLAGS="${GNOME_FRONTEND_LIBS}"
|
||||
dnl FRONTEND_INCLUDES="-I\${srcdir}/gnome -I\${srcdir}/xforms ${GNOME_FRONTEND_CFLAGS} "
|
||||
dnl FRONTEND_INCLUDES="${GNOME_FRONTEND_CFLAGS} "
|
||||
dnl FRONTEND_LIBS="@XPM_LIB@ @XFORMS_LIB@ ${GNOME_FRONTEND_LIBS}";;
|
||||
qt)
|
||||
QT_DO_IT_ALL
|
||||
@ -201,8 +200,8 @@ dnl FRONTEND_LIBS="@XPM_LIB@ @XFORMS_LIB@ ${GNOME_FRONTEND_LIBS}";;
|
||||
RPM_FRONTEND_DEPS='qt >= 2.2.1'
|
||||
FRONTEND="qt2"
|
||||
FRONTEND_GUILIB="qt2/*.lo qt2/ui/*.lo qt2/moc/*.lo qt2/ui/moc/*.lo"
|
||||
FRONTEND_LDFLAGS="\$(QT_LDFLAGS)"
|
||||
FRONTEND_INCLUDES="-I\${srcdir}/qt2 \$(QT_INCLUDES)"
|
||||
FRONTEND_LDFLAGS='$(QT_LDFLAGS)'
|
||||
FRONTEND_INCLUDES='$(QT_INCLUDES)'
|
||||
FRONTEND_LIBS="\$(QT_LIB)"
|
||||
FRONTEND_INFO=" Qt version: ${QT_VERSION}\n"
|
||||
;;
|
||||
|
@ -130,6 +130,7 @@ src/frontends/xforms/FormUrl.C
|
||||
src/frontends/xforms/FormVCLog.C
|
||||
src/frontends/xforms/FormWrap.C
|
||||
src/frontends/xforms/Menubar_pimpl.C
|
||||
src/frontends/xforms/XFormsMenubar.C
|
||||
src/frontends/xforms/XMiniBuffer.C
|
||||
src/frontends/xforms/xformsBC.h
|
||||
src/frontends/xforms/xforms_helpers.C
|
||||
|
@ -1,3 +1,13 @@
|
||||
2003-07-25 Jean-Marc Lasgouttes <lasgouttes@lyx.org>
|
||||
|
||||
* Menubar.h: do not use a pimpl, but rather an abstract class
|
||||
|
||||
* Menubar.C: removed
|
||||
|
||||
2003-07-25 Jean-Marc Lasgouttes <lasgouttes@lyx.org>
|
||||
|
||||
* Toolbar.h: do not use a pimpl, but rather an abstract class
|
||||
|
||||
2003-07-21 Angus Leeming <leeming@lyx.org>
|
||||
|
||||
* screen.C (c-tor, greyOut): use namespace lyx::graphics
|
||||
|
@ -6,7 +6,7 @@ DIST_SUBDIRS = controllers xforms qt2 gnome
|
||||
|
||||
noinst_LTLIBRARIES = libfrontends.la
|
||||
|
||||
INCLUDES = $(FRONTEND_INCLUDES) -I$(srcdir)/.. $(BOOST_INCLUDES)
|
||||
INCLUDES = -I$(srcdir)/.. $(BOOST_INCLUDES)
|
||||
|
||||
libfrontends_la_SOURCES = \
|
||||
Alert.C \
|
||||
@ -20,7 +20,6 @@ libfrontends_la_SOURCES = \
|
||||
LyXScreenFactory.h \
|
||||
LyXView.C \
|
||||
LyXView.h \
|
||||
Menubar.C \
|
||||
Menubar.h \
|
||||
Painter.C \
|
||||
Painter.h \
|
||||
|
@ -1,39 +0,0 @@
|
||||
/**
|
||||
* \file Menubar.C
|
||||
* This file is part of LyX, the document processor.
|
||||
* Licence details can be found in the file COPYING.
|
||||
*
|
||||
* \author Jean-Marc Lasgouttes
|
||||
*
|
||||
* Full author contact details are available in file CREDITS
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
|
||||
#include "Menubar.h"
|
||||
#include "MenuBackend.h"
|
||||
#include "Menubar_pimpl.h"
|
||||
|
||||
Menubar::Menubar(LyXView * o, MenuBackend const & md)
|
||||
{
|
||||
pimpl_ = new Pimpl(o, md);
|
||||
}
|
||||
|
||||
|
||||
Menubar::~Menubar()
|
||||
{
|
||||
delete pimpl_;
|
||||
}
|
||||
|
||||
|
||||
void Menubar::openByName(string const & name)
|
||||
{
|
||||
pimpl_->openByName(name);
|
||||
}
|
||||
|
||||
|
||||
void Menubar::update()
|
||||
{
|
||||
pimpl_->update();
|
||||
}
|
@ -5,6 +5,7 @@
|
||||
* Licence details can be found in the file COPYING.
|
||||
*
|
||||
* \author Lars Gullik Bjønnes
|
||||
* \author Jean-Marc Lasgouttes
|
||||
*
|
||||
* Full author contact details are available in file CREDITS
|
||||
*/
|
||||
@ -15,32 +16,17 @@
|
||||
|
||||
#include "LString.h"
|
||||
|
||||
class LyXView;
|
||||
class MenuBackend;
|
||||
|
||||
/**
|
||||
* The LyX GUI independent menubar class
|
||||
* The GUI interface is implemented in the corresponding Menubar_pimpl class.
|
||||
* The GUI interface is implemented in the frontends
|
||||
*/
|
||||
class Menubar {
|
||||
public:
|
||||
///
|
||||
Menubar(LyXView * o, MenuBackend const &);
|
||||
///
|
||||
~Menubar();
|
||||
virtual ~Menubar() {}
|
||||
/// Opens a top-level submenu given its name
|
||||
void openByName(string const &);
|
||||
virtual void openByName(string const &) = 0;
|
||||
/// update the state of the menuitems
|
||||
void update();
|
||||
|
||||
|
||||
//I disable this temporarily until I find a nice way to make it work
|
||||
//with compaq cxx. (Jean-Marc)
|
||||
// Is this a new comment? (Lgb)
|
||||
struct Pimpl;
|
||||
friend struct Pimpl;
|
||||
private:
|
||||
///
|
||||
Pimpl * pimpl_;
|
||||
virtual void update() = 0;
|
||||
};
|
||||
#endif // MENUBAR_H
|
||||
|
@ -1,3 +1,13 @@
|
||||
2003-07-25 Jean-Marc Lasgouttes <lasgouttes@lyx.org>
|
||||
|
||||
* QLMenubar.h:
|
||||
* QLMenubar.C: derives from Menubar (replaces Menubar::Pimpl)
|
||||
|
||||
* Menubar_pimpl.C:
|
||||
* Menubar_pimpl.h: removed
|
||||
|
||||
* QtView.C: modified because of changes above
|
||||
|
||||
2003-07-25 Jean-Marc Lasgouttes <lasgouttes@lyx.org>
|
||||
|
||||
* QLToolbar.h:
|
||||
|
@ -25,7 +25,7 @@ libqt2_la_SOURCES = \
|
||||
FileDialog.C \
|
||||
LyXKeySymFactory.C \
|
||||
LyXScreenFactory.C \
|
||||
Menubar_pimpl.C Menubar_pimpl.h \
|
||||
QLMenubar.C QLMenubar.h \
|
||||
qtTimeout.C qtTimeout.h \
|
||||
QAbout.C QAbout.h \
|
||||
QBibitem.C QBibitem.h \
|
||||
|
@ -1,17 +1,15 @@
|
||||
/**
|
||||
* \file qt2/Menubar_pimpl.C
|
||||
* \file qt2/QLMenubar.C
|
||||
* This file is part of LyX, the document processor.
|
||||
* Licence details can be found in the file COPYING.
|
||||
*
|
||||
* \author Lars Gullik Bjønnes
|
||||
* \author John Levon
|
||||
*
|
||||
* Full author contact details are available in file CREDITS
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
|
||||
#include "Menubar_pimpl.h"
|
||||
#include "MenuBackend.h"
|
||||
#include "LyXAction.h"
|
||||
#include "kbmap.h"
|
||||
@ -24,6 +22,7 @@
|
||||
#include "debug.h"
|
||||
|
||||
#include "QtView.h"
|
||||
#include "QLMenubar.h"
|
||||
#include "QLPopupMenu.h"
|
||||
|
||||
#include <qmenubar.h>
|
||||
@ -39,7 +38,7 @@ using std::for_each;
|
||||
using std::pair;
|
||||
|
||||
|
||||
Menubar::Pimpl::Pimpl(LyXView * view, MenuBackend const & mbe)
|
||||
QLMenubar::QLMenubar(LyXView * view, MenuBackend const & mbe)
|
||||
: owner_(static_cast<QtView*>(view)), menubackend_(mbe)
|
||||
{
|
||||
Menu::const_iterator m = mbe.getMenubar().begin();
|
||||
@ -63,11 +62,7 @@ Menubar::Pimpl::Pimpl(LyXView * view, MenuBackend const & mbe)
|
||||
}
|
||||
|
||||
|
||||
Menubar::Pimpl::~Pimpl()
|
||||
{}
|
||||
|
||||
|
||||
void Menubar::Pimpl::openByName(string const & name)
|
||||
void QLMenubar::openByName(string const & name)
|
||||
{
|
||||
NameMap::const_iterator const cit = name_map_.find(name);
|
||||
if (cit == name_map_.end())
|
||||
@ -78,17 +73,17 @@ void Menubar::Pimpl::openByName(string const & name)
|
||||
}
|
||||
|
||||
|
||||
void Menubar::Pimpl::update()
|
||||
void QLMenubar::update()
|
||||
{}
|
||||
|
||||
|
||||
QtView * Menubar::Pimpl::view()
|
||||
QtView * QLMenubar::view()
|
||||
{
|
||||
return owner_;
|
||||
}
|
||||
|
||||
|
||||
MenuBackend const & Menubar::Pimpl::backend()
|
||||
MenuBackend const & QLMenubar::backend()
|
||||
{
|
||||
return menubackend_;
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
// -*- C++ -*-
|
||||
/**
|
||||
* \file qt2/Menubar_pimpl.h
|
||||
* \file qt2/QLMenubar.h
|
||||
* This file is part of LyX, the document processor.
|
||||
* Licence details can be found in the file COPYING.
|
||||
*
|
||||
@ -11,9 +11,8 @@
|
||||
*/
|
||||
|
||||
|
||||
#ifndef MENUBAR_PIMPL_H
|
||||
#define MENUBAR_PIMPL_H
|
||||
|
||||
#ifndef QLMENUBAR_H
|
||||
#define QLMENUBAR_H
|
||||
|
||||
#include "frontends/Menubar.h"
|
||||
#include "LString.h"
|
||||
@ -24,12 +23,10 @@ class QtView;
|
||||
class MenuBackend;
|
||||
class QLPopupMenu;
|
||||
|
||||
struct Menubar::Pimpl {
|
||||
class QLMenubar : public Menubar {
|
||||
public:
|
||||
Pimpl(LyXView *, MenuBackend const &);
|
||||
QLMenubar(LyXView *, MenuBackend const &);
|
||||
|
||||
~Pimpl();
|
||||
|
||||
/// opens a top-level submenu given its name
|
||||
void openByName(string const &);
|
||||
|
||||
@ -54,4 +51,4 @@ private:
|
||||
NameMap name_map_;
|
||||
};
|
||||
|
||||
#endif // MENUBAR_PIMPL_H
|
||||
#endif // QLMENUBAR_H
|
@ -18,6 +18,7 @@
|
||||
|
||||
#include "QtView.h"
|
||||
|
||||
#include "QLMenubar.h"
|
||||
#include "QLPopupMenu.h"
|
||||
#include "qt_helpers.h"
|
||||
|
||||
@ -58,7 +59,7 @@ string const getLabel(MenuItem const & mi)
|
||||
|
||||
|
||||
pair<int, QLPopupMenu *>
|
||||
createMenu(QMenuData * parent, MenuItem const * item, Menubar::Pimpl * owner,
|
||||
createMenu(QMenuData * parent, MenuItem const * item, QLMenubar * owner,
|
||||
bool is_toplevel)
|
||||
{
|
||||
// FIXME: leaks ??
|
||||
@ -68,7 +69,7 @@ createMenu(QMenuData * parent, MenuItem const * item, Menubar::Pimpl * owner,
|
||||
}
|
||||
|
||||
|
||||
QLPopupMenu::QLPopupMenu(Menubar::Pimpl * owner,
|
||||
QLPopupMenu::QLPopupMenu(QLMenubar * owner,
|
||||
string const & name, bool toplevel)
|
||||
: owner_(owner), name_(name)
|
||||
{
|
||||
|
@ -13,8 +13,6 @@
|
||||
#define QLPOPUPMENU_H
|
||||
|
||||
|
||||
#include "Menubar_pimpl.h"
|
||||
|
||||
#include <qpopupmenu.h>
|
||||
|
||||
#include "LString.h"
|
||||
@ -23,18 +21,19 @@ class MenuBackend;
|
||||
class MenuItem;
|
||||
class Menu;
|
||||
class QMenuData;
|
||||
class QLMenubar;
|
||||
class QLPopupMenu;
|
||||
|
||||
/// create a sub-menu
|
||||
std::pair<int, QLPopupMenu *>
|
||||
createMenu(QMenuData * parent, MenuItem const * item,
|
||||
Menubar::Pimpl * owner, bool is_toplevel = false);
|
||||
QLMenubar * owner, bool is_toplevel = false);
|
||||
|
||||
/// a submenu
|
||||
class QLPopupMenu : public QPopupMenu {
|
||||
Q_OBJECT
|
||||
public:
|
||||
QLPopupMenu(Menubar::Pimpl * owner,
|
||||
QLPopupMenu(QLMenubar * owner,
|
||||
string const & name, bool toplevel);
|
||||
|
||||
/// populate the menu
|
||||
@ -44,7 +43,7 @@ public slots:
|
||||
void showing();
|
||||
private:
|
||||
/// our owning menubar
|
||||
Menubar::Pimpl * owner_;
|
||||
QLMenubar * owner_;
|
||||
|
||||
/// the name of this menu
|
||||
string name_;
|
||||
|
@ -21,7 +21,6 @@
|
||||
#include "lyxfunc.h"
|
||||
#include "BufferView.h"
|
||||
|
||||
#include "frontends/Menubar.h"
|
||||
#include "frontends/Dialogs.h"
|
||||
#include "frontends/Timeout.h"
|
||||
|
||||
@ -29,6 +28,7 @@
|
||||
|
||||
#include "QtView.h"
|
||||
#include "QLToolbar.h"
|
||||
#include "QLMenubar.h"
|
||||
#include "qfont_loader.h"
|
||||
#include "QCommandBuffer.h"
|
||||
#include "qt_helpers.h"
|
||||
@ -61,7 +61,7 @@ QtView::QtView(unsigned int width, unsigned int height)
|
||||
|
||||
bufferview_.reset(new BufferView(this, 0, 0, width, height));
|
||||
|
||||
menubar_.reset(new Menubar(this, menubackend));
|
||||
menubar_.reset(new QLMenubar(this, menubackend));
|
||||
toolbar_.reset(new QLToolbar(this));
|
||||
toolbar_->init();
|
||||
|
||||
|
@ -1,10 +1,22 @@
|
||||
2003-07-25 Jean-Marc Lasgouttes <lasgouttes@lyx.org> <lyx@htwm.de>
|
||||
2003-07-25 Jean-Marc Lasgouttes <lasgouttes@lyx.org>
|
||||
|
||||
*
|
||||
* XFormsMenubar.h:
|
||||
* XFormsMenubar.C: derives from Menubar (replaces Menubar::Pimpl)
|
||||
|
||||
2003-07-25 Jean-Marc Lasgouttes <lasgoutes@lyx.org>
|
||||
* Menubar_pimpl.C:
|
||||
* Menubar_pimpl.h: removed
|
||||
|
||||
* XFormsView.C: modified because of changes above
|
||||
|
||||
2003-07-25 Jean-Marc Lasgouttes <lasgouttes@lyx.org>
|
||||
|
||||
* XFormsToolbar.h:
|
||||
* XFormsToolbar.C: derives from Toolbar (replaces Toolbar::Pimpl)
|
||||
|
||||
* Toolbar_pimpl.C:
|
||||
* Toolbar_pimpl.h: removed
|
||||
|
||||
* XFormsView.C: modified because of changes above
|
||||
|
||||
2003-07-23 Angus Leeming <leeming@lyx.org>
|
||||
|
||||
|
@ -151,8 +151,8 @@ libxforms_la_SOURCES = \
|
||||
FormWrap.h \
|
||||
LyXKeySymFactory.C \
|
||||
LyXScreenFactory.C \
|
||||
Menubar_pimpl.C \
|
||||
Menubar_pimpl.h \
|
||||
XFormsMenubar.C \
|
||||
XFormsMenubar.h \
|
||||
RadioButtonGroup.C \
|
||||
RadioButtonGroup.h \
|
||||
XFormsToolbar.C \
|
||||
|
@ -1,5 +1,5 @@
|
||||
/**
|
||||
* \file xforms/Menubar_pimpl.C
|
||||
* \file XFormsMenubar.C
|
||||
* This file is part of LyX, the document processor.
|
||||
* Licence details can be found in the file COPYING.
|
||||
*
|
||||
@ -11,7 +11,7 @@
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include "Menubar_pimpl.h"
|
||||
#include "XFormsMenubar.h"
|
||||
#include "MenuBackend.h"
|
||||
#include "XFormsView.h"
|
||||
#include "lyxfunc.h"
|
||||
@ -72,26 +72,26 @@ extern "C" {
|
||||
|
||||
//Defined later, used in makeMenubar().
|
||||
static
|
||||
void C_Menubar_Pimpl_MenuCallback(FL_OBJECT * ob, long button)
|
||||
void C_XFormsMenubar_MenuCallback(FL_OBJECT * ob, long button)
|
||||
{
|
||||
Menubar::Pimpl::MenuCallback(ob, button);
|
||||
XFormsMenubar::MenuCallback(ob, button);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
Menubar::Pimpl::Pimpl(LyXView * view, MenuBackend const & mb)
|
||||
XFormsMenubar::XFormsMenubar(LyXView * view, MenuBackend const & mb)
|
||||
: owner_(static_cast<XFormsView*>(view)), menubackend_(&mb)
|
||||
{
|
||||
makeMenubar(menubackend_->getMenubar());
|
||||
}
|
||||
|
||||
|
||||
Menubar::Pimpl::~Pimpl()
|
||||
XFormsMenubar::~XFormsMenubar()
|
||||
{}
|
||||
|
||||
|
||||
void Menubar::Pimpl::makeMenubar(Menu const & menu)
|
||||
void XFormsMenubar::makeMenubar(Menu const & menu)
|
||||
{
|
||||
FL_FORM * form = owner_->getForm();
|
||||
int moffset = 0;
|
||||
@ -108,7 +108,7 @@ void Menubar::Pimpl::makeMenubar(Menu const & menu)
|
||||
for (; i != end; ++i) {
|
||||
FL_OBJECT * obj;
|
||||
if (i->kind() != MenuItem::Submenu) {
|
||||
lyxerr << "ERROR: Menubar::Pimpl::createMenubar:"
|
||||
lyxerr << "ERROR: XFormsMenubar::createMenubar:"
|
||||
" only submenus can appear in a menubar"
|
||||
<< endl;
|
||||
continue;
|
||||
@ -130,7 +130,7 @@ void Menubar::Pimpl::makeMenubar(Menu const & menu)
|
||||
NorthWestGravity);
|
||||
moffset += obj->w + air;
|
||||
fl_set_object_shortcut(obj, shortcut.c_str(), 1);
|
||||
fl_set_object_callback(obj, C_Menubar_Pimpl_MenuCallback, 1);
|
||||
fl_set_object_callback(obj, C_XFormsMenubar_MenuCallback, 1);
|
||||
|
||||
boost::shared_ptr<ItemInfo>
|
||||
iteminfo(new ItemInfo(this, new MenuItem(*i), obj));
|
||||
@ -141,13 +141,13 @@ void Menubar::Pimpl::makeMenubar(Menu const & menu)
|
||||
}
|
||||
|
||||
|
||||
void Menubar::Pimpl::update()
|
||||
void XFormsMenubar::update()
|
||||
{
|
||||
// nothing yet
|
||||
}
|
||||
|
||||
|
||||
void Menubar::Pimpl::openByName(string const & name)
|
||||
void XFormsMenubar::openByName(string const & name)
|
||||
{
|
||||
for (ButtonList::const_iterator cit = buttonlist_.begin();
|
||||
cit != buttonlist_.end(); ++cit) {
|
||||
@ -157,7 +157,7 @@ void Menubar::Pimpl::openByName(string const & name)
|
||||
}
|
||||
}
|
||||
|
||||
lyxerr << "Menubar::Pimpl::openByName: menu "
|
||||
lyxerr << "XFormsMenubar::openByName: menu "
|
||||
<< name << " not found" << endl;
|
||||
}
|
||||
|
||||
@ -191,11 +191,11 @@ string const fixlabel(string const & str)
|
||||
|
||||
|
||||
|
||||
int Menubar::Pimpl::create_submenu(Window win, XFormsView * view,
|
||||
int XFormsMenubar::create_submenu(Window win, XFormsView * view,
|
||||
Menu const & menu, vector<int> & smn)
|
||||
{
|
||||
const int menuid = get_new_submenu(smn, win);
|
||||
lyxerr[Debug::GUI] << "Menubar::Pimpl::create_submenu: creating "
|
||||
lyxerr[Debug::GUI] << "XFormsMenubar::create_submenu: creating "
|
||||
<< menu.name() << " as menuid=" << menuid << endl;
|
||||
|
||||
// Compute the size of the largest label (because xforms is
|
||||
@ -321,7 +321,7 @@ int Menubar::Pimpl::create_submenu(Window win, XFormsView * view,
|
||||
|
||||
|
||||
default:
|
||||
lyxerr << "Menubar::Pimpl::create_submenu: "
|
||||
lyxerr << "XFormsMenubar::create_submenu: "
|
||||
"this should not happen" << endl;
|
||||
break;
|
||||
}
|
||||
@ -330,10 +330,10 @@ int Menubar::Pimpl::create_submenu(Window win, XFormsView * view,
|
||||
}
|
||||
|
||||
|
||||
void Menubar::Pimpl::MenuCallback(FL_OBJECT * ob, long button)
|
||||
void XFormsMenubar::MenuCallback(FL_OBJECT * ob, long button)
|
||||
{
|
||||
ItemInfo * iteminfo = static_cast<ItemInfo *>(ob->u_vdata);
|
||||
XFormsView * view = iteminfo->pimpl_->owner_;
|
||||
XFormsView * view = iteminfo->menubar_->owner_;
|
||||
MenuItem const * item = iteminfo->item_.get();
|
||||
|
||||
if (button == 1) {
|
||||
@ -349,12 +349,12 @@ void Menubar::Pimpl::MenuCallback(FL_OBJECT * ob, long button)
|
||||
// set tabstop length
|
||||
fl_set_tabstop(menu_tabstop);
|
||||
|
||||
MenuBackend const * menubackend_ = iteminfo->pimpl_->menubackend_;
|
||||
MenuBackend const * menubackend_ = iteminfo->menubar_->menubackend_;
|
||||
Menu tomenu;
|
||||
Menu const frommenu = menubackend_->getMenu(item->submenuname());
|
||||
menubackend_->expand(frommenu, tomenu, view);
|
||||
vector<int> submenus;
|
||||
int menu = iteminfo->pimpl_->create_submenu(FL_ObjWin(ob), view,
|
||||
int menu = iteminfo->menubar_->create_submenu(FL_ObjWin(ob), view,
|
||||
tomenu, submenus);
|
||||
if (menu != -1) {
|
||||
// place popup
|
||||
@ -388,13 +388,13 @@ void Menubar::Pimpl::MenuCallback(FL_OBJECT * ob, long button)
|
||||
}
|
||||
|
||||
|
||||
Menubar::Pimpl::ItemInfo::ItemInfo
|
||||
(Menubar::Pimpl * p, MenuItem const * i, FL_OBJECT * o)
|
||||
: pimpl_(p), obj_(o)
|
||||
XFormsMenubar::ItemInfo::ItemInfo
|
||||
(XFormsMenubar * p, MenuItem const * i, FL_OBJECT * o)
|
||||
: menubar_(p), obj_(o)
|
||||
{
|
||||
item_.reset(i);
|
||||
}
|
||||
|
||||
|
||||
Menubar::Pimpl::ItemInfo::~ItemInfo()
|
||||
XFormsMenubar::ItemInfo::~ItemInfo()
|
||||
{}
|
@ -1,6 +1,6 @@
|
||||
// -*- C++ -*-
|
||||
/**
|
||||
* \file xforms/Menubar_pimpl.h
|
||||
* \file XFormsMenubar.h
|
||||
* This file is part of LyX, the document processor.
|
||||
* Licence details can be found in the file COPYING.
|
||||
*
|
||||
@ -9,9 +9,8 @@
|
||||
* Full author contact details are available in file CREDITS
|
||||
*/
|
||||
|
||||
#ifndef MENUBAR_PIMPL_H
|
||||
#define MENUBAR_PIMPL_H
|
||||
|
||||
#ifndef XFORMSMENUBAR_H
|
||||
#define XFORMSMENUBAR_H
|
||||
|
||||
#include "LString.h"
|
||||
#include "frontends/Menubar.h"
|
||||
@ -28,16 +27,14 @@ class LyXView;
|
||||
class XFormsView;
|
||||
class Menu;
|
||||
class MenuItem;
|
||||
class MenuBackend;
|
||||
|
||||
/** The LyX GUI independent menubar class
|
||||
The GUI interface is implemented in the corresponding Menubar_pimpl class.
|
||||
*/
|
||||
struct Menubar::Pimpl {
|
||||
class XFormsMenubar : public Menubar {
|
||||
public:
|
||||
///
|
||||
Pimpl(LyXView *, MenuBackend const &);
|
||||
XFormsMenubar(LyXView *, MenuBackend const &);
|
||||
///
|
||||
~Pimpl();
|
||||
~XFormsMenubar();
|
||||
|
||||
/// update the state of the menuitems
|
||||
void update();
|
||||
@ -69,11 +66,11 @@ private:
|
||||
///
|
||||
struct ItemInfo {
|
||||
///
|
||||
ItemInfo(Menubar::Pimpl * p, MenuItem const * i,
|
||||
ItemInfo(XFormsMenubar * p, MenuItem const * i,
|
||||
FL_OBJECT * o);
|
||||
~ItemInfo();
|
||||
///
|
||||
Menubar::Pimpl * pimpl_;
|
||||
XFormsMenubar * menubar_;
|
||||
///
|
||||
boost::shared_ptr<MenuItem const> item_;
|
||||
///
|
@ -1,5 +1,5 @@
|
||||
/**
|
||||
* \file xforms/XFormsToolbar.C
|
||||
* \file XFormsToolbar.C
|
||||
* This file is part of LyX, the document processor.
|
||||
* Licence details can be found in the file COPYING.
|
||||
*
|
||||
|
@ -1,6 +1,6 @@
|
||||
// -*- C++ -*-
|
||||
/**
|
||||
* \file xforms/XFormsToolbar.h
|
||||
* \file XFormsToolbar.h
|
||||
* This file is part of LyX, the document processor.
|
||||
* Licence details can be found in the file COPYING.
|
||||
*
|
||||
|
@ -15,12 +15,12 @@
|
||||
#include "lyx_forms.h"
|
||||
|
||||
#include "XMiniBuffer.h"
|
||||
#include "XFormsMenubar.h"
|
||||
#include "XFormsToolbar.h"
|
||||
#include "debug.h"
|
||||
#include "intl.h"
|
||||
#include "lyxrc.h"
|
||||
#include "support/filetools.h" // OnlyFilename()
|
||||
#include "frontends/Menubar.h"
|
||||
#include "frontends/Timeout.h"
|
||||
#include "frontends/Dialogs.h"
|
||||
#include "MenuBackend.h"
|
||||
@ -140,7 +140,7 @@ void XFormsView::create_form_form_main(int width, int height)
|
||||
int const air = 2;
|
||||
int const bw = abs(fl_get_border_width());
|
||||
|
||||
menubar_.reset(new Menubar(this, menubackend));
|
||||
menubar_.reset(new XFormsMenubar(this, menubackend));
|
||||
|
||||
toolbar_.reset(new XFormsToolbar(this, air, 30 + air + bw));
|
||||
toolbar_->init();
|
||||
|
Loading…
Reference in New Issue
Block a user