[GTKmm] Fenster schließen & TextView



  • Sollte eigentlich ein triviales Problem sein aber ich finde die Funktion nicht:

    Ich habe eine von

    Gtk::Window
    

    abgeleitete Klasse, die per

    Gtk::Main::run(instanz)
    

    gestartet wird. Nun würde ich gerne das Fenster in einem Signalhandler, der als Memberfunktion implementiert ist, das Fenster schlicht schließen, finde aber den passenden Funktionsaufruf nicht.



  • Was du suchst, ist hide();

    Eleganter geht das so:

    //Unsere quit-Methode
    void Application::shutdown() {
      Gtk::MessageDialog dia("Really quit application", false, Gtk::MESSAGE_QUESTION,
    			 Gtk::BUTTONS_YES_NO, true);
    
      int result = dia.run();
    
      //Wenn Benutzer Anwendung schließen will, erfüllen wir ihm diesen Wunsch :-D
      if (Gtk::RESPONSE_YES == result)
        hide();
    }
    
    //Wenn jemand das Fenster schließt, wird dieser Handler aufgerufen
    bool Application::on_delete_event(GdkEventAny *event) {
      shutdown();
      return true;
    }
    


  • Danke, macht genau das was ich will.

    Damit erledigt sich auch die Frage nach dem Signal, das ich dabei bekomme (signal_hide() )

    noch eine Frage: Gibts für Gtk::TextViews was vergleichbares zu signal_changed() oder muss ich da mit signal_keydown() oder so arbeiten? signal_changed() will mein Compiler nicht.

    EDIT://
    signal_changed gibts für den Buffer 🙂


Log in to reply