protected ProjectAbstractTreeStructureBase createStructure()

in code_samples/project_view_pane/src/main/java/org/intellij/sdk/view/pane/ImagesProjectViewPane.java [71:93]


  protected ProjectAbstractTreeStructureBase createStructure() {
    return new ProjectTreeStructure(myProject, ID) {
      @Override
      protected ImagesProjectNode createRoot(@NotNull Project project, @NotNull ViewSettings settings) {
        return new ImagesProjectNode(project, settings, getProjectDir(project), ImagesProjectViewPane.this);
      }

      @NotNull
      private static VirtualFile getProjectDir(Project project) {
        VirtualFile guessedProjectDir = ProjectUtil.guessProjectDir(project);
        if (guessedProjectDir == null) {
          throw new IllegalStateException("Could not get project directory");
        }
        return guessedProjectDir;
      }

      // Children will be searched in async mode
      @Override
      public boolean isToBuildChildrenInBackground(@NotNull Object element) {
        return true;
      }
    };
  }