EADS-3569 - Not possible to update comment code eg: design history after latest updation
cleanup
1.1 --- a/PLSQL/Formatter/src/org/netbeans/modules/plsql/format/PlsqlEditorKit.java Thu Apr 04 16:00:59 2013 +0200
1.2 +++ b/PLSQL/Formatter/src/org/netbeans/modules/plsql/format/PlsqlEditorKit.java Thu Apr 04 16:08:11 2013 +0200
1.3 @@ -59,28 +59,6 @@
1.4 import org.netbeans.editor.Syntax;
1.5 import org.netbeans.editor.SyntaxSupport;
1.6 import org.netbeans.modules.editor.NbEditorKit;
1.7 -
1.8 -/*
1.9 - * Class description
1.10 - *
1.11 - * Created on February 13, 2006, 9:42 AM
1.12 - *
1.13 - * @author IFS
1.14 - *
1.15 - * To change this template, choose Tools | Template Manager
1.16 - * and open the template in the editor.
1.17 - */
1.18 -/*
1.19 - * Class description
1.20 - *
1.21 - * Created on February 13, 2006, 9:42 AM
1.22 - *
1.23 - * @author IFS
1.24 - *
1.25 - * To change this template, choose Tools | Template Manager
1.26 - * and open the template in the editor.
1.27 - */
1.28 -
1.29 import org.openide.util.NbBundle;
1.30
1.31 public class PlsqlEditorKit extends NbEditorKit {
1.32 @@ -102,10 +80,12 @@
1.33 * Create a syntax object suitable for highlighting PLSQL file syntax
1.34 *
1.35 */
1.36 + @Override
1.37 public Syntax createSyntax(Document doc) {
1.38 return new PlsqlSyntax();
1.39 }
1.40
1.41 + @Override
1.42 public SyntaxSupport createSyntaxSupport(BaseDocument doc) {
1.43 return new PlsqlSyntaxSupport(doc);
1.44 }
1.45 @@ -118,6 +98,7 @@
1.46 * Override create actions method to add our actions
1.47 * @return
1.48 */
1.49 + @Override
1.50 protected Action[] createActions() {
1.51 Action[] superActions = super.createActions();
1.52 Action[] plsqlActions = new Action[]{
1.53 @@ -133,6 +114,7 @@
1.54 /**
1.55 * Retrieves the content type for this editor kit
1.56 */
1.57 + @Override
1.58 public String getContentType() {
1.59 return MIME_TYPE;
1.60 }
1.61 @@ -148,6 +130,7 @@
1.62 putValue(BaseAction.POPUP_MENU_TEXT, NbBundle.getBundle(PlsqlEditorKit.class).getString("popup-expand-folds"));
1.63 }
1.64
1.65 + @Override
1.66 public void actionPerformed(ActionEvent evt, JTextComponent target) {
1.67 int startSelect = -1;
1.68 int endSelect = -1;
1.69 @@ -167,7 +150,6 @@
1.70 hierarchy.expand(temp);
1.71 }
1.72 hierarchy.unlock();
1.73 - return;
1.74 }
1.75
1.76 //If there are no enclosed blocks try default expand fold
1.77 @@ -187,6 +169,7 @@
1.78 putValue(BaseAction.POPUP_MENU_TEXT, NbBundle.getBundle(PlsqlEditorKit.class).getString("popup-collapse-folds"));
1.79 }
1.80
1.81 + @Override
1.82 public void actionPerformed(ActionEvent evt, JTextComponent target) {
1.83 int startSelect = -1;
1.84 int endSelect = -1;
1.85 @@ -206,7 +189,6 @@
1.86 hierarchy.collapse(temp);
1.87 }
1.88 hierarchy.unlock();
1.89 - return;
1.90 }
1.91
1.92 //If there are no enclosed blocks try default expand fold
1.93 @@ -226,6 +208,7 @@
1.94 putValue(BaseAction.POPUP_MENU_TEXT, NbBundle.getBundle(PlsqlEditorKit.class).getString("popup-expand-child-folds"));
1.95 }
1.96
1.97 + @Override
1.98 public void actionPerformed(ActionEvent evt, JTextComponent target) {
1.99 int dot = target.getCaret().getDot();
1.100 int mark = target.getCaret().getMark();
1.101 @@ -280,6 +263,7 @@
1.102 putValue(BaseAction.POPUP_MENU_TEXT, NbBundle.getBundle(PlsqlEditorKit.class).getString("popup-collapse-child-folds"));
1.103 }
1.104
1.105 + @Override
1.106 public void actionPerformed(ActionEvent evt, JTextComponent target) {
1.107 int dot = target.getCaret().getDot();
1.108 int mark = target.getCaret().getMark();
1.109 @@ -325,6 +309,7 @@
1.110
1.111 public static class PlsqlGenerateFoldPopupAction extends GenerateFoldPopupAction {
1.112
1.113 + @Override
1.114 protected void addAdditionalItems(JTextComponent target, JMenu menu) {
1.115 addAction(target, menu, collapseFolds);
1.116 addAction(target, menu, expandFolds);
2.1 --- a/PLSQL/Formatter/src/org/netbeans/modules/plsql/format/PlsqlFormatter.java Thu Apr 04 16:00:59 2013 +0200
2.2 +++ b/PLSQL/Formatter/src/org/netbeans/modules/plsql/format/PlsqlFormatter.java Thu Apr 04 16:08:11 2013 +0200
2.3 @@ -41,7 +41,6 @@
2.4 */
2.5 package org.netbeans.modules.plsql.format;
2.6
2.7 -import org.netbeans.modules.plsql.lexer.PlsqlBlockFactory;
2.8 import java.io.IOException;
2.9 import java.util.Arrays;
2.10 import java.util.HashSet;
3.1 --- a/PLSQL/Formatter/src/org/netbeans/modules/plsql/format/PlsqlSyntax.java Thu Apr 04 16:00:59 2013 +0200
3.2 +++ b/PLSQL/Formatter/src/org/netbeans/modules/plsql/format/PlsqlSyntax.java Thu Apr 04 16:08:11 2013 +0200
3.3 @@ -141,6 +141,7 @@
3.4 * Parse the next token
3.5 * @return returns the token identified by the parser
3.6 */
3.7 + @Override
3.8 protected TokenID parseToken() {
3.9 char actChar; //the current character
3.10
3.11 @@ -450,6 +451,7 @@
3.12 * @param stateNumber the int value of the token
3.13 * @return returns the String value for the tokens
3.14 */
3.15 + @Override
3.16 public String getStateName(int stateNumber) {
3.17 switch(stateNumber) {
3.18 case ISI_WHITESPACE:
4.1 --- a/PLSQL/Formatter/src/org/netbeans/modules/plsql/format/PlsqlTokenContext.java Thu Apr 04 16:00:59 2013 +0200
4.2 +++ b/PLSQL/Formatter/src/org/netbeans/modules/plsql/format/PlsqlTokenContext.java Thu Apr 04 16:08:11 2013 +0200
4.3 @@ -45,105 +45,91 @@
4.4 import org.netbeans.editor.BaseTokenID;
4.5 import org.netbeans.editor.TokenContext;
4.6 import org.netbeans.editor.TokenContextPath;
4.7 +import org.openide.util.Exceptions;
4.8
4.9 -/*
4.10 - * Class description
4.11 - *
4.12 - * Created on February 13, 2006, 9:22 AM
4.13 - *
4.14 - * @author IFS
4.15 - *
4.16 - * To change this template, choose Tools | Template Manager
4.17 - * and open the template in the editor.
4.18 - */
4.19 public class PlsqlTokenContext extends TokenContext {
4.20 - // Numeric-ids for token categories
4.21 - public static final int ERRORS_ID = 0; // errors
4.22 - // Numeric-ids for token-ids
4.23 - public static final int WHITESPACE_ID = ERRORS_ID + 1; // inside white space
4.24 - public static final int LINE_COMMENT_ID = WHITESPACE_ID + 1; // inside line comment --
4.25 - public static final int BLOCK_COMMENT_ID = LINE_COMMENT_ID + 1; // inside block comment /* ... */
4.26 - public static final int STRING_ID = BLOCK_COMMENT_ID + 1; // inside string constant
4.27 - public static final int INCOMPLETE_STRING_ID = STRING_ID + 1; // inside string constant after '
4.28 - public static final int IDENTIFIER_ID = INCOMPLETE_STRING_ID + 1; // inside identifier
4.29 - public static final int OPERATOR_ID = IDENTIFIER_ID + 1; // slash char
4.30 - public static final int INVALID_COMMENT_END_ID = OPERATOR_ID + 1; // after '0'
4.31 - public static final int INT_LITERAL_ID = INVALID_COMMENT_END_ID + 1; // integer number
4.32 - public static final int DOUBLE_LITERAL_ID = INT_LITERAL_ID + 1; // double number
4.33 - public static final int DOT_ID = DOUBLE_LITERAL_ID + 1; // after '.'
4.34 - public static final int KEYWORD_ID = DOT_ID + 1;
4.35 - public static final int LPAREN_ID = KEYWORD_ID + 1;
4.36 - public static final int RPAREN_ID = LPAREN_ID + 1;
4.37 - public static final int RBRACKET_ID = RPAREN_ID + 1;
4.38 - public static final int LBRACKET_ID = RBRACKET_ID+ 1;
4.39 - public static final int LBRACE_ID = LBRACKET_ID+1;
4.40 - public static final int RBRACE_ID = LBRACE_ID + 1;
4.41 - public static final int CHAR_LITERAL_ID= RBRACE_ID +1;
4.42 + // Numeric-ids for token categories
4.43
4.44 - // Token categories
4.45 - public static final BaseTokenCategory ERRORS =
4.46 - new BaseTokenCategory("errors", ERRORS_ID); // NOI18N
4.47 -
4.48 - // Token-ids
4.49 - public static final BaseTokenID WHITESPACE =
4.50 - new BaseTokenID( "whitespace", WHITESPACE_ID ); // NOI18N
4.51 - public static final BaseTokenID LINE_COMMENT =
4.52 - new BaseTokenID( "line-comment", LINE_COMMENT_ID ); // NOI18N
4.53 - public static final BaseTokenID BLOCK_COMMENT =
4.54 - new BaseTokenID( "block-comment", BLOCK_COMMENT_ID ); // NOI18N
4.55 -
4.56 - public static final BaseTokenID STRING_LITERAL =
4.57 - new BaseTokenID( "string-literal", STRING_ID ); // NOI18N
4.58 - public static final BaseTokenID INCOMPLETE_STRING =
4.59 - new BaseTokenID( "incomplete-string-literal", INCOMPLETE_STRING_ID,
4.60 - ERRORS ); // NOI18N
4.61 -
4.62 - public static final BaseTokenID IDENTIFIER =
4.63 - new BaseTokenID( "identifier", IDENTIFIER_ID ); // NOI18N
4.64 - public static final BaseTokenID OPERATOR =
4.65 - new BaseTokenID( "operator", OPERATOR_ID ); // NOI18N
4.66 - public static final BaseTokenID INVALID_COMMENT_END =
4.67 - new BaseTokenID( "invalid-comment-end", INVALID_COMMENT_END_ID,
4.68 - ERRORS ); // NOI18N
4.69 - public static final BaseTokenID INT_LITERAL =
4.70 - new BaseTokenID( "int-literal", INT_LITERAL_ID ); // NOI18N
4.71 - public static final BaseTokenID DOUBLE_LITERAL =
4.72 - new BaseTokenID( "double-literal", DOUBLE_LITERAL_ID ); // NOI18N
4.73 - public static final BaseTokenID DOT =
4.74 - new BaseTokenID( "dot", DOT_ID ); // NOI18N
4.75 - public static final BaseTokenID KEYWORD =
4.76 - new BaseTokenID( "keyword", KEYWORD_ID ); // NOI18N
4.77 - public static final BaseTokenID LPAREN =
4.78 - new BaseTokenID( "lparen", LPAREN_ID ); // NOI18N
4.79 - public static final BaseTokenID RPAREN =
4.80 - new BaseTokenID( "rparen", RPAREN_ID ); // NOI18N
4.81 - public static final BaseTokenID RBRACKET =
4.82 - new BaseTokenID( "rbracket", RBRACKET_ID ); // NOI18N
4.83 - public static final BaseTokenID LBRACKET =
4.84 - new BaseTokenID( "lbracket", LBRACKET_ID ); // NOI18N
4.85 - public static final BaseTokenID LBRACE =
4.86 - new BaseTokenID( "lbrace", LBRACE_ID ); // NOI18N
4.87 - public static final BaseTokenID RBRACE =
4.88 - new BaseTokenID( "rbrace", RBRACE_ID ); // NOI18N
4.89 - public static final BaseTokenID CHAR_LITERAL=
4.90 - new BaseTokenID("char-literal",CHAR_LITERAL_ID);
4.91 -
4.92 - // Context instance declaration
4.93 - public static final PlsqlTokenContext context = new PlsqlTokenContext();
4.94 - public static final TokenContextPath contextPath = context.getContextPath();
4.95 + public static final int ERRORS_ID = 0; // errors
4.96 + // Numeric-ids for token-ids
4.97 + public static final int WHITESPACE_ID = ERRORS_ID + 1; // inside white space
4.98 + public static final int LINE_COMMENT_ID = WHITESPACE_ID + 1; // inside line comment --
4.99 + public static final int BLOCK_COMMENT_ID = LINE_COMMENT_ID + 1; // inside block comment /* ... */
4.100 + public static final int STRING_ID = BLOCK_COMMENT_ID + 1; // inside string constant
4.101 + public static final int INCOMPLETE_STRING_ID = STRING_ID + 1; // inside string constant after '
4.102 + public static final int IDENTIFIER_ID = INCOMPLETE_STRING_ID + 1; // inside identifier
4.103 + public static final int OPERATOR_ID = IDENTIFIER_ID + 1; // slash char
4.104 + public static final int INVALID_COMMENT_END_ID = OPERATOR_ID + 1; // after '0'
4.105 + public static final int INT_LITERAL_ID = INVALID_COMMENT_END_ID + 1; // integer number
4.106 + public static final int DOUBLE_LITERAL_ID = INT_LITERAL_ID + 1; // double number
4.107 + public static final int DOT_ID = DOUBLE_LITERAL_ID + 1; // after '.'
4.108 + public static final int KEYWORD_ID = DOT_ID + 1;
4.109 + public static final int LPAREN_ID = KEYWORD_ID + 1;
4.110 + public static final int RPAREN_ID = LPAREN_ID + 1;
4.111 + public static final int RBRACKET_ID = RPAREN_ID + 1;
4.112 + public static final int LBRACKET_ID = RBRACKET_ID + 1;
4.113 + public static final int LBRACE_ID = LBRACKET_ID + 1;
4.114 + public static final int RBRACE_ID = LBRACE_ID + 1;
4.115 + public static final int CHAR_LITERAL_ID = RBRACE_ID + 1;
4.116 + // Token categories
4.117 + public static final BaseTokenCategory ERRORS =
4.118 + new BaseTokenCategory("errors", ERRORS_ID); // NOI18N
4.119 + // Token-ids
4.120 + public static final BaseTokenID WHITESPACE =
4.121 + new BaseTokenID("whitespace", WHITESPACE_ID); // NOI18N
4.122 + public static final BaseTokenID LINE_COMMENT =
4.123 + new BaseTokenID("line-comment", LINE_COMMENT_ID); // NOI18N
4.124 + public static final BaseTokenID BLOCK_COMMENT =
4.125 + new BaseTokenID("block-comment", BLOCK_COMMENT_ID); // NOI18N
4.126 + public static final BaseTokenID STRING_LITERAL =
4.127 + new BaseTokenID("string-literal", STRING_ID); // NOI18N
4.128 + public static final BaseTokenID INCOMPLETE_STRING =
4.129 + new BaseTokenID("incomplete-string-literal", INCOMPLETE_STRING_ID,
4.130 + ERRORS); // NOI18N
4.131 + public static final BaseTokenID IDENTIFIER =
4.132 + new BaseTokenID("identifier", IDENTIFIER_ID); // NOI18N
4.133 + public static final BaseTokenID OPERATOR =
4.134 + new BaseTokenID("operator", OPERATOR_ID); // NOI18N
4.135 + public static final BaseTokenID INVALID_COMMENT_END =
4.136 + new BaseTokenID("invalid-comment-end", INVALID_COMMENT_END_ID,
4.137 + ERRORS); // NOI18N
4.138 + public static final BaseTokenID INT_LITERAL =
4.139 + new BaseTokenID("int-literal", INT_LITERAL_ID); // NOI18N
4.140 + public static final BaseTokenID DOUBLE_LITERAL =
4.141 + new BaseTokenID("double-literal", DOUBLE_LITERAL_ID); // NOI18N
4.142 + public static final BaseTokenID DOT =
4.143 + new BaseTokenID("dot", DOT_ID); // NOI18N
4.144 + public static final BaseTokenID KEYWORD =
4.145 + new BaseTokenID("keyword", KEYWORD_ID); // NOI18N
4.146 + public static final BaseTokenID LPAREN =
4.147 + new BaseTokenID("lparen", LPAREN_ID); // NOI18N
4.148 + public static final BaseTokenID RPAREN =
4.149 + new BaseTokenID("rparen", RPAREN_ID); // NOI18N
4.150 + public static final BaseTokenID RBRACKET =
4.151 + new BaseTokenID("rbracket", RBRACKET_ID); // NOI18N
4.152 + public static final BaseTokenID LBRACKET =
4.153 + new BaseTokenID("lbracket", LBRACKET_ID); // NOI18N
4.154 + public static final BaseTokenID LBRACE =
4.155 + new BaseTokenID("lbrace", LBRACE_ID); // NOI18N
4.156 + public static final BaseTokenID RBRACE =
4.157 + new BaseTokenID("rbrace", RBRACE_ID); // NOI18N
4.158 + public static final BaseTokenID CHAR_LITERAL =
4.159 + new BaseTokenID("char-literal", CHAR_LITERAL_ID);
4.160 + // Context instance declaration
4.161 + public static final PlsqlTokenContext context = new PlsqlTokenContext();
4.162 + public static final TokenContextPath contextPath = context.getContextPath();
4.163
4.164 - /**
4.165 - * Constructs a new PLSQLTokenContext
4.166 - */
4.167 - private PlsqlTokenContext() {
4.168 - super("plsql-"); // NOI18N
4.169 + /**
4.170 + * Constructs a new PLSQLTokenContext
4.171 + */
4.172 + private PlsqlTokenContext() {
4.173 + super("plsql-"); // NOI18N
4.174
4.175 - try {
4.176 - addDeclaredTokenIDs();
4.177 - } catch (Exception e) {
4.178 - e.printStackTrace();
4.179 - }
4.180 + try {
4.181 + addDeclaredTokenIDs();
4.182 + } catch (Exception e) {
4.183 + Exceptions.printStackTrace(e);
4.184 + }
4.185
4.186 - }
4.187 + }
4.188 }
4.189 -
5.1 --- a/PLSQL/Formatter/src/org/netbeans/modules/plsql/format/comment/PlsqlCommentAction.java Thu Apr 04 16:00:59 2013 +0200
5.2 +++ b/PLSQL/Formatter/src/org/netbeans/modules/plsql/format/comment/PlsqlCommentAction.java Thu Apr 04 16:08:11 2013 +0200
5.3 @@ -57,6 +57,7 @@
5.4
5.5 public final class PlsqlCommentAction extends CookieAction {
5.6
5.7 + @Override
5.8 protected void performAction(Node[] activatedNodes) {
5.9 try {
5.10 DataObject dataObject = activatedNodes[0].getLookup().lookup(DataObject.class);
5.11 @@ -65,21 +66,23 @@
5.12 if (contentType.equals("org.netbeans.modules.plsql.filetype.PlsqlDataObject")) {
5.13 JTextComponent component = Utilities.getFocusedComponent();
5.14 commentLines(component);
5.15 - } else
5.16 - return;
5.17 + }
5.18 } catch (BadLocationException ex) {
5.19 Exceptions.printStackTrace(ex);
5.20 }
5.21 }
5.22
5.23 + @Override
5.24 protected int mode() {
5.25 return CookieAction.MODE_EXACTLY_ONE;
5.26 }
5.27
5.28 + @Override
5.29 public String getName() {
5.30 return NbBundle.getMessage(PlsqlCommentAction.class, "CTL_CommentAction");
5.31 }
5.32
5.33 + @Override
5.34 protected Class[] cookieClasses() {
5.35 return new Class[]{EditorCookie.class};
5.36 }
5.37 @@ -89,6 +92,7 @@
5.38 return "org/netbeans/modules/plsql/format/comment/resources/comment.png";
5.39 }
5.40
5.41 + @Override
5.42 public HelpCtx getHelpCtx() {
5.43 return HelpCtx.DEFAULT_HELP;
5.44 }
5.45 @@ -113,6 +117,7 @@
5.46 if (doc instanceof BaseDocument)
5.47 ((BaseDocument)doc).runAtomic(new Runnable() {
5.48
5.49 + @Override
5.50 public void run() {
5.51 commentLines(target, doc);
5.52 }
5.53 @@ -160,7 +165,7 @@
5.54 }
5.55 }
5.56 } catch (BadLocationException ble) {
5.57 - ble.printStackTrace();
5.58 + Exceptions.printStackTrace(ble);
5.59 }
5.60 }
5.61 }
6.1 --- a/PLSQL/Formatter/src/org/netbeans/modules/plsql/format/comment/PlsqlUncommentAction.java Thu Apr 04 16:00:59 2013 +0200
6.2 +++ b/PLSQL/Formatter/src/org/netbeans/modules/plsql/format/comment/PlsqlUncommentAction.java Thu Apr 04 16:08:11 2013 +0200
6.3 @@ -57,29 +57,33 @@
6.4
6.5 public final class PlsqlUncommentAction extends CookieAction {
6.6
6.7 + @Override
6.8 protected void performAction(Node[] activatedNodes) {
6.9 try {
6.10 DataObject dataObject = activatedNodes[0].getLookup().lookup(DataObject.class);
6.11 String contentType = dataObject.getLoader().getRepresentationClassName().trim();
6.12 -
6.13 +
6.14 if (contentType.equals("org.netbeans.modules.plsql.filetype.PlsqlDataObject")) {
6.15 JTextComponent component = Utilities.getFocusedComponent();
6.16 uncommentLines(component);
6.17 - } else
6.18 - return;
6.19 + } else {
6.20 + }
6.21 } catch (BadLocationException ex) {
6.22 Exceptions.printStackTrace(ex);
6.23 }
6.24 }
6.25
6.26 + @Override
6.27 protected int mode() {
6.28 return CookieAction.MODE_EXACTLY_ONE;
6.29 }
6.30
6.31 + @Override
6.32 public String getName() {
6.33 return NbBundle.getMessage(PlsqlUncommentAction.class, "CTL_UncommentAction");
6.34 }
6.35
6.36 + @Override
6.37 protected Class[] cookieClasses() {
6.38 return new Class[]{EditCookie.class};
6.39 }
6.40 @@ -89,6 +93,7 @@
6.41 return "org/netbeans/modules/plsql/format/comment/resources/uncomment.png";
6.42 }
6.43
6.44 + @Override
6.45 public HelpCtx getHelpCtx() {
6.46 return HelpCtx.DEFAULT_HELP;
6.47 }
6.48 @@ -97,96 +102,81 @@
6.49 protected boolean asynchronous() {
6.50 return false;
6.51 }
6.52 -
6.53 - /**
6.54 +
6.55 + /**
6.56 * Method that will uncomment lines in the selected area
6.57 + *
6.58 * @param target
6.59 * @throws javax.swing.text.BadLocationException
6.60 */
6.61 public void uncommentLines(final JTextComponent target)
6.62 - throws BadLocationException {
6.63 - final Document doc = target.getDocument();
6.64 - if (doc == null)
6.65 -
6.66 - return;
6.67 -
6.68 - if (doc instanceof BaseDocument)
6.69 - ((BaseDocument)doc).runAtomic(new Runnable() {
6.70 + throws BadLocationException {
6.71 + final Document doc = target.getDocument();
6.72 + if (doc == null) {
6.73 + return;
6.74 + }
6.75
6.76 + if (doc instanceof BaseDocument) {
6.77 + ((BaseDocument) doc).runAtomic(new Runnable() {
6.78 + @Override
6.79 public void run() {
6.80 - uncommentLines(target, doc);
6.81 + uncommentLines(target, doc);
6.82 }
6.83 - });
6.84 - }
6.85 + });
6.86 + }
6.87 + }
6.88
6.89 /**
6.90 * Method that will actually perform the commenting
6.91 + *
6.92 * @param target
6.93 * @param doc
6.94 */
6.95 private void uncommentLines(JTextComponent target, Document doc) {
6.96 int lineStart = -1;
6.97 - try {
6.98 - //at first, find selected text range
6.99 - Caret caret = target.getCaret();
6.100 - int currentDot = caret.getDot();
6.101 - int currentMark = caret.getMark();
6.102 - int start = Math.min(currentDot, currentMark);
6.103 - int end = Math.max(currentDot, currentMark);
6.104 - int docLength = doc.getLength();
6.105 -
6.106 - if (start == end) {//No selection
6.107 - if (docLength == end) //If we are going to the EOF ignore that
6.108 - return;
6.109 -
6.110 - lineStart = Utilities.getRowStart(target, end);
6.111 - int commentStart = Utilities.getRowFirstNonWhite((BaseDocument)doc, lineStart);
6.112 - String str = doc.getText(commentStart, 2);
6.113 - if ((str != null) && (str.equals("--"))) {
6.114 - doc.remove(commentStart, 2);
6.115 - }
6.116 - } else {
6.117 - lineStart = Utilities.getRowStart(target, start);
6.118 - target.setSelectionStart(lineStart);
6.119 - String originalText = target.getSelectedText();
6.120 - String text = originalText.substring(0, originalText.length()).replaceAll("\n--", "\n");
6.121 - if(text.startsWith("--"))
6.122 - text=text.substring(2);
6.123 - target.replaceSelection(text);
6.124 - if(start!=lineStart) {
6.125 - start=start-2;
6.126 - }
6.127 - if(currentDot<currentMark) {
6.128 - caret.setDot(lineStart+text.length());
6.129 - caret.moveDot(start);
6.130 - } else {
6.131 - caret.setDot(start);
6.132 - caret.moveDot(lineStart+text.length());
6.133 - }
6.134 - }
6.135 - } catch (BadLocationException ble) {
6.136 - ble.printStackTrace();
6.137 - }
6.138 - }
6.139 -
6.140 - /**
6.141 - * Method to get number of lines involved
6.142 - * @param target
6.143 - * @param start
6.144 - * @param end
6.145 - * @return
6.146 - */
6.147 - private int GetNumberOfLines(JTextComponent target, int start, int end) throws BadLocationException {
6.148 - int lineNo = 0;
6.149 - int lineStart = -1;
6.150 - for (int i = start; i <= end; i++) {
6.151 - int tmp = Utilities.getRowStart(target, i);
6.152 - if (tmp != lineStart) {
6.153 - lineStart = tmp;
6.154 - ++lineNo;
6.155 + try {
6.156 + //at first, find selected text range
6.157 + Caret caret = target.getCaret();
6.158 + int currentDot = caret.getDot();
6.159 + int currentMark = caret.getMark();
6.160 + int start = Math.min(currentDot, currentMark);
6.161 + int end = Math.max(currentDot, currentMark);
6.162 + int docLength = doc.getLength();
6.163 +
6.164 + if (start == end) {//No selection
6.165 + if (docLength == end) //If we are going to the EOF ignore that
6.166 + {
6.167 + return;
6.168 + }
6.169 +
6.170 + lineStart = Utilities.getRowStart(target, end);
6.171 + int commentStart = Utilities.getRowFirstNonWhite((BaseDocument) doc, lineStart);
6.172 + String str = doc.getText(commentStart, 2);
6.173 + if ((str != null) && (str.equals("--"))) {
6.174 + doc.remove(commentStart, 2);
6.175 + }
6.176 + } else {
6.177 + lineStart = Utilities.getRowStart(target, start);
6.178 + target.setSelectionStart(lineStart);
6.179 + String originalText = target.getSelectedText();
6.180 + String text = originalText.substring(0, originalText.length()).replaceAll("\n--", "\n");
6.181 + if (text.startsWith("--")) {
6.182 + text = text.substring(2);
6.183 + }
6.184 + target.replaceSelection(text);
6.185 + if (start != lineStart) {
6.186 + start = start - 2;
6.187 + }
6.188 + if (currentDot < currentMark) {
6.189 + caret.setDot(lineStart + text.length());
6.190 + caret.moveDot(start);
6.191 + } else {
6.192 + caret.setDot(start);
6.193 + caret.moveDot(lineStart + text.length());
6.194 + }
6.195 }
6.196 + } catch (BadLocationException ble) {
6.197 + Exceptions.printStackTrace(ble);
6.198 }
6.199 - return lineNo;
6.200 }
6.201 }
6.202 -