gtkmm: TreeView -- automatische Checkbox und signal_toggled()



  • In einem TreeModel benutze ich Gtk::TreeModelColumn<bool>, dadurch wird im TreeView eine Checkbox erzeugt. Wie komme ich an diese Checkbox, um folgenden Code daran aufzurufen?

    signal_toggled().connect(...)
    

    Bis jetzt gehe ich wie folgt vor:

    int cols_count;
    Gtk::TreeViewColumn* pColumn;
    
    cols_count = m_TreeView.append_column_editable(label, m_MyColumnRecord.m_testCheckbox);
    m_TreeView.get_column(cols_count - 1);
    pColumn = m_TreeView.get_column(cols_count - 1);
    if(pColumn)
    {
        // ... hier müsste der Code wohl hin.
    }
    

    Ich benutze das Tutorial auf www.gtkmm.org, arbeite mit Visual Studio 2005 ohne Glade



  • Du kannst mit get_cell_renderes() eine Liste der verschiedenen Objekte, die für das Anzeigen der Daten verantwortlich sind herraus kriegen. Den CellRenderer, den du suchst, ist CellRendererToggle. Hoffe das funktioniert so:

    Gtk::CellRendererToggle& toggle = dynamic_cast<Gtk::CellRendererToggle&>(*(pColumn->get_cell_renderers().begin()));
    toggle.signal_toggled().connect(...)
    

Anmelden zum Antworten