3 * \file WorkAreaManager.h
4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
7 * \author Abdelrazak Younes
9 * Full author contact details are available in file CREDITS.
12 #ifndef WORKAREA_MANAGER_H
13 #define WORKAREA_MANAGER_H
25 /// \c WorkArea Manager.
27 * This is a helper class designed to avoid signal/slot connections
28 * between a \c Buffer and the potentially multiple \c WorkArea(s)
29 * used to visualize this Buffer contents.
37 void add(WorkArea * wa);
39 void remove(WorkArea * wa);
41 void redrawAll(bool update_metrics);
44 /// Update window titles of all users and the external modifications
47 /// If there is no work area, create a new one in the current view using the
48 /// buffer buf. Returns false if not possible.
49 bool unhide(Buffer * buf) const;
52 typedef std::list<WorkArea *>::iterator iterator;
54 std::list<WorkArea *> work_areas_;
57 } // namespace frontend
60 #endif // BASE_WORKAREA_H