2012-11-22 12:30:02 +00:00
|
|
|
#ifndef CSV_DOC_VIEWMANAGER_H
|
|
|
|
#define CSV_DOC_VIEWMANAGER_H
|
|
|
|
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
namespace CSMDoc
|
|
|
|
{
|
|
|
|
class Document;
|
2012-11-22 13:10:23 +00:00
|
|
|
class DocumentManager;
|
2012-11-22 12:30:02 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
namespace CSVDoc
|
|
|
|
{
|
|
|
|
class View;
|
|
|
|
|
|
|
|
class ViewManager
|
|
|
|
{
|
2012-11-22 13:10:23 +00:00
|
|
|
CSMDoc::DocumentManager& mDocumentManager;
|
2012-11-22 12:30:02 +00:00
|
|
|
std::vector<View *> mViews;
|
2012-11-22 13:10:23 +00:00
|
|
|
std::vector<View *> mClosed;
|
2012-11-22 12:30:02 +00:00
|
|
|
|
|
|
|
// not implemented
|
|
|
|
ViewManager (const ViewManager&);
|
|
|
|
ViewManager& operator= (const ViewManager&);
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
2012-11-22 13:10:23 +00:00
|
|
|
ViewManager (CSMDoc::DocumentManager& documentManager);
|
2012-11-22 12:30:02 +00:00
|
|
|
|
|
|
|
~ViewManager();
|
|
|
|
|
|
|
|
View *addView (CSMDoc::Document *document);
|
|
|
|
///< The ownership of the returned view is not transferred.
|
|
|
|
|
2012-11-22 13:10:23 +00:00
|
|
|
int countViews (const CSMDoc::Document *document) const;
|
|
|
|
///< Return number of views for \a document.
|
|
|
|
|
|
|
|
bool closeRequest (View *view);
|
|
|
|
|
2012-11-22 12:30:02 +00:00
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|