Exemple #1
0
wxSTEditorOptions::wxSTEditorOptions(long editor_opt,
                                     long splitter_opt,
                                     long notebook_opt,
                                     long frame_opt,
                                     long config_opt,
                                     const wxString& defaultFileName,
                                     const wxString& defaultFilePath,
                                     const wxString& defaultFileExt )
{
    m_refData = new wxSTEditorOptions_RefData();

    SetOptionInt(STE_OPTION_EDITOR,      editor_opt);
    SetOptionInt(STE_OPTION_SPLITTER,    splitter_opt);
    SetOptionInt(STE_OPTION_NOTEBOOK,    notebook_opt);
    SetOptionInt(STE_OPTION_FRAME,       frame_opt);
    SetOptionInt(STE_OPTION_CONFIG,      config_opt);
    SetOptionInt(STE_OPTION_FINDREPLACE, STE_FR_DEFAULT_OPTIONS);

    SetOption(STE_OPTION_DEFAULT_FILENAME, defaultFileName);
    SetOption(STE_OPTION_DEFAULT_FILEPATH, defaultFilePath);
    SetOption(STE_OPTION_DEFAULT_FILEEXTS, defaultFileExt);

    SetOption(STE_OPTION_CFGPATH_BASE,        wxT("/wxSTEditor"));
    SetOption(STE_OPTION_CFGPATH_PREFS,       wxT("Preferences"));
    SetOption(STE_OPTION_CFGPATH_STYLES,      wxT("Styles"));
    SetOption(STE_OPTION_CFGPATH_LANGS,       wxT("Languages"));
    SetOption(STE_OPTION_CFGPATH_FRAME,       wxT("Frame"));
    SetOption(STE_OPTION_CFGPATH_FILEHISTORY, wxT("RecentFiles"));
    SetOption(STE_OPTION_CFGPATH_FINDREPLACE, wxT("FindReplace"));

    SetUseGlobalPrefsStylesLangs();

    SetFindReplaceData(&s_wxSTEditor_FindData, true);
    SetMenuManager(new wxSTEditorMenuManager(0, 0, STE_MENU_EDIT_DEFAULT, 0, 0,	0, STE_MENU_PREFS_DEFAULT, 0, 0, 0), false); //maks
}
bool FindReplaceDialog::Show(int kind)
{
	if ( IsShown() ) {
		if (m_kind == kind) {
			return true;
		}
		//change the dialog
		ShowReplaceControls(true);
		return true;
	}

	if(kind == FIND_DLG) {
		ShowReplaceControls(false);
	}else{
		ShowReplaceControls(true);
	}

	// call Show() here
	bool res = wxDialog::Show();

	// and now call the focus methods
	SetFindReplaceData(m_data, true);
	m_findString->SetSelection(-1, -1); // select all
	m_findString->SetFocus();
	return res;
}
Exemple #3
0
void FindReplaceDialog::CreateGUIControls()
{
    wxBoxSizer* hMainSzier = new wxBoxSizer(wxHORIZONTAL);
    wxBoxSizer* btnSizer = new wxBoxSizer(wxVERTICAL);
    gbSizer = new wxGridBagSizer();
    SetSizer(hMainSzier);

    hMainSzier->Add(gbSizer, 1, wxEXPAND | wxALL, 5);
    hMainSzier->Add(btnSizer, 0, wxALL, 5);

    wxStaticText* itemStaticText;
    itemStaticText =
        new wxStaticText(this, wxID_STATIC, wxT("Find What:"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);
    gbSizer->Add(itemStaticText, wxGBPosition(0, 0), wxDefaultSpan, wxALL, 5);

    m_findString = new wxComboBox(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(200, -1));
    gbSizer->Add(m_findString, wxGBPosition(0, 1), wxDefaultSpan, wxALL | wxEXPAND, 5);

    m_replaceWithLabel =
        new wxStaticText(this, wxID_STATIC, wxT("Replace With:"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT);
    gbSizer->Add(m_replaceWithLabel, wxGBPosition(1, 0), wxDefaultSpan, wxALL, 5);

    m_replaceString = new wxComboBox(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(200, -1));
    gbSizer->Add(m_replaceString, wxGBPosition(1, 1), wxDefaultSpan, wxALL | wxEXPAND, 5);

    sz = new wxStaticBoxSizer(wxVERTICAL, this, wxT("Options"));
    gbSizer->Add(sz, wxGBPosition(2, 0), wxGBSpan(1, 2), wxALL | wxEXPAND, 5);

    gbSizer->AddGrowableCol(1);

    m_matchCase = new wxCheckBox(this, wxID_ANY, wxT("&Match case"));
    sz->Add(m_matchCase, 1, wxALL | wxEXPAND, 5);

    m_matchWholeWord = new wxCheckBox(this, wxID_ANY, wxT("Match &whole word"));
    sz->Add(m_matchWholeWord, 1, wxALL | wxEXPAND, 5);

    m_regualrExpression = new wxCheckBox(this, wxID_ANY, wxT("Regular &expression"));
    sz->Add(m_regualrExpression, 1, wxALL | wxEXPAND, 5);

    m_searchUp = new wxCheckBox(this, wxID_ANY, wxT("Search &up"));
    sz->Add(m_searchUp, 1, wxALL | wxEXPAND, 5);

    m_selectionOnly = new wxCheckBox(this, wxID_ANY, wxT("Search / Replace in selec&ted text"));
    sz->Add(m_selectionOnly, 1, wxALL | wxEXPAND, 5);

    // Add the buttons

    m_find = new wxButton(this, wxID_ANY, wxT("&Find Next"));
    btnSizer->Add(m_find, 1, wxALL | wxEXPAND, 5);

    m_replace = new wxButton(this, wxID_ANY, wxT("&Replace"));
    btnSizer->Add(m_replace, 1, wxALL | wxEXPAND, 5);

    m_replaceAll = new wxButton(this, wxID_ANY, wxT("Replace &All"));
    btnSizer->Add(m_replaceAll, 1, wxALL | wxEXPAND, 5);

    m_markAll = new wxButton(this, wxID_ANY, wxT("&Bookmark All"));
    btnSizer->Add(m_markAll, 1, wxALL | wxEXPAND, 5);

    m_clearBookmarks = new wxButton(this, wxID_ANY, wxT("&Clear Bookmarks"));
    btnSizer->Add(m_clearBookmarks, 1, wxALL | wxEXPAND, 5);

    m_cancel = new wxButton(this, wxID_ANY, wxT("Close"));
    btnSizer->Add(m_cancel, 1, wxALL | wxEXPAND, 5);

    m_replacementsMsg = new wxStaticText(this, wxID_ANY, wxEmptyString);
    btnSizer->Add(m_replacementsMsg, 1, wxALL | wxEXPAND, 5);
    // gbSizer->Add(m_replacementsMsg, wxGBPosition(3, 0), wxGBSpan(1, 2), wxALL | wxEXPAND, 5);
    SetReplacementsMessage(frd_dontshowzeros);

    // set values
    SetFindReplaceData(m_data, true);
}
Exemple #4
0
void FindReplaceDialog::OnClick(wxCommandEvent& event)
{
    wxObject* btnClicked = event.GetEventObject();
    size_t flags = m_data.GetFlags();
    m_data.SetFindString(m_findString->GetValue());
    m_data.SetReplaceString(m_replaceString->GetValue());

    // disable the 'Find/Replace' buttons when the 'Selection only' is enabled
    if(m_selectionOnly->IsChecked()) {
        m_find->Enable(false);
        m_replace->Enable(false);
    } else {
        m_find->Enable(true);
        m_replace->Enable(true);
    }

    if(btnClicked == m_find) {
        VALIDATE_FINDWHAT();
        SendEvent(wxEVT_FRD_FIND_NEXT);
    } else if(btnClicked == m_replace) {
        VALIDATE_FINDWHAT();
        SendEvent(wxEVT_FRD_REPLACE);
    } else if(btnClicked == m_replaceAll) {
        VALIDATE_FINDWHAT();
        SendEvent(wxEVT_FRD_REPLACEALL);
    } else if(btnClicked == m_markAll) {
        VALIDATE_FINDWHAT();
        SendEvent(wxEVT_FRD_BOOKMARKALL);
    } else if(btnClicked == m_clearBookmarks) {
        SendEvent(wxEVT_FRD_CLEARBOOKMARKS);
    } else if(btnClicked == m_cancel) {
        // Fire a close event
        SendEvent(wxEVT_FRD_CLOSE);
        // Hide the dialog
        Hide();
        // Make sure the Search in Selected Text flag is clear, otherwise we can't Find Next
        flags &= ~(wxFRD_SELECTIONONLY);
    } else if(btnClicked == m_matchCase) {
        if(m_matchCase->IsChecked()) {
            flags |= wxFRD_MATCHCASE;
        } else {
            flags &= ~(wxFRD_MATCHCASE);
        }
    } else if(btnClicked == m_matchWholeWord) {
        if(m_matchWholeWord->IsChecked()) {
            flags |= wxFRD_MATCHWHOLEWORD;
        } else {
            flags &= ~(wxFRD_MATCHWHOLEWORD);
        }
    } else if(btnClicked == m_regualrExpression) {
        if(m_regualrExpression->IsChecked()) {
            flags |= wxFRD_REGULAREXPRESSION;
        } else {
            flags &= ~(wxFRD_REGULAREXPRESSION);
        }
    } else if(btnClicked == m_searchUp) {
        if(m_searchUp->IsChecked()) {
            flags |= wxFRD_SEARCHUP;
        } else {
            flags &= ~(wxFRD_SEARCHUP);
        }
    } else if(btnClicked == m_selectionOnly) {
        if(m_selectionOnly->IsChecked()) {
            flags |= wxFRD_SELECTIONONLY;
        } else {
            flags &= ~(wxFRD_SELECTIONONLY);
        }
    }

    // Set the updated flags, unless it was ReplaceAll which does this itself
    if(btnClicked != m_replaceAll) { m_data.SetFlags(flags); }

// update the data of the find/replace dialog, in particular,
// update the history of the Find What / replace with controls
#if defined(__WXGTK__) && wxVERSION_NUMBER >= 2900
    // But if it's a findNext or a Replace, do it by posting an event,
    // otherwise strange duplications happen (because scintilla steals the primary selection?)
    wxCommandEvent e(wxEVT_FRD_FIND_NEXT); // Arbitrary choice of event-type
    wxPostEvent(this, e);
#else
    SetFindReplaceData(m_data, false);
#endif
}
Exemple #5
0
void FindReplaceDialog::OnFindEvent(wxCommandEvent& event) { SetFindReplaceData(GetData(), false); }
void FindReplaceDialog::OnClick(wxCommandEvent &event)
{
	wxObject *btnClicked = event.GetEventObject();
	size_t flags = m_data.GetFlags();
	m_data.SetFindString( m_findString->GetValue() );
	m_data.SetReplaceString( m_replaceString->GetValue() );

	// disable the 'Find/Replace' buttons when the 'Selection only' is enabled
	if ( m_selectionOnly->IsChecked() ) {
		m_find->Enable(false);
		m_replace->Enable(false);
	} else {
		m_find->Enable(true);
		m_replace->Enable(true);
	}

	if (btnClicked == m_find) {
		VALIDATE_FINDWHAT();
		SendEvent(wxEVT_FRD_FIND_NEXT);
	} else if (btnClicked == m_replace) {
		VALIDATE_FINDWHAT();
		SendEvent(wxEVT_FRD_REPLACE);
	} else if (btnClicked == m_replaceAll) {
		VALIDATE_FINDWHAT();
		SendEvent(wxEVT_FRD_REPLACEALL);
	} else if (btnClicked == m_markAll) {
		VALIDATE_FINDWHAT();
		SendEvent(wxEVT_FRD_BOOKMARKALL);
	} else if (btnClicked == m_clearBookmarks) {
		SendEvent(wxEVT_FRD_CLEARBOOKMARKS);
	} else if (btnClicked == m_cancel) {
		// Fire a close event
		SendEvent(wxEVT_FRD_CLOSE);
		// Hide the dialog
		Hide();
		// Make sure the Search in Selected Text flag is clear, otherwise we can't Find Next
		flags &= ~(wxFRD_SELECTIONONLY);
	} else if (btnClicked == m_matchCase) {
		if (m_matchCase->IsChecked()) {
			flags |= wxFRD_MATCHCASE;
		} else {
			flags &= ~(wxFRD_MATCHCASE);
		}
	} else if (btnClicked == m_matchWholeWord) {
		if (m_matchWholeWord->IsChecked()) {
			flags |= wxFRD_MATCHWHOLEWORD;
		} else {
			flags &= ~(wxFRD_MATCHWHOLEWORD);
		}
	} else if (btnClicked == m_regualrExpression) {
		if (m_regualrExpression->IsChecked()) {
			flags |= wxFRD_REGULAREXPRESSION;
		} else {
			flags &= ~(wxFRD_REGULAREXPRESSION);
		}
	} else if (btnClicked == m_searchUp) {
		if (m_searchUp->IsChecked()) {
			flags |= wxFRD_SEARCHUP;
		} else {
			flags &= ~(wxFRD_SEARCHUP);
		}
	} else if (btnClicked == m_selectionOnly) {
		if (m_selectionOnly->IsChecked()) {
			flags |= wxFRD_SELECTIONONLY;
		} else {
			flags &= ~(wxFRD_SELECTIONONLY);
		}
	}

	// Set the updated flags, unless it was ReplaceAll which does this itself
	if (btnClicked != m_replaceAll) {
		m_data.SetFlags(flags);
	}

	// update the data of the find/replace dialog, in particular,
	// update the history of the Find What / replace with controls
	SetFindReplaceData(m_data, false);
}