X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FGuiImplementation.cpp;h=344f7954ca5383764ed40470de85a6483b8cdefa;hb=50de85396c785a454fe07b77d815c57f3e462282;hp=699bb8d59993791e610476b2029bd0eba5721fbe;hpb=00e305c9d9bd8b0ff54b6c58adb6192d5934ed60;p=lyx.git diff --git a/src/frontends/qt4/GuiImplementation.cpp b/src/frontends/qt4/GuiImplementation.cpp index 699bb8d599..344f7954ca 100644 --- a/src/frontends/qt4/GuiImplementation.cpp +++ b/src/frontends/qt4/GuiImplementation.cpp @@ -12,27 +12,17 @@ #include -// This include must be declared before everything else because -// of boost/Qt/LyX clash... -#include "GuiView.h" - #include "GuiImplementation.h" -#include "GuiWorkArea.h" -#include "BufferView.h" -#include "BufferList.h" -#include "FuncRequest.h" -#include "LyXFunc.h" +#include "GuiView.h" #include -using boost::shared_ptr; - namespace { template - void updateIds(std::map const & stdmap, std::vector & ids) + void updateIds(std::map const & stdmap, std::vector & ids) { ids.clear(); typename std::map::const_iterator it; @@ -49,7 +39,6 @@ namespace frontend { GuiImplementation::GuiImplementation() { view_ids_.clear(); - work_area_ids_.clear(); } @@ -59,7 +48,7 @@ LyXView& GuiImplementation::createRegisteredView() int id = 0; while (views_.find(id) != views_.end()) id++; - views_.insert(std::pair(id, new GuiView(id))); + views_.insert(std::pair(id, new GuiViewBase(id))); updateIds(views_, view_ids_); return *views_[id]; } @@ -71,12 +60,9 @@ bool GuiImplementation::unregisterView(int id) BOOST_ASSERT(views_.find(id) != views_.end()); BOOST_ASSERT(views_[id]); - std::map::iterator it; + std::map::iterator it; for (it = views_.begin(); it != views_.end(); ++it) { if (it->first == id) { - std::vector const & wa_ids = it->second->workAreaIds(); - for (size_t i = 0; i < wa_ids.size(); ++i) - work_areas_.erase(wa_ids[i]); views_.erase(id); break; } @@ -96,21 +82,19 @@ bool GuiImplementation::closeAllViews() return true; } - std::map const cmap = views_; - std::map::const_iterator it; + std::map const cmap = views_; + std::map::const_iterator it; for (it = cmap.begin(); it != cmap.end(); ++it) { // TODO: return false when close event was ignored // e.g. quitWriteAll()->'Cancel' // maybe we need something like 'bool closeView()' - it->second->close(); + it->second->close(); // unregisterd by the CloseEvent } views_.clear(); - work_areas_.clear(); view_ids_.clear(); - work_area_ids_.clear(); return true; } @@ -122,43 +106,6 @@ LyXView& GuiImplementation::view(int id) const } -std::vector const & GuiImplementation::workAreaIds() -{ - updateIds(work_areas_, work_area_ids_); - return work_area_ids_; -} - - -int GuiImplementation::newWorkArea(unsigned int w, unsigned int h, int view_id) -{ - updateIds(views_, view_ids_); - int id = 0; - while (work_areas_.find(id) != work_areas_.end()) - id++; - - GuiView * view = views_[view_id]; - - work_areas_.insert(std::pair - (id, new GuiWorkArea(w, h, id, *view))); - - // FIXME BufferView creation should be independant of WorkArea creation - buffer_views_[id].reset(new BufferView); - work_areas_[id]->setBufferView(buffer_views_[id].get()); - - view->setWorkArea(work_areas_[id]); - view->initTab(work_areas_[id]); - - return id; -} - - -WorkArea& GuiImplementation::workArea(int id) -{ - BOOST_ASSERT(work_areas_.find(id) != work_areas_.end()); - return *work_areas_[id]; -} - - } // namespace frontend } // namespace lyx