PolycodeEditorManager.cpp 877 B

123456789101112131415161718192021222324252627282930313233343536
  1. #include "PolycodeEditorManager.h"
  2. PolycodeEditorManager::PolycodeEditorManager() {
  3. }
  4. PolycodeEditorManager::~PolycodeEditorManager() {
  5. }
  6. PolycodeEditor *PolycodeEditorManager::createEditorForExtension(string extension) {
  7. for(int i=0;i < editorFactories.size(); i++) {
  8. PolycodeEditorFactory *factory = editorFactories[i];
  9. if(factory->canHandleExtension(extension)) {
  10. PolycodeEditor *editor = factory->createEditor();
  11. openEditors.push_back(editor);
  12. return editor;
  13. }
  14. }
  15. return NULL;
  16. }
  17. PolycodeEditor *PolycodeEditorManager::getEditorForPath(string path) {
  18. for(int i=0; i < openEditors.size();i++) {
  19. PolycodeEditor *editor = openEditors[i];
  20. if(editor->getFilePath() == path)
  21. return editor;
  22. }
  23. return NULL;
  24. }
  25. void PolycodeEditorManager::registerEditorFactory(PolycodeEditorFactory *editorFactory) {
  26. editorFactories.push_back(editorFactory);
  27. }