#include <findtext.hh>
Public Types | |
| enum | Result { SUCCESS, RESTART, NOT_FOUND } |
Public Member Functions | |
| FindtextState () | |
| ~FindtextState () | |
| void | setWidget (Widget *widget) |
| Result | search (const char *key, bool caseSens, bool backwards) |
| void | resetSearch () |
| This method is called when the user closes the "find text" dialog. | |
Private Member Functions | |
| bool | unhighlight () |
| Unhighlight, and return whether a region was highlighted. | |
| bool | search0 (bool backwards, bool firstTrial) |
Static Private Member Functions | |
| static const char * | rev (const char *_str) |
| static int * | createNexttab (const char *needle, bool caseSens, bool backwards) |
| static bool | charsEqual (char c1, char c2, bool caseSens) |
Private Attributes | |
| char * | key |
| The key used for the last search. | |
| bool | caseSens |
| Whether the last search was case sensitive. | |
| int * | nexttab |
| The table used for KMP search. | |
| Widget * | widget |
| The top of the widget tree, in which the search is done. | |
| CharIterator * | iterator |
| The position from where the next search will start. | |
| CharIterator * | hlIterator |
| The position from where the characters are highlighted. | |
| dw::core::FindtextState::FindtextState | ( | ) |
References hlIterator, iterator, key, nexttab, and widget.
| dw::core::FindtextState::~FindtextState | ( | ) |
References hlIterator, iterator, key, and nexttab.
| static bool dw::core::FindtextState::charsEqual | ( | char | c1, | |
| char | c2, | |||
| bool | caseSens | |||
| ) | [inline, static, private] |
Referenced by createNexttab(), and search0().
| int * dw::core::FindtextState::createNexttab | ( | const char * | needle, | |
| bool | caseSens, | |||
| bool | backwards | |||
| ) | [static, private] |
| void dw::core::FindtextState::resetSearch | ( | ) |
This method is called when the user closes the "find text" dialog.
References key, and unhighlight().
Referenced by dw::core::Layout::resetSearch().
| const char * dw::core::FindtextState::rev | ( | const char * | _str | ) | [static, private] |
Referenced by createNexttab(), and search0().
| FindtextState::Result dw::core::FindtextState::search | ( | const char * | key, | |
| bool | caseSens, | |||
| bool | backwards | |||
| ) |
References dw::core::CharIterator::cloneCharIterator(), createNexttab(), dw::core::CharIterator::highlight(), dw::core::HIGHLIGHT_FINDTEXT, hlIterator, dw::core::HPOS_INTO_VIEW, iterator, dw::core::CharIterator::next(), nexttab, NOT_FOUND, dw::core::CharIterator::prev(), RESTART, dw::core::CharIterator::scrollTo(), search0(), SUCCESS, unhighlight(), dw::core::VPOS_CENTER, and widget.
Referenced by dw::core::Layout::search().
| bool dw::core::FindtextState::search0 | ( | bool | backwards, | |
| bool | firstTrial | |||
| ) | [private] |
References caseSens, charsEqual(), dw::core::CharIterator::END, dw::core::CharIterator::getChar(), iterator, key, dw::core::CharIterator::next(), nexttab, dw::core::CharIterator::prev(), and rev().
Referenced by search().
| void dw::core::FindtextState::setWidget | ( | Widget * | widget | ) |
References hlIterator, iterator, key, and nexttab.
Referenced by dw::core::Layout::addWidget(), and dw::core::Layout::removeWidget().
| bool dw::core::FindtextState::unhighlight | ( | ) | [private] |
Unhighlight, and return whether a region was highlighted.
References dw::core::CharIterator::cloneCharIterator(), dw::core::HIGHLIGHT_FINDTEXT, hlIterator, key, and dw::core::CharIterator::prev().
Referenced by resetSearch(), and search().
bool dw::core::FindtextState::caseSens [private] |
CharIterator* dw::core::FindtextState::hlIterator [private] |
The position from where the characters are highlighted.
NULL, when no text is highlighted.
Referenced by FindtextState(), search(), setWidget(), unhighlight(), and ~FindtextState().
CharIterator* dw::core::FindtextState::iterator [private] |
The position from where the next search will start.
Referenced by FindtextState(), search(), search0(), setWidget(), and ~FindtextState().
char* dw::core::FindtextState::key [private] |
The key used for the last search.
If dw::core::Findtext::search is called with the same key, the search is continued, otherwise it is restarted.
Referenced by createNexttab(), FindtextState(), resetSearch(), search0(), setWidget(), unhighlight(), and ~FindtextState().
int* dw::core::FindtextState::nexttab [private] |
The table used for KMP search.
Referenced by createNexttab(), FindtextState(), search(), search0(), setWidget(), and ~FindtextState().
Widget* dw::core::FindtextState::widget [private] |
The top of the widget tree, in which the search is done.
From this, the iterator will be constructed. Set by dw::core::Findtext::widget
Referenced by FindtextState(), and search().
1.5.9