From: SourceForge.net <no...@so...> - 2008-02-05 21:45:44
|
Patches item #1849209, was opened at 2007-12-12 10:24 Message generated for change (Comment added) made by rschwenn You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=300588&aid=1849209&group_id=588 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: texteditor Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: encorejane (encorejane) Assigned to: Nobody/Anonymous (nobody) Summary: Incremental/Hyper search and search bar patches Initial Comment: - Small detail: When no word is selected, the curent caret word is searched automatically. But the word is *selected* and *then* grabbed. Why not just use a getWord() method in TextArea.java instead to grab the word without selecting it? This small detail got to me because automatic selection of the caret word causes the caret to move from original position to the end of the word, which can be annoying. The getWord() method would be exactly like the selectWord() method in TextArea.java, except for the selection code (last few lines in the method) replaced with this single line: return getText(wordStart, wordEnd-wordStart); Then in View.java, isntead of having textArea.selectWord(); text = textArea.getSelectedText(); we would have just text = textArea.getWord(); -------------------------------------------- - Another small detail: When incr/hyper search *bar* is used instead of search for *word*, the text in the bar is blanked, so the user can type there on search phrase. Why would it hurt to, instead of blanking the text in the search bar, just have the current caret word be automatically placed as the search term? The only difference between search bar and search word this modification would make is that the search would not happen automatically for search bar, whereas it *would* happen automatically for search word. This just requires moving the "if(word){" lines in the quickIncr/HyperSearch methods View.java a couple lines down, so that the word-grabbing is excluded from the if condition. -------------------------------------------- - A bug?: There is a "FocusHandler" inner class in SearchBar.java, but it is *never* added as a focusListener to the search bar in the code (just need find.addFocusListener(new FocusHandler()); ). The current FocusHandler simply adds the entered text in the searchbar to the search history when the focus is lost. But aside that, why not add an autohide option for the search bar? This code would also go in the FocusHandler's focusLost method, and it took me a while to figure out a solution. The catch was that when the drop-down list was selected from the searchbar, that would also count as the textfield in the searchbar losing focus, so the searchbar would hide itself, which is obviously not good! This is my solution to the problem, which works just fine, but there might possibly be a better one out there: (1) In HistorySearchField.java, add the following method: public HistoryText getController(){ return controller; } (2) In HistoryText.java, add the following method: public boolean isPopupMenu(Component comp){ return popup==null? false : popup.getRootPane() == comp; } (3) In SearchBar.java. add the following in the focusLost() method: if(!find.getController().isPopupMenu(e.getOppositeComponent())){ view.removeToolBar(SearchBar.this); } ---------------------------------------------------------------------- >Comment By: Robert Schwenn (rschwenn) Date: 2008-02-05 22:45 Message: Logged In: YES user_id=1486645 Originator: NO Much stuff ;-) 1. Regarding invoking "Incremental Search for Word": When the next occurence of the searched word is found, it will be selected and the caret will be moved anyway. So does it really matter, that the word at the caret is selected before the search is started? 2. Regarding invoking "Incremental Search Bar": If this Feature would work as documented, the *selected* text would be placed in the search string field. This would be good so (it's also the behavior of the normal search dialog). See bug #1725202 3. Regarding focus and autohide option: When doing a hypersearch, the bar is hidden automatically when the search is done. Otherwise the bar is needed for doing "incremental" jumping. It's perfect as it is, isn't it? :-) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=300588&aid=1849209&group_id=588 |