metaforce/specter/include/Specter/IViewManager.hpp

36 lines
994 B
C++
Raw Normal View History

2015-12-31 03:19:03 +00:00
#ifndef SPECTER_IVIEWMANAGER_HPP
#define SPECTER_IVIEWMANAGER_HPP
#include "Translator.hpp"
2016-01-11 01:46:58 +00:00
#include "SplitView.hpp"
#include <HECL/HECL.hpp>
2015-12-31 03:19:03 +00:00
namespace Specter
{
2016-01-11 01:46:58 +00:00
struct ISplitSpaceController;
2015-12-31 03:19:03 +00:00
struct IViewManager
{
public:
virtual const Translator* getTranslator() const {return nullptr;}
virtual std::string translateOr(const std::string& key, const char* vor) const
{
const Translator* trans = getTranslator();
if (trans)
return trans->translateOr(key, vor);
return vor;
}
2016-01-11 01:46:58 +00:00
virtual void deferSpaceSplit(ISplitSpaceController* split, SplitView::Axis axis, int thisSlot) {}
virtual const std::vector<HECL::SystemString>* recentProjects() const {return nullptr;}
virtual void pushRecentProject(const HECL::SystemString& path) {}
virtual const std::vector<HECL::SystemString>* recentFiles() const {return nullptr;}
virtual void pushRecentFile(const HECL::SystemString& path) {}
2015-12-31 03:19:03 +00:00
};
}
#endif // SPECTER_IVIEWMANAGER_HPP