#include "frontends/alert.h"
#include "frontends/Application.h"
-#include "frontends/Dialogs.h"
#include "frontends/Gui.h"
#include "frontends/LyXView.h"
{
if (quitting || !inset)
return 0;
-
- Buffer const * buffer_ptr = 0;
- vector<int> const & view_ids = pimpl_->application_->gui().viewIds();
- vector<int>::const_iterator it = view_ids.begin();
- vector<int>::const_iterator const end = view_ids.end();
- for (; it != end; ++it) {
- Buffer const * ptr =
- pimpl_->application_->gui().view(*it).updateInset(inset);
- if (ptr)
- buffer_ptr = ptr;
- }
- return buffer_ptr;
+ return application().gui().updateInset(inset);
}
{
if (quitting || !use_gui)
return;
-
- vector<int> const & view_ids = pimpl_->application_->gui().viewIds();
- vector<int>::const_iterator it = view_ids.begin();
- vector<int>::const_iterator const end = view_ids.end();
- for (; it != end; ++it)
- pimpl_->application_->gui().view(*it).getDialogs().
- hide(name, inset);
+ application().gui().hideDialogs(name, inset);
}
namespace Alert = frontend::Alert;
extern bool quitting;
+extern bool use_gui;
namespace {
break;
}
- case LFUN_DIALOG_HIDE:
+ case LFUN_DIALOG_HIDE: {
LyX::cref().hideDialogs(argument, 0);
break;
+ }
case LFUN_DIALOG_TOGGLE: {
BOOST_ASSERT(lyx_view_);
///
virtual Gui & gui() = 0;
+ virtual Gui const & gui() const = 0;
/// Start the main event loop.
/// The batch command is programmed to be execute once
#ifndef BASE_GUI_H
#define BASE_GUI_H
+#include "support/strfwd.h"
+
#include <vector>
+
namespace lyx {
+
+class Buffer;
+class Inset;
+
namespace frontend {
class LyXView;
///
std::vector<int> const & viewIds() { return view_ids_; }
+ ///
+ virtual void hideDialogs(std::string const & name, Inset * inset) const = 0;
+ ///
+ virtual Buffer const * updateInset(Inset const * inset) const = 0;
+
protected:
///
std::vector<int> view_ids_;
virtual FontLoader & fontLoader() { return font_loader_; }
virtual int exec();
virtual Gui & gui() { return gui_; }
+ virtual Gui const & gui() const { return gui_; }
virtual void exit(int status);
virtual bool event(QEvent * e);
void syncEvents();
#include "GuiImplementation.h"
#include "GuiView.h"
+#include "Dialogs.h"
#include <boost/assert.hpp>
using std::map;
using std::vector;
+using std::string;
namespace lyx {
}
+void GuiImplementation::hideDialogs(string const & name, Inset * inset) const
+{
+ vector<int>::const_iterator it = view_ids_.begin();
+ vector<int>::const_iterator const end = view_ids_.end();
+ for (; it != end; ++it)
+ view(*it).getDialogs().hide(name, inset);
+}
+
+
+Buffer const * GuiImplementation::updateInset(Inset const * inset) const
+{
+ Buffer const * buffer_ptr = 0;
+ vector<int>::const_iterator it = view_ids_.begin();
+ vector<int>::const_iterator const end = view_ids_.end();
+ for (; it != end; ++it) {
+ Buffer const * ptr = view(*it).updateInset(inset);
+ if (ptr)
+ buffer_ptr = ptr;
+ }
+ return buffer_ptr;
+}
+
+
} // namespace frontend
} // namespace lyx
virtual bool unregisterView(int id);
virtual LyXView& view(int id) const;
+ ///
+ virtual void hideDialogs(std::string const & name, Inset * inset) const;
+ ///
+ virtual Buffer const * updateInset(Inset const * inset) const;
private:
-
/// Multiple views container.
/**
* Warning: This must not be a smart pointer as the destruction of the