From: <sh...@us...> - 2010-06-16 19:55:38
|
Revision: 18092 http://jedit.svn.sourceforge.net/jedit/?rev=18092&view=rev Author: shlomy Date: 2010-06-16 19:55:32 +0000 (Wed, 16 Jun 2010) Log Message: ----------- Replace the action for replacing the built-in marker actions with MarkerSets with an option (in an option pane). Also allow replacing it back. The implementation is partial - currently only gutter right-click is changed. Modified Paths: -------------- plugins/MarkerSets/trunk/MarkerSets.props plugins/MarkerSets/trunk/actions.xml plugins/MarkerSets/trunk/src/marker/MarkerSetManager.java plugins/MarkerSets/trunk/src/marker/MarkerSetsPlugin.java Modified: plugins/MarkerSets/trunk/MarkerSets.props =================================================================== --- plugins/MarkerSets/trunk/MarkerSets.props 2010-06-16 09:22:22 UTC (rev 18091) +++ plugins/MarkerSets/trunk/MarkerSets.props 2010-06-16 19:55:32 UTC (rev 18092) @@ -19,7 +19,6 @@ markersets-jump-to-marker.label=Jump to marker... markersets-next-marker.label=Jump to next marker in active marker set markersets-prev-marker.label=Jump to previous marker in active marker set -markersets-map-actions.label=Map marker actions to MarkerSets # menu items plugin.marker.MarkerSetsPlugin.menu=\ @@ -34,9 +33,13 @@ - \ markersets-import \ markersets-export \ - - \ - markersets-map-actions +# options +plugin.marker.MarkerSetsPlugin.option-pane=MarkerSets +options.MarkerSets.label=MarkerSets +options.MarkerSets.code=new marker.MarkerSetsOptions(); +options.MarkerSets.replaceBuiltInMarkers.label=Replace built-in marker actions with MarkerSets + # dockables marker-set-manager.title=Marker Sets marker-set-manager.longtitle=View and Manage Marker Sets Modified: plugins/MarkerSets/trunk/actions.xml =================================================================== --- plugins/MarkerSets/trunk/actions.xml 2010-06-16 09:22:22 UTC (rev 18091) +++ plugins/MarkerSets/trunk/actions.xml 2010-06-16 19:55:32 UTC (rev 18092) @@ -43,10 +43,5 @@ marker.MarkerSetsPlugin.getActiveMarkerSet().prevMarker(view); </CODE> </ACTION> - <ACTION NAME="markersets-map-actions" NO_REPEAT="TRUE"> - <CODE> - marker.MarkerSetsPlugin.mapMarkerActionsToMarkerSets(); - </CODE> - </ACTION> </ACTIONS> Modified: plugins/MarkerSets/trunk/src/marker/MarkerSetManager.java =================================================================== --- plugins/MarkerSets/trunk/src/marker/MarkerSetManager.java 2010-06-16 09:22:22 UTC (rev 18091) +++ plugins/MarkerSets/trunk/src/marker/MarkerSetManager.java 2010-06-16 19:55:32 UTC (rev 18092) @@ -302,9 +302,6 @@ public MarkerSetIcon(MarkerSet ms) { this.ms = ms; } - public Color getColor() { - return ms.getColor(); - } public int getIconHeight() { return getDefaultIconHeight(); } Modified: plugins/MarkerSets/trunk/src/marker/MarkerSetsPlugin.java =================================================================== --- plugins/MarkerSets/trunk/src/marker/MarkerSetsPlugin.java 2010-06-16 09:22:22 UTC (rev 18091) +++ plugins/MarkerSets/trunk/src/marker/MarkerSetsPlugin.java 2010-06-16 19:55:32 UTC (rev 18092) @@ -35,6 +35,7 @@ import org.gjt.sp.jedit.buffer.JEditBuffer; import org.gjt.sp.jedit.msg.BufferUpdate; import org.gjt.sp.jedit.msg.EditPaneUpdate; +import org.gjt.sp.jedit.msg.PropertiesChanged; import org.gjt.sp.jedit.textarea.Gutter; import org.gjt.sp.jedit.textarea.GutterPopupHandler; import org.gjt.sp.jedit.textarea.JEditTextArea; @@ -55,7 +56,8 @@ private static MarkerSet active; private static String xmlFile; private static Vector<ChangeListener> listeners; - + private boolean replaceBuiltInMarkers = false; + public enum Event { MARKER_SET_ADDED, MARKER_SET_REMOVED, @@ -84,10 +86,12 @@ loadState(); jEdit.visit(new MarkerSetVisitor(true)); EditBus.addToBus(this); + replaceBuiltInMarkers(MarkerSetsOptions.shouldReplaceBuiltInMarkers()); } public void stop() { + replaceBuiltInMarkers(false); EditBus.removeFromBus(this); saveState(); jEdit.visit(new MarkerSetVisitor(false)); @@ -192,7 +196,42 @@ for (MarkerSet ms: markerSets.values()) ms.handleBufferUpdate(bu); } + @EBHandler + public void handlePropertiesChanged(PropertiesChanged pc) + { + boolean newValue = MarkerSetsOptions.shouldReplaceBuiltInMarkers(); + if (replaceBuiltInMarkers == newValue) + return; + replaceBuiltInMarkers = newValue; + replaceBuiltInMarkers(replaceBuiltInMarkers); + } + public void replaceBuiltInMarkers(final boolean replace) + { + jEdit.visit(new JEditVisitorAdapter() { + @Override + public void visit(final EditPane editPane) + { + final JEditTextArea textArea = editPane.getTextArea(); + Gutter g = textArea.getGutter(); + g.setSelectionPopupHandler(new GutterPopupHandler() + { + public void handlePopup(int x, int y, int line) + { + if (replace) + toggleMarker((Buffer)textArea.getBuffer(), line); + else + { + Buffer buffer = editPane.getBuffer(); + buffer.addOrRemoveMarker('\0', + buffer.getLineStartOffset(line)); + } + } + }); + } + }); + } + static public Vector<String> getMarkerSetNames() { Vector<String> names = new Vector<String>(); @@ -364,7 +403,7 @@ notifyChange(Event.ACTIVE_MARKER_SET_CHANGED, active); return true; } - + // Interface for plugins static public void toggleMarker(FileMarker marker) @@ -377,25 +416,6 @@ // Actions - static public void mapMarkerActionsToMarkerSets() - { - jEdit.visit(new JEditVisitorAdapter() { - @Override - public void visit(final JEditTextArea textArea) - { - textArea.getGutter().setSelectionPopupHandler( - new GutterPopupHandler() - { - public void handlePopup(int x, int y, int line) - { - toggleMarker((Buffer)textArea.getBuffer(), line); - } - } - ); - } - }); - } - static public void setActiveMarkerSet(View view) { String current = (active == null) ? null : active.getName(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |