JX Application Framework
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
JXSearchTextDialog Class Reference

#include <JXSearchTextDialog.h>

Inheritance diagram for JXSearchTextDialog:
[legend]

Public Types

enum  {
  kHistoryLength = 20 ,
  kCurrentXSearchVersion = 1
}
 
enum  {
  kXSearchSelectionAtomIndex ,
  kXSearchWindowsAtomIndex ,
  kXSearchVersionAtomIndex ,
  kXSearchDataV1AtomIndex ,
  kAtomCount
}
 

Public Member Functions

 ~JXSearchTextDialog () override
 
void Activate () override
 
bool Deactivate () override
 
bool HasActiveTE () const
 
bool GetActiveTE (JXTEBase **te) const
 
void SetActiveTE (JXTEBase *te)
 
void TEDeactivated (JXTEBase *te)
 
bool HasSearchText () const
 
const JStringGetSearchText () const
 
void SetSearchText (const JString &str)
 
void SetRegexSearch (const bool regex=true)
 
bool HasReplaceText () const
 
void SetReplaceText (const JString &str)
 
void SetRegexReplace (const bool regex=true)
 
bool GetSearchParameters (JRegex **searchRegex, bool *entireWord, bool *wrapSearch, JString *replaceStr, JInterpolate **interpolator, bool *preserveCase) const
 
void SetFont (const JFont &font)
 
void ReadSetup (std::istream &input)
 
void WriteSetup (std::ostream &output) const
 
- Public Member Functions inherited from JXWindowDirector
 JXWindowDirector (JXDirector *supervisor)
 
 ~JXWindowDirector () override
 
void Activate () override
 
bool Deactivate () override
 
void Suspend () override
 
void Resume () override
 
JXWindowGetWindow () const
 
JXDisplayGetDisplay () const
 
virtual const JStringGetName () const
 
virtual bool GetMenuIcon (const JXImage **icon) const
 
virtual bool NeedsSave () const
 
- Public Member Functions inherited from JXDirector
 JXDirector (JXDirector *supervisor)
 
 ~JXDirector () override
 
bool IsClosing () const
 
virtual bool Close ()
 
bool IsActive () const
 
bool IsSuspended () const
 
bool HasSubdirectors () const
 
bool GetSubdirectors (const JPtrArray< JXDirector > **list) const
 
- Public Member Functions inherited from JBroadcaster
 JBroadcaster ()
 
virtual ~JBroadcaster ()
 
JBroadcasteroperator= (const JBroadcaster &source)
 
bool HasSenders () const
 
JSize GetSenderCount () const
 
bool HasRecipients () const
 
JSize GetRecipientCount () const
 
virtual JString ToString () const
 
template<class T >
void ListenTo (const JBroadcaster *sender, const std::function< void(const T &)> &f)
 

Static Public Member Functions

static JXSearchTextDialogCreate ()
 

Protected Member Functions

 JXSearchTextDialog ()
 
void JXSearchTextDialogX ()
 
void SetObjects (JXInputField *searchInput, JXStringHistoryMenu *prevSearchMenu, JXTextCheckbox *ignoreCaseCB, JXTextCheckbox *entireWordCB, JXTextCheckbox *wrapSearchCB, JXTextCheckbox *searchIsRegexCB, JXTextCheckbox *singleLineCB, JXInputField *replaceInput, JXStringHistoryMenu *prevReplaceMenu, JXTextCheckbox *replaceIsRegexCB, JXTextCheckbox *preserveCaseCB, JXTextCheckbox *stayOpenCB, JXTextCheckbox *retainFocusCB, JXSearchTextButton *findFwdButton, JXSearchTextButton *findBackButton, JXTextButton *replaceButton, JXSearchTextButton *replaceFindFwdButton, JXSearchTextButton *replaceFindBackButton, JXTextButton *replaceAllButton, JXTextButton *replaceAllInSelButton, JXTextButton *closeButton, JXTextButton *helpButton, JXTextButton *qRefButton)
 
JXSearchTextButtonGetFindFwdButton () const
 
JXSearchTextButtonGetFindBackButton () const
 
JXTextButtonGetReplaceButton () const
 
JXSearchTextButtonGetReplaceFindFwdButton () const
 
JXSearchTextButtonGetReplaceFindBackButton () const
 
JXTextButtonGetReplaceAllButton () const
 
JXTextButtonGetReplaceAllInSelButton () const
 
virtual void UpdateDisplay ()
 
void Receive (JBroadcaster *sender, const Message &message) override
 
void ReceiveWithFeedback (JBroadcaster *sender, Message *message) override
 
- Protected Member Functions inherited from JXWindowDirector
virtual bool OKToDeactivate ()
 
- Protected Member Functions inherited from JXDirector
JXDirectorGetSupervisor () const
 
bool CloseAllSubdirectors ()
 
virtual void DirectorClosed (JXDirector *theDirector)
 
- Protected Member Functions inherited from JBroadcaster
 JBroadcaster (const JBroadcaster &source)
 
void ListenTo (const JBroadcaster *sender)
 
void StopListening (const JBroadcaster *sender)
 
void ClearWhenGoingAway (const JBroadcaster *sender, void *pointerToMember)
 
void StopListening (const JBroadcaster *sender, const std::type_info &messageType)
 
template<class T >
void Send (JBroadcaster *recipient, const T &message)
 
template<class T >
void Broadcast (const T &message)
 
void SendWithFeedback (JBroadcaster *recipient, Message *message)
 
void BroadcastWithFeedback (Message *message)
 
virtual void ReceiveGoingAway (JBroadcaster *sender)
 

Detailed Description

This is used as a global object.  We relay all the requests for action
to the active text editor.  This way, all the text editors share the
same dialog window.

We also support the XSearch protocol so our settings can be shared with
other programs.  (http://johnlindal.wixsite.com/xsearch)

Derived classes must override BuildWindow() and call SetObjects()
at the end of their implementation.  They must also call
JXSearchTextDialogX() after calling BuildWindow().

To do:  support multiple displays

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
kHistoryLength 
kCurrentXSearchVersion 

◆ anonymous enum

anonymous enum
Enumerator
kXSearchSelectionAtomIndex 
kXSearchWindowsAtomIndex 
kXSearchVersionAtomIndex 
kXSearchDataV1AtomIndex 
kAtomCount 

Constructor & Destructor Documentation

◆ ~JXSearchTextDialog()

JXSearchTextDialog::~JXSearchTextDialog ( )
override

◆ JXSearchTextDialog()

JXSearchTextDialog::JXSearchTextDialog ( )
protected

Member Function Documentation

◆ Activate()

void JXSearchTextDialog::Activate ( )
overridevirtual

We do not propagate the Activate message to subdirectors because each derived class must decide whether or not this is appropriate.

Reimplemented from JXDirector.

◆ Create()

JXSearchTextDialog * JXSearchTextDialog::Create ( )
static

◆ Deactivate()

bool JXSearchTextDialog::Deactivate ( )
overridevirtual

Reimplemented from JXDirector.

◆ GetActiveTE()

bool JXSearchTextDialog::GetActiveTE ( JXTEBase **  te) const
inline

◆ GetFindBackButton()

JXSearchTextButton * JXSearchTextDialog::GetFindBackButton ( ) const
inlineprotected

◆ GetFindFwdButton()

JXSearchTextButton * JXSearchTextDialog::GetFindFwdButton ( ) const
inlineprotected

◆ GetReplaceAllButton()

JXTextButton * JXSearchTextDialog::GetReplaceAllButton ( ) const
inlineprotected

◆ GetReplaceAllInSelButton()

JXTextButton * JXSearchTextDialog::GetReplaceAllInSelButton ( ) const
inlineprotected

◆ GetReplaceButton()

JXTextButton * JXSearchTextDialog::GetReplaceButton ( ) const
inlineprotected

◆ GetReplaceFindBackButton()

JXSearchTextButton * JXSearchTextDialog::GetReplaceFindBackButton ( ) const
inlineprotected

◆ GetReplaceFindFwdButton()

JXSearchTextButton * JXSearchTextDialog::GetReplaceFindFwdButton ( ) const
inlineprotected

◆ GetSearchParameters()

bool JXSearchTextDialog::GetSearchParameters ( JRegex **  searchRegex,
bool entireWord,
bool wrapSearch,
JString replaceStr,
JInterpolate **  interpolator,
bool preserveCase 
) const

Without regex, "entire word" is only possible if searchStr contains a single word.

Returns false if an error occurs. (e.g. if regex compile fails)

◆ GetSearchText()

const JString & JXSearchTextDialog::GetSearchText ( ) const

◆ HasActiveTE()

bool JXSearchTextDialog::HasActiveTE ( ) const
inline

◆ HasReplaceText()

bool JXSearchTextDialog::HasReplaceText ( ) const

◆ HasSearchText()

bool JXSearchTextDialog::HasSearchText ( ) const

◆ JXSearchTextDialogX()

void JXSearchTextDialog::JXSearchTextDialogX ( )
protected

◆ ReadSetup()

void JXSearchTextDialog::ReadSetup ( std::istream &  input)

◆ Receive()

void JXSearchTextDialog::Receive ( JBroadcaster sender,
const Message message 
)
overrideprotectedvirtual

Process the given message from the given sender. This function is not pure virtual because not all classes will want to implement it.

Reimplemented from JBroadcaster.

◆ ReceiveWithFeedback()

void JXSearchTextDialog::ReceiveWithFeedback ( JBroadcaster sender,
Message message 
)
overrideprotectedvirtual

Process the given message from the given sender and provide feedback via the message as appropriate. This function is not pure virtual because not all classes will want to implement it.

Reimplemented from JBroadcaster.

◆ SetActiveTE()

void JXSearchTextDialog::SetActiveTE ( JXTEBase te)
inline

◆ SetFont()

void JXSearchTextDialog::SetFont ( const JFont font)

◆ SetObjects()

void JXSearchTextDialog::SetObjects ( JXInputField searchInput,
JXStringHistoryMenu prevSearchMenu,
JXTextCheckbox ignoreCaseCB,
JXTextCheckbox entireWordCB,
JXTextCheckbox wrapSearchCB,
JXTextCheckbox searchIsRegexCB,
JXTextCheckbox singleLineCB,
JXInputField replaceInput,
JXStringHistoryMenu prevReplaceMenu,
JXTextCheckbox replaceIsRegexCB,
JXTextCheckbox preserveCaseCB,
JXTextCheckbox stayOpenCB,
JXTextCheckbox retainFocusCB,
JXSearchTextButton findFwdButton,
JXSearchTextButton findBackButton,
JXTextButton replaceButton,
JXSearchTextButton replaceFindFwdButton,
JXSearchTextButton replaceFindBackButton,
JXTextButton replaceAllButton,
JXTextButton replaceAllInSelButton,
JXTextButton closeButton,
JXTextButton helpButton,
JXTextButton qRefButton 
)
protected

◆ SetRegexReplace()

void JXSearchTextDialog::SetRegexReplace ( const bool  regex = true)

◆ SetRegexSearch()

void JXSearchTextDialog::SetRegexSearch ( const bool  regex = true)

◆ SetReplaceText()

void JXSearchTextDialog::SetReplaceText ( const JString str)

◆ SetSearchText()

void JXSearchTextDialog::SetSearchText ( const JString str)

◆ TEDeactivated()

void JXSearchTextDialog::TEDeactivated ( JXTEBase te)
inline

◆ UpdateDisplay()

void JXSearchTextDialog::UpdateDisplay ( )
protectedvirtual

We never need to call this because our update task triggers it regularly.

◆ WriteSetup()

void JXSearchTextDialog::WriteSetup ( std::ostream &  output) const

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