Added skill tree to Diablo UI. Not yet scrollable.
authorDanny Campbell <danny.campbell@gmail.com>
Wed, 21 Apr 2010 00:35:07 +0000 (18:35 -0600)
committerDanny Campbell <danny.campbell@gmail.com>
Wed, 21 Apr 2010 00:35:07 +0000 (18:35 -0600)
src/ui/diablo/ui.py

index c37ddbb..8a8bb23 100644 (file)
@@ -87,6 +87,7 @@ class mEveMonUI():
 
         char_name = model.get_value(miter, 1)
         char_id = self.controller.char_name2id(char_name)
+        sheet = self.controller.get_char_sheet(char_id)
 
         win.set_title(char_name)
         
@@ -102,8 +103,7 @@ class mEveMonUI():
         corp = gtk.Label("Corp: %s" % corp_name)
         corp.set_alignment(0, 0.5)
 
-        balance = gtk.Label("Balance: %s ISK" % 
-                self.controller.get_account_balance(char_id))
+        balance = gtk.Label("Balance: %s ISK" % sheet.balance )
         balance.set_alignment(0, 0.5)
 
         sp = gtk.Label("Skill points: %s" % skill_points)
@@ -131,12 +131,62 @@ class mEveMonUI():
         vbox.pack_start(hbox, False, False, 0)
         vbox.pack_start(skillLabel, False, False, 5)
 
+        # need to make scrollable --danny
+        skills_model = self.create_skills_model(sheet)
+        skills_treeview = gtk.TreeView( model = skills_model )
+        skills_treeview.set_model(skills_model)
+        self.add_columns_to_skills_view(skills_treeview)
+
+        vbox.pack_start(skills_treeview, False, False, 0)
+
         win.add(vbox)
         win.show_all()
 
         progress_bar.set_fraction( 1 )
         progress_bar.destroy()
 
+    def add_columns_to_skills_view(self, treeview):
+        #Column 0 for the treeview
+        renderer = gtk.CellRendererText()
+        column = gtk.TreeViewColumn('Skill Name', renderer, text=0)
+        column.set_property("expand", True)
+        treeview.append_column(column)
+        
+        #Column 1 for the treeview
+        renderer = gtk.CellRendererText()
+        column = gtk.TreeViewColumn('Skill Info', renderer, text=1)
+        column.set_property("expand", True)
+        treeview.append_column(column)
+
+    def create_skills_model(self, sheet):
+   
+        lstore = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
+
+        skilltree = self.controller.get_skill_tree()
+       
+        sp = [0, 250, 1414, 8000, 45255, 256000]
+
+        for g in skilltree.skillGroups:
+
+            skills_trained_in_this_group = False
+
+            for skill in g.skills:
+
+                trained = sheet.skills.Get(skill.typeID, False)
+                
+                if trained:
+
+                    if not skills_trained_in_this_group:
+
+                        #TODO: add as a heading/category
+                        skills_trained_in_this_group = True
+                    
+                    # add row for this skill
+                    liter = lstore.append()
+                    lstore.set(liter, 0, "%s (Rank %d)" % (skill.typeName, skill.rank), 1, "SP: %d Level %d" % (trained.skillpoints, trained.level))
+
+        return lstore
+
     def create_char_model(self):
         lstore = gtk.ListStore(gtk.gdk.Pixbuf, gobject.TYPE_STRING)
         #get icon and name and put in a liststore
@@ -167,7 +217,7 @@ class mEveMonUI():
 
         #Column 1 for the treeview
         renderer = gtk.CellRendererText()
-        column = gtk.TreeViewColumn('title', renderer, text=1)
+        column = gtk.TreeViewColumn('Character Name', renderer, text=1)
         column.set_property("expand", True)
         treeview.append_column(column)