Estoy haciendo una aplicación en C++ y glade y necesito que cuando se cliquea el botón cancelar borre los datos ingresados, tengo esto.
wndLogin_glade.hh
Código C++:
Ver originalclass wndLogin_glade : public Gtk::Window
{
GlademmData *gmm_data;
public:
class Gtk::Window * wndLogin;
protected:
class Gtk::Button * btnCancelar;
wndLogin_glade();
~wndLogin_glade();
private:
virtual bool on_btnCancelar_key_press_event(GdkEventKey *ev) = 0;
virtual void on_btnCancelar_clicked();
};
wndLogin_glade.cc //A donde están las señales
Código C++:
Ver original/* signals */
btnCancelar->signal_key_press_event().connect(SigC::slot(*this, &wndLogin_glade::on_btnCancelar_key_press_event), false);
btnCancelar->signal_clicked().connect(SigC::slot(*this, &wndLogin_glade::on_btnCancelar_clicked));
wndLogin.hh
Código C++:
Ver originalclass wndLogin : public wndLogin_glade
{
private:
bool on_btnCancelar_key_press_event(GdkEventKey *ev);
void on_btnCancelar_clicked();
};
wndLogin.cc
Código C++:
Ver originalbool wndLogin::on_btnCancelar_key_press_event(GdkEventKey *ev)
{
if (ev->keyval == GDK_Return || ev->keyval == GDK_KP_Enter) {
/* Vuelvo ventana a estado original */
entUsuario->set_text("");
entPassword->set_text("");
entUsuario->grab_focus();
}
return 0;
}
void wndLogin::on_btnCancelar_clicked()
{
//Vuelvo ventana a estado original
entUsuario->set_text("");
entPassword->set_text("");
entUsuario->grab_focus();
return 0;
}
Siempre pongo como ejemplo key_press_envet que esa señal anda bien, al compilar así como está me da.
wndLogin.cc: In member function `virtual void
wndLogin::on_btnCancelar_clicked()':
wndLogin.cc:152: error: return-statement with a value, in function declared
with a void return type
make[1]: *** [wndLogin.lo] Error 1
make[1]: Leaving directory `/root/sirel3/glade/wndLogin'
make: *** [all-recursive] Error 1