mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-25 02:49:46 +00:00
75 lines
1.2 KiB
C++
75 lines
1.2 KiB
C++
// -*- C++ -*-
|
|
/**
|
|
* \file WorkAreaManager.cpp
|
|
* 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.
|
|
*/
|
|
|
|
#include <config.h>
|
|
|
|
#include "WorkAreaManager.h"
|
|
|
|
#include "Application.h"
|
|
#include "WorkArea.h"
|
|
|
|
|
|
namespace lyx {
|
|
namespace frontend {
|
|
|
|
void WorkAreaManager::add(WorkArea * wa)
|
|
{
|
|
work_areas_.push_back(wa);
|
|
}
|
|
|
|
|
|
void WorkAreaManager::remove(WorkArea * wa)
|
|
{
|
|
work_areas_.remove(wa);
|
|
}
|
|
|
|
|
|
void WorkAreaManager::redrawAll(bool update_metrics)
|
|
{
|
|
for (WorkArea * wa : work_areas_)
|
|
wa->scheduleRedraw(update_metrics);
|
|
}
|
|
|
|
|
|
void WorkAreaManager::closeAll()
|
|
{
|
|
while (!work_areas_.empty())
|
|
// WorkArea is de-registering itself.
|
|
(*work_areas_.begin())->close();
|
|
}
|
|
|
|
|
|
bool WorkAreaManager::unhide(Buffer * buf) const
|
|
{
|
|
if (!work_areas_.empty())
|
|
return true;
|
|
return theApp()->unhide(buf);
|
|
}
|
|
|
|
|
|
void WorkAreaManager::updateTitles()
|
|
{
|
|
for (WorkArea * wa : work_areas_)
|
|
wa->updateWindowTitle();
|
|
}
|
|
|
|
|
|
void WorkAreaManager::scheduleRedraw()
|
|
{
|
|
for (WorkArea * wa : work_areas_)
|
|
wa->scheduleRedraw(true);
|
|
}
|
|
|
|
|
|
} // namespace frontend
|
|
} // namespace lyx
|
|
|