gtkmm filechooserdialog



  • moin.
    ich habe ein problem beim aufruf eines filechooserdialogs.

    aufruf:

    class MyClass: public Gtk::Window{
    ...
    public void MyClass::save(stream){
     Dialog* d=new Dialog();
    }
    ...
    

    die dialogklasse:

    // h file
    #include <gtkmm.h>
    
    class Dialog : public Gtk::Window
    {
    public:
      Dialog();
      virtual ~Dialog();
    
    protected:
      //Signal handlers:
      virtual void on_button_file_clicked();
      virtual void on_button_folder_clicked();
    
      //Child widgets:
      Gtk::VButtonBox m_ButtonBox;
      Gtk::Button m_Button_File, m_Button_Folder;
    };
    
    // ---
    //cpp file
    Dialog::Dialog( )
    : m_Button_File("Choose File"),
      m_Button_Folder("Choose Folder")
    {
      set_title("save");
      std::cout<<"drin"<<std::endl;
      add(m_ButtonBox);
    
      m_ButtonBox.pack_start(m_Button_File);
      m_Button_File.signal_clicked().connect( sigc::mem_fun(*this, &Dialog::on_button_file_clicked) );
    
      m_ButtonBox.pack_start(m_Button_Folder);
      m_Button_Folder.signal_clicked().connect( sigc::mem_fun(*this, &Dialog::on_button_folder_clicked) );
    
      show_all_children();
    };
    

    Mein "drin" wird geprintet, leider sehe ich nix!
    weiss jemand weiter??

    und: wie kann ich festlegen, dass es ein save dialog sein soll
    Gtk::FileCoooserAction::FILE_CHOOSER ACTION_SAVE is klar, nur wo definiere ich?

    dank



  • class MyClass: public Gtk::Window{
    ...
    public void MyClass::save(stream){
     Dialog* d=new Dialog();
     d->run(); // das fehlt
    }
    

Anmelden zum Antworten