protected void addPages()

in CasViewerEclipsePlugin/uimaj-ep-casviewer/src/main/java/org/apache/uima/casviewer/viewer/internal/GenericCasViewer.java [445:525]


    protected void addPages()
    {               
        // Create BaseCASObject from file or CAS
        if ( createBaseCASObject () == null ) {
            // Give up
            return;
        }
        
        /*********************************************************************/
        
        // Create a list of type's names from the Type System Tree
        // (no built-in types and sorted by Short Name)
        List<TypeDescription> types = baseCASObject.getTypeTree().getTypeListFromHierarchy(false, true);
        types.remove(baseCASObject.getTypeTree().getRoot().getObject());
        List<String> typeNames = new ArrayList<String>(types.size());
        for (int i=0; i<types.size(); ++i) {
            typeNames.add(types.get(i).getName());
        }        
        
        // Create Type System's Style Object
        // This TS style will be passed to each CASViewPage (pass to CASViewControl)
        // It implies that ALL pages (sofas) will SHARE the same style.
        typesystemStyle = TypeSystemStyle.createInstance(null);
        // typesystemStyle.preSelectAllAnnotations(prefPreselectAll);
        if (preSelectedTypeNames == null && prefPreselectAll) {
            // "preSelectedTypeNames" is passed through GenericEditorInput
            // So, give "preSelectedTypeNames" high priority over Preferences's prefPreselectAll
            preSelectedTypeNames = typeNames;
        }
        
        // Get style file and apply, if any
        File styleFile = null;
        if (typesystemStyleFile != null) {
            // TS style file in specified as input
            styleFile = new File (typesystemStyleFile);
            if (!styleFile.exists()) {
                styleFile = null;
            }
        } else if (inputIsFile) {
            // Try to get TS style file based on input file name
            styleFile = getStyleFile (inputFileName, ".style.xml");
            if (styleFile != null) {
                typesystemStyleFile = styleFile.getAbsolutePath();
            }
        }
        // Has imported styles ?
//        if (styleFile != null) {
//            Trace.err("Import style: " + styleFile.getName());
//            // All styles from imported file will be used (instead of default styles)
//            typesystemStyle.importAndApplyStyleMapFile(typeNames, styleFile);
//        } else {
//            // No Import. Assign "default" style to each type.
//            typesystemStyle.assignStyleToTypes(typeNames);
//        }        
        typesystemStyle.assignStyleToTypes(typeNames, styleFile);

        /*********************************************************************/
        
        createPagesFromCASObject (baseCASObject);
        pageZeroText = getPageText(0);
        
        // Select some types ?
        if (preSelectedTypeNames != null) {
            selectTypesByName(preSelectedTypeNames);
        }
        
        /*********************************************************************/
        
        preferencePage = CorePreferencePage.createInstance(this, typesystemStyle, null);
        try {
            // Show/Hide Preference Page
            if (!prefHidePreferencePage) {
                preferencePageIndex = addPage(preferencePage);
            }
        } catch (PartInitException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        // Display current type styles
        preferencePage.setDefaultTypeStyles(typesystemStyle.getCurrentTypeStyleList());       
    }