From: Dale A. <dal...@us...> - 2006-04-20 06:25:06
|
Update of /cvsroot/jedit/plugins/HtmlSideKick/src/sidekick/html In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28970/src/sidekick/html Modified Files: HtmlParser.java HtmlSideKickPlugin.java Log Message: updates for better handling of jsp tags Index: HtmlSideKickPlugin.java =================================================================== RCS file: /cvsroot/jedit/plugins/HtmlSideKick/src/sidekick/html/HtmlSideKickPlugin.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- HtmlSideKickPlugin.java 15 Apr 2006 04:53:54 -0000 1.1 +++ HtmlSideKickPlugin.java 20 Apr 2006 04:35:47 -0000 1.2 @@ -27,9 +27,52 @@ */ package sidekick.html; +import java.util.HashMap; + import org.gjt.sp.jedit.*; +import org.gjt.sp.jedit.gui.DockableWindowManager; +import sidekick.enhanced.SourceTree; public class HtmlSideKickPlugin extends EditPlugin { public final static String NAME = "sidekick.html"; + + public static final String INIT_DONE = "sidekick.HtmlParser.initDone"; + private static HashMap parserRegister = new HashMap(); + + public static void registerParser(View view, HtmlParser parser) { + parserRegister.put(view, parser); + initPopup(view); + } + + public static void unregisterParser(View view) { + parserRegister.remove(view); + } + + private static void initPopup(View view) { + Boolean init_done = (Boolean)view.getRootPane().getClientProperty(INIT_DONE); + if (init_done != null && init_done.booleanValue()){ + return; + } + + // add popup menu items + DockableWindowManager wm = view.getDockableWindowManager(); + SourceTree tree = (SourceTree) (wm.getDockable("sidekick-tree")); + if (tree != null) { + tree.addPopupEntry("htmlsidekick-showall", "Show All"); + view.getRootPane().putClientProperty(INIT_DONE, Boolean.TRUE); + } + else { + view.getRootPane().putClientProperty(INIT_DONE, Boolean.FALSE); + } + } + + public static void toggleShowAll(View view) { + HtmlParser parser = (HtmlParser)parserRegister.get(view); + if (parser != null) { + parser.toggleShowAll(); + parser.parse(); + } + } + } Index: HtmlParser.java =================================================================== RCS file: /cvsroot/jedit/plugins/HtmlSideKick/src/sidekick/html/HtmlParser.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- HtmlParser.java 15 Apr 2006 04:53:54 -0000 1.1 +++ HtmlParser.java 20 Apr 2006 04:35:47 -0000 1.2 @@ -34,17 +34,20 @@ import javax.swing.text.Position; import javax.swing.tree.DefaultMutableTreeNode; +import sidekick.*; +import sidekick.enhanced.SourceTree; import sidekick.html.parser.html.*; import org.gjt.sp.jedit.*; +import org.gjt.sp.jedit.gui.DockableWindowManager; import org.gjt.sp.jedit.msg.*; import org.gjt.sp.util.*; import errorlist.*; -import sidekick.*; public class HtmlParser extends SideKickParser implements EBComponent { private View currentView = null; + public static boolean showAll = false; public HtmlParser() { super( "html" ); @@ -61,13 +64,20 @@ super.activate( editPane ); currentView = editPane.getView(); EditBus.addToBus( this ); + HtmlSideKickPlugin.registerParser(currentView, this); } public void deactivate( EditPane editPane ) { super.deactivate( editPane ); EditBus.removeFromBus( this ); + HtmlSideKickPlugin.unregisterParser(currentView); } + + protected void toggleShowAll() { + showAll = !showAll; + } + public void handleMessage( EBMessage msg ) { } @@ -94,6 +104,7 @@ document.accept( new HtmlCollector() ); document.accept( new HtmlScrubber( HtmlScrubber.DEFAULT_OPTIONS | HtmlScrubber.TRIM_SPACES) ); builder = new HtmlTreeBuilder(root); + builder.setShowAll(showAll); document.accept( builder ); // need to convert the HtmlDocument.HtmlElements that are currently the @@ -137,7 +148,6 @@ final int line_offset = buffer.getLineStartOffset( Math.max( child.getStartLocation().line - 1, 0 ) ); final int col_offset = buffer.getOffsetOfVirtualColumn( Math.max( child.getStartLocation().line - 1, 0 ), Math.max( child.getStartLocation().column - 1, 0 ), null ); - System.out.println(">>>>> " + child.toString() + " " + (line_offset + col_offset)); return new Position() { public int getOffset() { return line_offset + col_offset; |