Dillo v3.1.1-98-g318d1f14
|
#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. | |
Definition at line 13 of file findtext.hh.
Definition at line 16 of file findtext.hh.
dw::core::FindtextState::FindtextState | ( | ) |
Definition at line 30 of file findtext.cc.
References DBG_OBJ_CREATE, hlIterator, iterator, key, nexttab, and widget.
dw::core::FindtextState::~FindtextState | ( | ) |
Definition at line 41 of file findtext.cc.
References DBG_OBJ_DELETE, hlIterator, iterator, key, and nexttab.
|
inlinestaticprivate |
Definition at line 68 of file findtext.hh.
References caseSens.
Referenced by createNexttab(), and search0().
|
staticprivate |
Definition at line 177 of file findtext.cc.
References caseSens, charsEqual(), key, nexttab, and rev().
Referenced by search().
void dw::core::FindtextState::resetSearch | ( | ) |
This method is called when the user closes the "find text" dialog.
Definition at line 151 of file findtext.cc.
References key, and unhighlight().
Referenced by dw::core::Layout::resetSearch().
|
staticprivate |
Definition at line 163 of file findtext.cc.
Referenced by createNexttab(), and search0().
FindtextState::Result dw::core::FindtextState::search | ( | const char * | key, |
bool | caseSens, | ||
bool | backwards | ||
) |
Definition at line 75 of file findtext.cc.
References caseSens, dw::core::CharIterator::cloneCharIterator(), createNexttab(), dStrdup(), dw::core::CharIterator::highlight(), dw::core::HIGHLIGHT_FINDTEXT, hlIterator, dw::core::HPOS_INTO_VIEW, iterator, key, dw::core::CharIterator::next(), nexttab, NOT_FOUND, dw::core::CharIterator::prev(), RESTART, dw::core::CharIterator::scrollTo(), search(), search0(), SUCCESS, unhighlight(), dw::core::VPOS_CENTER, and widget.
Referenced by search(), and dw::core::Layout::search().
|
private |
Definition at line 225 of file findtext.cc.
References _MSG, 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 | ) |
Definition at line 55 of file findtext.cc.
References hlIterator, iterator, key, nexttab, and widget.
Referenced by dw::core::Layout::addWidget(), and dw::core::Layout::removeWidget().
|
private |
Unhighlight, and return whether a region was highlighted.
Definition at line 208 of file findtext.cc.
References dw::core::CharIterator::cloneCharIterator(), dw::core::HIGHLIGHT_FINDTEXT, hlIterator, key, dw::core::CharIterator::prev(), and dw::core::CharIterator::unhighlight().
Referenced by resetSearch(), and search().
|
private |
Whether the last search was case sensitive.
Definition at line 40 of file findtext.hh.
Referenced by charsEqual(), createNexttab(), search(), and search0().
|
private |
The position from where the characters are highlighted.
NULL, when no text is highlighted.
Definition at line 60 of file findtext.hh.
Referenced by FindtextState(), search(), setWidget(), unhighlight(), and ~FindtextState().
|
private |
The position from where the next search will start.
Definition at line 53 of file findtext.hh.
Referenced by FindtextState(), search(), search0(), setWidget(), and ~FindtextState().
|
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.
Definition at line 37 of file findtext.hh.
Referenced by createNexttab(), FindtextState(), resetSearch(), search(), search0(), setWidget(), unhighlight(), and ~FindtextState().
|
private |
The table used for KMP search.
Definition at line 43 of file findtext.hh.
Referenced by createNexttab(), FindtextState(), search(), search0(), setWidget(), and ~FindtextState().
|
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
Definition at line 50 of file findtext.hh.
Referenced by FindtextState(), search(), and setWidget().