PolycodeEditorManager.cpp 898 B

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