This commit replaces BufferView->LyXView->Gui->[selection,clipboard] with theApp->[selection,clipboard]

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15125 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Abdelrazak Younes 2006-09-22 15:02:41 +00:00
parent 4fcccf0672
commit 12a82dd4f2
15 changed files with 49 additions and 73 deletions

View File

@ -64,7 +64,6 @@
#include "frontends/Dialogs.h" #include "frontends/Dialogs.h"
#include "frontends/FileDialog.h" #include "frontends/FileDialog.h"
#include "frontends/font_metrics.h" #include "frontends/font_metrics.h"
#include "frontends/Gui.h"
#include "frontends/LyXView.h" #include "frontends/LyXView.h"
#include "frontends/Selection.h" #include "frontends/Selection.h"
@ -84,7 +83,6 @@
using lyx::frontend::Clipboard; using lyx::frontend::Clipboard;
using lyx::frontend::Gui;
using lyx::docstring; using lyx::docstring;
using lyx::pos_type; using lyx::pos_type;

View File

@ -45,7 +45,6 @@
#include "support/lstrings.h" #include "support/lstrings.h"
#include "frontends/Gui.h"
#include "frontends/LyXView.h" #include "frontends/LyXView.h"
#include "frontends/Clipboard.h" #include "frontends/Clipboard.h"
@ -57,7 +56,6 @@ using lyx::textclass_type;
using lyx::support::bformat; using lyx::support::bformat;
using lyx::frontend::Gui;
using lyx::frontend::Clipboard; using lyx::frontend::Clipboard;
using std::endl; using std::endl;
@ -513,8 +511,8 @@ void cutSelection(LCursor & cur, bool doclear, bool realcut)
// solved by running the line below only when the selection has // solved by running the line below only when the selection has
// finished. The solution used currently just works, to make it // finished. The solution used currently just works, to make it
// faster we need to be more clever and probably also have more // faster we need to be more clever and probably also have more
// calls to cur.bv().owner()->gui().selection().put. (Lgb) // calls to theApp->selection().put. (Lgb)
// cur.bv().owner()->gui().selection().put(cur.selectionAsString(true)); // theApp->selection().put(cur.selectionAsString(true));
// make sure that the depth behind the selection are restored, too // make sure that the depth behind the selection are restored, too
@ -578,7 +576,7 @@ void cutSelection(LCursor & cur, bool doclear, bool realcut)
void copySelection(LCursor & cur) void copySelection(LCursor & cur)
{ {
// stuff the selection onto the X clipboard, from an explicit copy request // stuff the selection onto the X clipboard, from an explicit copy request
cur.bv().owner()->gui().clipboard().put(cur.selectionAsString(true)); theApp->clipboard().put(cur.selectionAsString(true));
// this doesn't make sense, if there is no selection // this doesn't make sense, if there is no selection
if (!cur.selection()) if (!cur.selection())

View File

@ -25,8 +25,9 @@ class LyXView;
namespace lyx { namespace lyx {
namespace frontend { namespace frontend {
//class GuiWorkArea; class Clipboard;
class Gui; class Gui;
class Selection;
/// The main application class /// The main application class
@ -50,6 +51,11 @@ public:
/// ///
virtual void exit(int status) = 0; virtual void exit(int status) = 0;
///
virtual Clipboard & clipboard() = 0;
///
virtual Selection & selection() = 0;
/// ///
LyXFunc & lyxFunc(); LyXFunc & lyxFunc();
LyXFunc const & lyxFunc() const; LyXFunc const & lyxFunc() const;

View File

@ -24,8 +24,6 @@ class BufferView;
namespace lyx { namespace lyx {
namespace frontend { namespace frontend {
class Clipboard;
class Selection;
class WorkArea; class WorkArea;
@ -37,11 +35,6 @@ class Gui
public: public:
virtual ~Gui() {} virtual ~Gui() {}
///
virtual Clipboard & clipboard() = 0;
///
virtual Selection & selection() = 0;
/// ///
virtual int newView(unsigned int width, unsigned int height) = 0; virtual int newView(unsigned int width, unsigned int height) = 0;
/// ///

View File

@ -12,7 +12,6 @@
#include <config.h> #include <config.h>
#include "LyXView.h" #include "LyXView.h"
#include "Gui.h"
#include "Dialogs.h" #include "Dialogs.h"
#include "Timeout.h" #include "Timeout.h"
#include "Toolbars.h" #include "Toolbars.h"
@ -50,7 +49,6 @@
# include <unistd.h> # include <unistd.h>
#endif #endif
using lyx::frontend::Gui;
using lyx::frontend::WorkArea; using lyx::frontend::WorkArea;
using lyx::docstring; using lyx::docstring;
@ -65,15 +63,9 @@ using lyx::frontend::ControlCommandBuffer;
string current_layout; string current_layout;
Gui & LyXView::gui()
{
return owner_;
}
LyXView::LyXView()
LyXView::LyXView(Gui & owner)
: work_area_(0), : work_area_(0),
owner_(owner),
toolbars_(new Toolbars(*this)), toolbars_(new Toolbars(*this)),
autosave_timeout_(new Timeout(5000)), autosave_timeout_(new Timeout(5000)),
lyxfunc_(new LyXFunc(this)), lyxfunc_(new LyXFunc(this)),

View File

@ -58,7 +58,7 @@ class ControlCommandBuffer;
class LyXView : public boost::signals::trackable, boost::noncopyable { class LyXView : public boost::signals::trackable, boost::noncopyable {
public: public:
LyXView(lyx::frontend::Gui & owner); LyXView();
virtual ~LyXView(); virtual ~LyXView();
@ -162,9 +162,6 @@ public:
/// returns true if this view has the focus. /// returns true if this view has the focus.
virtual bool hasFocus() const = 0; virtual bool hasFocus() const = 0;
///
virtual lyx::frontend::Gui & gui();
/// Temporary method used by the kernel to redraw the work area. /// Temporary method used by the kernel to redraw the work area.
virtual void redrawWorkArea(); virtual void redrawWorkArea();
@ -191,7 +188,6 @@ protected:
boost::scoped_ptr<Menubar> menubar_; boost::scoped_ptr<Menubar> menubar_;
private: private:
lyx::frontend::Gui & owner_;
/** /**
* setWindowTitle - set title of window * setWindowTitle - set title of window
* @param t main window title * @param t main window title

View File

@ -137,6 +137,18 @@ GuiApplication::GuiApplication(int & argc, char ** argv)
} }
Clipboard& GuiApplication::clipboard()
{
return clipboard_;
}
Selection& GuiApplication::selection()
{
return selection_;
}
int const GuiApplication::exec() int const GuiApplication::exec()
{ {
return QApplication::exec(); return QApplication::exec();

View File

@ -13,8 +13,10 @@
#ifndef QT4_APPLICATION_H #ifndef QT4_APPLICATION_H
#define QT4_APPLICATION_H #define QT4_APPLICATION_H
#include "GuiImplementation.h"
#include "FontLoader.h" #include "FontLoader.h"
#include "GuiClipboard.h"
#include "GuiImplementation.h"
#include "GuiSelection.h"
#include "frontends/Application.h" #include "frontends/Application.h"
@ -50,6 +52,8 @@ public:
/// Method inherited from \c Application class /// Method inherited from \c Application class
//@{ //@{
virtual Clipboard& clipboard();
virtual Selection& selection();
virtual int const exec(); virtual int const exec();
virtual Gui & gui() { return gui_; } virtual Gui & gui() { return gui_; }
virtual void exit(int status); virtual void exit(int status);
@ -65,7 +69,10 @@ public:
private: private:
/// ///
GuiImplementation gui_; GuiImplementation gui_;
///
GuiClipboard clipboard_;
///
GuiSelection selection_;
/// ///
FontLoader font_loader_; FontLoader font_loader_;

View File

@ -31,24 +31,12 @@ GuiImplementation::GuiImplementation(): max_view_id_(0), max_wa_id_(0)
} }
Clipboard& GuiImplementation::clipboard()
{
return clipboard_;
}
Selection& GuiImplementation::selection()
{
return selection_;
}
int GuiImplementation::newView(unsigned int /*w*/, unsigned int /*h*/) int GuiImplementation::newView(unsigned int /*w*/, unsigned int /*h*/)
{ {
size_t const id = max_view_id_; size_t const id = max_view_id_;
++max_view_id_; ++max_view_id_;
views_[id].reset(new GuiView(*this)); views_[id].reset(new GuiView());
return id; return id;
} }

View File

@ -14,8 +14,6 @@
#define GUI_H #define GUI_H
#include "frontends/Gui.h" #include "frontends/Gui.h"
#include "GuiClipboard.h"
#include "GuiSelection.h"
#include <boost/shared_ptr.hpp> #include <boost/shared_ptr.hpp>
@ -38,9 +36,6 @@ public:
GuiImplementation(); GuiImplementation();
virtual ~GuiImplementation() {} virtual ~GuiImplementation() {}
Clipboard& clipboard();
Selection& selection();
int newView(unsigned int width, unsigned int height); int newView(unsigned int width, unsigned int height);
LyXView& view(int id); LyXView& view(int id);
void destroyView(int id); void destroyView(int id);
@ -51,10 +46,6 @@ public:
private: private:
///
GuiClipboard clipboard_;
///
GuiSelection selection_;
/// ///
std::map<int, boost::shared_ptr<GuiView> > views_; std::map<int, boost::shared_ptr<GuiView> > views_;
/// ///

View File

@ -68,8 +68,8 @@ int const statusbar_timer_value = 3000;
} // namespace anon } // namespace anon
GuiView::GuiView(Gui & owner) GuiView::GuiView()
: QMainWindow(), LyXView(owner), commandbuffer_(0) : QMainWindow(), LyXView(), commandbuffer_(0)
{ {
// setToolButtonStyle(Qt::ToolButtonIconOnly); // setToolButtonStyle(Qt::ToolButtonIconOnly);
// setIconSize(QSize(12,12)); // setIconSize(QSize(12,12));

View File

@ -47,7 +47,7 @@ class GuiView : public QMainWindow, public LyXView {
Q_OBJECT Q_OBJECT
public: public:
/// create a main window of the given dimensions /// create a main window of the given dimensions
GuiView(Gui & owner); GuiView();
~GuiView(); ~GuiView();

View File

@ -38,7 +38,6 @@
#include "frontends/Alert.h" #include "frontends/Alert.h"
#include "frontends/font_metrics.h" #include "frontends/font_metrics.h"
#include "frontends/Gui.h"
#include "frontends/LyXView.h" #include "frontends/LyXView.h"
#include "frontends/Clipboard.h" #include "frontends/Clipboard.h"
#include "frontends/Painter.h" #include "frontends/Painter.h"
@ -59,7 +58,6 @@ using lyx::graphics::PreviewLoader;
using lyx::support::ltrim; using lyx::support::ltrim;
using lyx::frontend::Painter; using lyx::frontend::Painter;
using lyx::frontend::Gui;
using lyx::frontend::Clipboard; using lyx::frontend::Clipboard;
using boost::shared_ptr; using boost::shared_ptr;
@ -700,8 +698,8 @@ void InsetTabular::doDispatch(LCursor & cur, FuncRequest & cmd)
case LFUN_CLIPBOARD_PASTE: case LFUN_CLIPBOARD_PASTE:
case LFUN_PRIMARY_SELECTION_PASTE: { case LFUN_PRIMARY_SELECTION_PASTE: {
docstring const clip = (cmd.action == LFUN_CLIPBOARD_PASTE) ? docstring const clip = (cmd.action == LFUN_CLIPBOARD_PASTE) ?
cur.bv().owner()->gui().clipboard().get() : theApp->clipboard().get() :
cur.bv().owner()->gui().selection().get(); theApp->selection().get();
if (clip.empty()) if (clip.empty())
break; break;
// pass to InsertAsciiString, but // pass to InsertAsciiString, but
@ -1780,7 +1778,7 @@ bool InsetTabular::copySelection(LCursor & cur)
ostringstream os; ostringstream os;
OutputParams const runparams; OutputParams const runparams;
paste_tabular->plaintext(cur.buffer(), os, runparams, 0, true, '\t'); paste_tabular->plaintext(cur.buffer(), os, runparams, 0, true, '\t');
cur.bv().owner()->gui().clipboard().put(lyx::from_utf8(os.str())); theApp->clipboard().put(lyx::from_utf8(os.str()));
// mark tabular stack dirty // mark tabular stack dirty
// FIXME: this is a workaround for bug 1919. Should be removed for 1.5, // FIXME: this is a workaround for bug 1919. Should be removed for 1.5,
// when we (hopefully) have a one-for-all paste mechanism. // when we (hopefully) have a one-for-all paste mechanism.

View File

@ -50,7 +50,6 @@
#include "support/lstrings.h" #include "support/lstrings.h"
#include "frontends/Dialogs.h" #include "frontends/Dialogs.h"
#include "frontends/Gui.h"
#include "frontends/LyXView.h" #include "frontends/LyXView.h"
#include "frontends/Painter.h" #include "frontends/Painter.h"
#include "frontends/Selection.h" #include "frontends/Selection.h"
@ -64,7 +63,6 @@ using lyx::cap::cutSelection;
using lyx::cap::replaceSelection; using lyx::cap::replaceSelection;
using lyx::cap::selClearOrDel; using lyx::cap::selClearOrDel;
using lyx::frontend::Gui;
using lyx::frontend::Clipboard; using lyx::frontend::Clipboard;
using std::endl; using std::endl;
@ -1089,7 +1087,7 @@ void InsetMathNest::lfunMousePress(LCursor & cur, FuncRequest & cmd)
if (cur.selection()) if (cur.selection())
asArray(lyx::to_utf8(bv.cursor().selectionAsString(false)), ar); asArray(lyx::to_utf8(bv.cursor().selectionAsString(false)), ar);
else else
asArray(lyx::to_utf8(bv.owner()->gui().selection().get()), ar); asArray(lyx::to_utf8(theApp->selection().get()), ar);
cur.insert(ar); cur.insert(ar);
bv.mouseSetCursor(cur); bv.mouseSetCursor(cur);
@ -1120,7 +1118,7 @@ void InsetMathNest::lfunMouseRelease(LCursor & cur, FuncRequest & cmd)
//lyxerr << "## lfunMouseRelease: buttons: " << cmd.button() << endl; //lyxerr << "## lfunMouseRelease: buttons: " << cmd.button() << endl;
if (cmd.button() == mouse_button::button1) { if (cmd.button() == mouse_button::button1) {
//cur.bv().owner()->gui().selection().put(cur.grabSelection()); //theApp->selection().put(cur.grabSelection());
return; return;
} }

View File

@ -48,7 +48,6 @@
#include "pariterator.h" #include "pariterator.h"
#include "frontends/Dialogs.h" #include "frontends/Dialogs.h"
#include "frontends/Gui.h"
#include "frontends/LyXView.h" #include "frontends/LyXView.h"
#include "frontends/Clipboard.h" #include "frontends/Clipboard.h"
#include "frontends/Selection.h" #include "frontends/Selection.h"
@ -125,7 +124,7 @@ namespace {
if (selecting || cur.mark()) if (selecting || cur.mark())
cur.setSelection(); cur.setSelection();
if (!cur.selection()) if (!cur.selection())
cur.bv().owner()->gui().selection().haveSelection(false); theApp->selection().haveSelection(false);
cur.bv().switchKeyMap(); cur.bv().switchKeyMap();
} }
@ -883,7 +882,7 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd)
case LFUN_CLIPBOARD_PASTE: { case LFUN_CLIPBOARD_PASTE: {
cur.clearSelection(); cur.clearSelection();
docstring const clip = bv->owner()->gui().clipboard().get(); docstring const clip = theApp->clipboard().get();
if (!clip.empty()) { if (!clip.empty()) {
recordUndo(cur); recordUndo(cur);
if (cmd.argument() == "paragraph") if (cmd.argument() == "paragraph")
@ -896,7 +895,7 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd)
case LFUN_PRIMARY_SELECTION_PASTE: { case LFUN_PRIMARY_SELECTION_PASTE: {
cur.clearSelection(); cur.clearSelection();
docstring const clip = bv->owner()->gui().selection().get(); docstring const clip = theApp->selection().get();
if (!clip.empty()) { if (!clip.empty()) {
recordUndo(cur); recordUndo(cur);
if (cmd.argument() == "paragraph") if (cmd.argument() == "paragraph")
@ -956,7 +955,7 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd)
cursorEnd(cur); cursorEnd(cur);
cur.setSelection(); cur.setSelection();
bv->cursor() = cur; bv->cursor() = cur;
bv->owner()->gui().selection().haveSelection(cur.selection()); theApp->selection().haveSelection(cur.selection());
} }
break; break;
@ -964,7 +963,7 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd)
if (cmd.button() == mouse_button::button1) { if (cmd.button() == mouse_button::button1) {
selectWord(cur, lyx::WHOLE_WORD_STRICT); selectWord(cur, lyx::WHOLE_WORD_STRICT);
bv->cursor() = cur; bv->cursor() = cur;
bv->owner()->gui().selection().haveSelection(cur.selection()); theApp->selection().haveSelection(cur.selection());
} }
break; break;
@ -1046,7 +1045,7 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd)
// finish selection // finish selection
if (cmd.button() == mouse_button::button1) if (cmd.button() == mouse_button::button1)
bv->owner()->gui().selection().haveSelection(cur.selection()); theApp->selection().haveSelection(cur.selection());
bv->switchKeyMap(); bv->switchKeyMap();
bv->owner()->updateMenubar(); bv->owner()->updateMenubar();
@ -1067,7 +1066,7 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd)
if (lyxrc.auto_region_delete) { if (lyxrc.auto_region_delete) {
if (cur.selection()) if (cur.selection())
cutSelection(cur, false, false); cutSelection(cur, false, false);
bv->owner()->gui().selection().haveSelection(false); theApp->selection().haveSelection(false);
} }
cur.clearSelection(); cur.clearSelection();