]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/WorkAreaManager.cpp
Add missing initialization
[lyx.git] / src / frontends / WorkAreaManager.cpp
index e846cc1aff2835254c0af0c5d870970e95209e5a..f938db4eb9d80306f6da263e11be708325b934d7 100644 (file)
 
 #include <config.h>
 
+#include "WorkAreaManager.h"
+
 #include "WorkArea.h"
 
-#include "WorkAreaManager.h"
 
 namespace lyx {
 namespace frontend {
@@ -23,16 +24,36 @@ void WorkAreaManager::add(WorkArea * wa)
        work_areas_.push_back(wa);
 }
 
-void WorkAreaManager::redrawAll()
+
+void WorkAreaManager::remove(WorkArea * wa)
 {
-       for (size_t i = 0; i != work_areas_.size(); ++i)
-               work_areas_[i]->redraw();
+       work_areas_.remove(wa);
 }
 
+
+void WorkAreaManager::redrawAll(bool update_metrics)
+{
+       iterator it = work_areas_.begin();
+       iterator const en = work_areas_.end();
+       for (; it != en; ++it)
+               (*it)->redraw(update_metrics);
+}
+
+
 void WorkAreaManager::closeAll()
 {
-       for (size_t i = 0; i != work_areas_.size(); ++i)
-               work_areas_[i]->close();
+       while (!work_areas_.empty())
+               // WorkArea is de-registering itself.
+               (*work_areas_.begin())->close();
+}
+
+
+void WorkAreaManager::updateTitles()
+{
+       iterator it = work_areas_.begin();
+       iterator const en = work_areas_.end();
+       for (; it != en; ++it)
+               (*it)->updateWindowTitle();
 }
 
 } // namespace frontend