Пример #1
0
void CTreeViewGames::setNameFilter(Glib::ustring p_str) {
    int l_ind;

    // La aplicación del filtro dependerá de esta variable
    m_apply_filter_regex = (p_str != "");

    // Crearemos la expresión regular solo si es necesario
    if(m_apply_filter_regex) {
        // Escapamos caracteres especiales en la cadena y añadimos marcador de inicio
        p_str = "^" + Glib::Regex::escape_string(p_str);
        // Restauramos las apariciones de * para permitir la sustitución de 0 o
        // más caracteres
        l_ind = p_str.find("\\*");
        while(l_ind > -1) {
            p_str = p_str.replace(l_ind, 2, ".*");
            l_ind = p_str.find("\\*", l_ind + 1);
        }
        // Restauramos las apariciones de ? para permitir la sustitución de 0 o
        // 1 caracter
        l_ind = p_str.find("\\?");
        while(l_ind > -1) {
            p_str = p_str.replace(l_ind, 2, ".?");
            l_ind = p_str.find("\\?", l_ind + 1);
        }

        // Creamos la expresión regular para el filtrado por nombre
        m_filter_regex = Glib::Regex::create(p_str, Glib::REGEX_CASELESS|Glib::REGEX_OPTIMIZE);
    }

    m_filter_list->refilter();
}
Пример #2
0
void FORMATEAR(Gtk::Entry* entry) {
	Glib::ustring texto = entry->get_text();
	Glib::ustring primera_letra = texto.substr(0, 1);
	primera_letra = primera_letra.uppercase();
	texto.replace(0, 1, primera_letra);
	entry->set_text(texto);
}
Пример #3
0
Glib::ustring replace_in_string(Glib::ustring data, Glib::ustring toBeReplaced, Glib::ustring replace)
{
	guint pos = 0 ;
	int size = toBeReplaced.size() ;
	pos = data.find(toBeReplaced) ;
	while ( pos!= string::npos ) {
		data.replace(pos, size, replace) ;
		pos = data.find(toBeReplaced) ;
	}
	return data ;
}