/** * \file FormSearch.C * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * * \author Edwin Leuven * * Full author contact details are available in file CREDITS */ #include #ifdef __GNUG__ #pragma implementation #endif #include "xformsBC.h" #include "ControlSearch.h" #include "FormSearch.h" #include "forms/form_search.h" #include FORMS_H_LOCATION typedef FormCB > base_class; FormSearch::FormSearch() : base_class(_("Find and Replace")) {} void FormSearch::build() { dialog_.reset(build_search(this)); // Manage the ok, apply and cancel/close buttons bc().setCancel(dialog_->button_close); bc().addReadOnly(dialog_->input_replace); bc().addReadOnly(dialog_->button_replace); bc().addReadOnly(dialog_->button_replaceall); } void FormSearch::update() { fl_set_input_selected(dialog_->input_search, true); fl_set_focus_object(dialog_->form, dialog_->input_search); } ButtonPolicy::SMInput FormSearch::input(FL_OBJECT * obj, long) { if (obj == dialog_->button_findnext || obj == dialog_->button_findprev) { bool const forward = (obj == dialog_->button_findnext); controller().find(fl_get_input(dialog_->input_search), fl_get_button(dialog_->check_casesensitive), fl_get_button(dialog_->check_matchword), forward); } else if (obj == dialog_->button_replace || obj == dialog_->button_replaceall) { bool const all = (obj == dialog_->button_replaceall); controller().replace(fl_get_input(dialog_->input_search), fl_get_input(dialog_->input_replace), fl_get_button(dialog_->check_casesensitive), fl_get_button(dialog_->check_matchword), all); } return ButtonPolicy::SMI_VALID; }