#include "LyX.h"
-#include "Color.h"
-#include "ConverterCache.h"
-#include "Buffer.h"
#include "buffer_funcs.h"
+#include "Buffer.h"
#include "BufferList.h"
+#include "CmdDef.h"
+#include "Color.h"
+#include "ConverterCache.h"
#include "Converter.h"
#include "CutAndPaste.h"
-#include "debug.h"
#include "Encoding.h"
#include "ErrorList.h"
#include "Format.h"
-#include "gettext.h"
#include "KeyMap.h"
-#include "CmdDef.h"
#include "Language.h"
-#include "Session.h"
+#include "Lexer.h"
#include "LyXAction.h"
#include "LyXFunc.h"
-#include "Lexer.h"
#include "LyXRC.h"
+#include "MenuBackend.h"
#include "ModuleList.h"
+#include "Mover.h"
#include "Server.h"
#include "ServerSocket.h"
+#include "Session.h"
#include "TextClassList.h"
-#include "MenuBackend.h"
-#include "Messages.h"
-#include "Mover.h"
#include "ToolbarBackend.h"
#include "frontends/alert.h"
#include "frontends/Application.h"
-#include "frontends/LyXView.h"
+#include "support/debug.h"
#include "support/environment.h"
+#include "support/ExceptionMessage.h"
#include "support/filetools.h"
+#include "support/gettext.h"
#include "support/lstrings.h"
#include "support/lyxlib.h"
-#include "support/ExceptionMessage.h"
+#include "support/Messages.h"
#include "support/os.h"
#include "support/Package.h"
#include "support/Path.h"
using support::prependEnvPath;
using support::rtrim;
using support::Systemcall;
-using frontend::LyXView;
namespace Alert = frontend::Alert;
namespace os = support::os;
///
BufferList buffer_list_;
///
- boost::scoped_ptr<KeyMap> toplevel_keymap_;
+ KeyMap toplevel_keymap_;
///
- boost::scoped_ptr<CmdDef> toplevel_cmddef_;
+ CmdDef toplevel_cmddef_;
///
boost::scoped_ptr<Server> lyx_server_;
///
KeyMap & LyX::topLevelKeymap()
{
- BOOST_ASSERT(pimpl_->toplevel_keymap_.get());
- return *pimpl_->toplevel_keymap_.get();
+ return pimpl_->toplevel_keymap_;
}
CmdDef & LyX::topLevelCmdDef()
{
- BOOST_ASSERT(pimpl_->toplevel_cmddef_.get());
- return *pimpl_->toplevel_cmddef_.get();
+ return pimpl_->toplevel_cmddef_;
}
KeyMap const & LyX::topLevelKeymap() const
{
- BOOST_ASSERT(pimpl_->toplevel_keymap_.get());
- return *pimpl_->toplevel_keymap_.get();
+ return pimpl_->toplevel_keymap_;
}
void LyX::restoreGuiSession()
{
- LyXView * view = newLyXView();
+ // create the main window
+ pimpl_->lyxfunc_.dispatch(FuncRequest(LFUN_WINDOW_NEW, geometryArg));
// if there is no valid class list, do not load any file.
if (textclasslist.empty())
if (!pimpl_->files_to_load_.empty()) {
for_each(pimpl_->files_to_load_.begin(),
pimpl_->files_to_load_.end(),
- bind(&LyXView::loadLyXFile, view, _1, true));
+ bind(&LyXFunc::loadAndViewFile, pimpl_->lyxfunc_, _1, true));
// clear this list to save a few bytes of RAM
pimpl_->files_to_load_.clear();
pimpl_->session_->lastOpened().clear();
// last session, and should be already there (regular files), or should
// not be added at all (help files).
for_each(lastopened.begin(), lastopened.end(),
- bind(&LyXView::loadLyXFile, view, _1, false));
+ bind(&LyXFunc::loadAndViewFile, pimpl_->lyxfunc_, _1, false));
// clear this list to save a few bytes of RAM
pimpl_->session_->lastOpened().clear();
continue;
updateLabels(*buf);
}
-
- // FIXME: Switch to the last loaded Buffer. This must not be the first one
- // because the Buffer won't be connected in this case. The correct solution
- // would be to avoid the manual connection of the current Buffer in LyXView.
- if (!pimpl_->buffer_list_.empty())
- view->setBuffer(pimpl_->buffer_list_.last());
-}
-
-
-LyXView * LyX::newLyXView()
-{
- if (!lyx::use_gui)
- return 0;
-
- // create the main window
- LyXView * view = &pimpl_->application_->createView(geometryArg);
-
- return view;
}
/*
lyxrc.tempdir_path = package().temp_dir().absFilename();
lyxrc.document_path = package().document_dir().absFilename();
+ if (lyxrc.example_path.empty()) {
+ lyxrc.example_path = addPath(package().system_support().absFilename(),
+ "examples");
+ }
if (lyxrc.template_path.empty()) {
lyxrc.template_path = addPath(package().system_support().absFilename(),
"templates");
//setGuiLanguage(lyxrc.gui_language);
// Set up command definitions
- pimpl_->toplevel_cmddef_.reset(new CmdDef);
- pimpl_->toplevel_cmddef_->read(lyxrc.def_file);
+ pimpl_->toplevel_cmddef_.read(lyxrc.def_file);
// Set up bindings
- pimpl_->toplevel_keymap_.reset(new KeyMap);
- pimpl_->toplevel_keymap_->read("site");
- pimpl_->toplevel_keymap_->read(lyxrc.bind_file);
+ pimpl_->toplevel_keymap_.read("site");
+ pimpl_->toplevel_keymap_.read(lyxrc.bind_file);
// load user bind file user.bind
- pimpl_->toplevel_keymap_->read("user");
+ pimpl_->toplevel_keymap_.read("user");
- pimpl_->lyxfunc_.initKeySequences(pimpl_->toplevel_keymap_.get());
+ pimpl_->lyxfunc_.initKeySequences(&pimpl_->toplevel_keymap_);
// Read menus
if (!readUIFile(lyxrc.ui_file))