dw::core::FindtextState Class Reference

#include <findtext.hh>

List of all members.

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.
Widgetwidget
 The top of the widget tree, in which the search is done.
CharIteratoriterator
 The position from where the next search will start.
CharIteratorhlIterator
 The position from where the characters are highlighted.


Member Enumeration Documentation

Enumerator:
SUCCESS  The next occurrence of the pattern has been found.
RESTART  There is no further occurrence of the pattern, instead, the first occurrence has been selected.
NOT_FOUND  The patten does not at all occur in the text.


Constructor & Destructor Documentation

dw::core::FindtextState::FindtextState (  ) 

References hlIterator, iterator, key, nexttab, and widget.

dw::core::FindtextState::~FindtextState (  ) 

References hlIterator, iterator, key, and nexttab.


Member Function Documentation

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]

References 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.

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 
)

bool dw::core::FindtextState::search0 ( bool  backwards,
bool  firstTrial 
) [private]

void dw::core::FindtextState::setWidget ( Widget widget  ) 

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().


Member Data Documentation

Whether the last search was case sensitive.

Referenced by search0().

The position from where the characters are highlighted.

NULL, when no text is highlighted.

Referenced by FindtextState(), search(), setWidget(), unhighlight(), and ~FindtextState().

The position from where the next search will start.

Referenced by FindtextState(), search(), search0(), setWidget(), and ~FindtextState().

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().

The table used for KMP search.

Referenced by createNexttab(), FindtextState(), search(), search0(), setWidget(), and ~FindtextState().

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().


The documentation for this class was generated from the following files:

Generated on Wed Sep 7 02:00:37 2011 for Dillo by  doxygen 1.5.9