lyx_mirror/src/frontends/WorkAreaManager.h

59 lines
1.0 KiB
C
Raw Normal View History

// -*- C++ -*-
/**
* \file WorkAreaManager.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author Abdelrazak Younes
*
* Full author contact details are available in file CREDITS.
*/
#ifndef WORKAREA_MANAGER_H
#define WORKAREA_MANAGER_H
#include <list>
namespace lyx {
namespace frontend {
class WorkArea;
/// \c WorkArea Manager.
/**
* This is a helper class designed to avoid signal/slot connections
* between a \c Buffer and the potentially multiple \c WorkArea(s)
* used to visualize this Buffer contents.
*/
class WorkAreaManager
{
public:
WorkAreaManager() {}
///
void add(WorkArea * wa);
///
void remove(WorkArea * wa);
///
void redrawAll();
///
void closeAll();
/// This function is called when the buffer readonly status change.
virtual void setReadOnly(bool);
/// Update window titles of all users.
virtual void updateTitles();
private:
std::list<WorkArea *> work_areas_;
};
} // namespace frontend
} // namespace lyx
#endif // BASE_WORKAREA_H