Bonsoir,

Alors voilà mon probleme je souhaite créer un arbre de compétence. L'idée c'est de prendre les compétences, les mettre dans un TreeStore que je lie à une ComboBox pour pouvoir selectionner la competence parent de la competence que je vais créer. Et là, j'ai deux problemes :

Dés que j'ai cliqué sur la ComboBox, comment je peux faire pour annuler le choix ? (au pire, je ferrai un truc assez crade en rajoutant une compétence bidon à mon treestore)

Lorsque je survole les noeud dans la ComboBox, il me les déplie, mais je ne peux pas cliquer dessus pour les selectionner. J'ai cherché sur la doc de ComboBox, mais je n'ai rien trouvé

mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
require "rubygems"
require "active_record"
require "acts_as_tree"
 
class Competence < ActiveRecord::Base
	acts_as_tree
end
 
#J'utilise les fonctions de l'acts_as_tree pour créer un TreeStore
class TreeCompetence < Gtk::TreeStore
        def storeR(parent, node,store)
                childs = parent.children
                childs.each do |child|
                        subnode = store.append(node)
                        subnode[0] = child
                        storeR(child, subnode,store)
                end
        end
        def initialize
                super(Competence)
                competences = Competence.find_all_by_parent_id(nil)
                competences.each do |competence|
                        root = self.append(nil)
                        root[0] = competence
                        storeR(root[0],root,self)
                end
        end
end
 
 
store = TreeCompetence.new
box = Gtk::ComboBox.new(store)
rend = Gtk::CellRendererText.new
box.pack_start(rend,false)
box.set_cell_data_func(rend) do |celllayout, rend, model, iter|
        rend.text = iter[0].nom
end
Si quelqu'un a une piste

Merci