Mercurial > hg > truffle
view src/share/tools/IdealGraphVisualizer/Text Editor/src/at/ssw/visualizer/texteditor/fold/FoldManager.java @ 2843:6960cc79f664
IdealGraphVisualizer: Import editor component from C1XVisualizer
author | Peter Hofer <peter.hofer@jku.at> |
---|---|
date | Wed, 01 Jun 2011 15:22:40 +0200 |
parents | |
children |
line wrap: on
line source
package at.ssw.visualizer.texteditor.fold; import at.ssw.visualizer.texteditor.model.FoldingRegion; import at.ssw.visualizer.texteditor.model.Text; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JComponent; import javax.swing.event.DocumentEvent; import javax.swing.text.BadLocationException; import javax.swing.text.Document; import javax.swing.text.JTextComponent; import org.netbeans.api.editor.fold.Fold; import org.netbeans.editor.CodeFoldingSideBar; import org.netbeans.spi.editor.fold.FoldHierarchyTransaction; import org.netbeans.spi.editor.fold.FoldOperation; /** * * @author Alexander Reder */ public class FoldManager implements org.netbeans.spi.editor.fold.FoldManager { protected FoldOperation operation; public void init(FoldOperation operation) { this.operation = operation; } public void initFolds(FoldHierarchyTransaction transaction) { Document document = operation.getHierarchy().getComponent().getDocument(); Text text = (Text) document.getProperty(Text.class); if (document.getLength() == 0 || text == null) { return; } try { for (FoldingRegion fr : text.getFoldings()) { operation.addToHierarchy(fr.getKind(), fr.getKind().toString(), fr.isInitiallyCollapsed(), fr.getStart(), fr.getEnd(), 0, 0, null, transaction); } } catch (BadLocationException ex) { Logger logger = Logger.getLogger(FoldManager.class.getName()); logger.log(Level.SEVERE, ex.getMessage(), ex); } } public void insertUpdate(DocumentEvent arg0, FoldHierarchyTransaction arg1) { } public void removeUpdate(DocumentEvent arg0, FoldHierarchyTransaction arg1) { } public void changedUpdate(DocumentEvent arg0, FoldHierarchyTransaction arg1) { } public void removeEmptyNotify(Fold arg0) { } public void removeDamagedNotify(Fold arg0) { } public void expandNotify(Fold arg0) { } public void release() { } public static class FoldManagerFactory implements org.netbeans.spi.editor.fold.FoldManagerFactory { public FoldManager createFoldManager() { return new FoldManager(); } } public static class SideBarFactory implements org.netbeans.editor.SideBarFactory { public JComponent createSideBar(JTextComponent target) { return new CodeFoldingSideBar(target); } } }