[mousetrap/ng] Settings Dialog Update



commit c23829bc8f7cc8debf266e6cd6273c0398cb9648
Author: Flavio Percoco Premoli <flaper87 gmail com>
Date:   Mon May 4 05:39:09 2009 +0200

    Settings Dialog Update
---
 ChangeLog                        |    6 ++++
 src/mousetrap/mousetrap.py       |    2 +-
 src/mousetrap/ui/settings_gui.py |   52 ++++++++++++++------------------------
 src/ocvfw/dev/camera.py          |   13 +++++++--
 src/ocvfw/idm/forehead.py        |    4 +-
 5 files changed, 38 insertions(+), 39 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 10692d2..68c7107 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+commit e6523cbaf859c05c9948798ac1c93e80e60ad370
+Author: Flavio Percoco Premoli <flaper87 gmail com>
+Date:   Sun May 3 08:15:11 2009 +0200
+
+    Added ChangeLog file
+
 commit 6a9d9789722f2473434d4692daf796346a20ae97
 Author: Flavio Percoco Premoli <flaper87 gmail com>
 Date:   Sun May 3 08:06:06 2009 +0200
diff --git a/src/mousetrap/mousetrap.py b/src/mousetrap/mousetrap.py
index 581a150..ba2eb9f 100644
--- a/src/mousetrap/mousetrap.py
+++ b/src/mousetrap/mousetrap.py
@@ -72,7 +72,7 @@ class Controller():
             # Lets start the module
             idm = pocv.get_idm(self.cfg.get("main", "algorithm"))
             self.idm = idm.Module(self)
-            self.idm.set_capture()
+            self.idm.set_capture(self.cfg.getint("cam", "inputDevIndex"))
 
             gobject.timeout_add(150, a.update_frame)
             gobject.timeout_add(50, a.update_pointers)
diff --git a/src/mousetrap/ui/settings_gui.py b/src/mousetrap/ui/settings_gui.py
index 129ab7c..ab16560 100755
--- a/src/mousetrap/ui/settings_gui.py
+++ b/src/mousetrap/ui/settings_gui.py
@@ -101,7 +101,7 @@ class preffGui( gtk.Window ):
         self.main_gui_tab()
         self.cam_tab()
         self.algorithm_tab()
-        #self.mouseTab()
+        self.mouseTab()
         self.debug_tab()
 
         ####################
@@ -211,7 +211,7 @@ class preffGui( gtk.Window ):
 
         algo_box = gtk.VBox( spacing = 6 )
 
-        liststore = gtk.ListStore(bool, str, str)
+        liststore = gtk.ListStore(bool, str, str, str)
 
         conf_button = gtk.Button(stock=gtk.STOCK_PREFERENCES)
         conf_button.connect('clicked', self.show_alg_pref, liststore)
@@ -226,25 +226,33 @@ class preffGui( gtk.Window ):
         toggle_cell.set_property('activatable', True)
         #toggle_cell.set_property('background-set' , True)
 
-        text_cell = gtk.CellRendererText()
+        name_cell = gtk.CellRendererText()
+        desc_cell = gtk.CellRendererText()
 
         toggle_column = gtk.TreeViewColumn(_('Active Algorithms'), toggle_cell)
-        text_column = gtk.TreeViewColumn(_('Installed Algorithms'))
+        name_column = gtk.TreeViewColumn(_('Installed Algorithms'))
+        desc_column = gtk.TreeViewColumn(_('Description'))
 
         for alg in pocv.get_idms_list():
             alg_inf = pocv.get_idm_inf(alg)
-            liststore.append([False, alg_inf["name"], alg_inf["stgs"]])
+            state = False
+            if alg_inf["name"].lower() in self.cfg.get("main", "algorithm").lower():
+                state = True
+            liststore.append([state, alg_inf["name"], alg_inf["dsc"], alg_inf["stgs"]])
             #liststore.append([False, "%s: %s" % (alg_inf["name"], alg_inf["dsc"]), alg_inf["stgs"]])
 
         tree_view.append_column(toggle_column)
-        tree_view.append_column(text_column)
+        tree_view.append_column(name_column)
+        tree_view.append_column(desc_column)
 
-        text_column.pack_start(text_cell, True)
+        name_column.pack_start(name_cell, True)
+        desc_column.pack_start(desc_cell, True)
 
         toggle_column.add_attribute( toggle_cell, "active", 0 )
         toggle_column.set_max_width(30)
         #toggle_column.set_attributes( toggle_cell, background=2 )
-        text_column.set_attributes(text_cell, text=1)
+        name_column.set_attributes(name_cell, text=1)
+        desc_column.set_attributes(desc_cell, text=2)
 
         algo_box.pack_start(tree_view)
         algo_box.pack_start(conf_button, False, False)
@@ -299,29 +307,6 @@ class preffGui( gtk.Window ):
         defClickF.add( defClick)
         camBox.pack_start( defClickF, False, False )
 
-
-        mouseModF = gtk.Frame( _( "Select Mouse Mode:" ) )
-
-        mouseModes = env.mouseModes
-
-        mouseModesInv = dict((v,k) for k,v in mouseModes.iteritems())
-
-        mouseMod = gtk.combo_box_new_text()
-        mouseMod.append_text(mouseModes[self.cfg.get( "cam", "mouseMode" )])
-        mouseModlBl = gtk.Label(self.cfg.get( "cam", "mouseMode" ))
-        self.preffWidgets['mouseMode'] = mouseModlBl
-
-        for mode in mouseModes:
-            if mode == self.cfg.get( "cam", "mouseMode" ):
-                continue
-            mouseMod.append_text( mouseModes[mode] )
-
-        mouseMod.connect('changed', self._comboChanged, "cam", "mouseMode", mouseModesInv)
-        mouseMod.set_active(0)
-
-        mouseModF.add( mouseMod)
-        camBox.pack_start( mouseModF, False, False )
-
         camBox.show_all()
 
         Frame.add( camBox )
@@ -399,9 +384,9 @@ class preffGui( gtk.Window ):
         ts = widget.get_selection()
         model, it = ts.get_selected()
         path = model.get_path(it)[0]
-        if model[path][0] and model[path][2]:
+        if model[path][0] and model[path][3]:
             self.selected_idm = model[path][1]
-            self.selected_idm_stgs = model[path][2]
+            self.selected_idm_stgs = model[path][3]
             conf_button.set_sensitive(True)
 
     def _toggle_cell_changed(self, cell, path, model):
@@ -416,6 +401,7 @@ class preffGui( gtk.Window ):
             pth = str(pth)
             if pth == path:
                 model[pth][0] = True
+                self.cfg.set("main", "algorithm", model[pth][1].lower())
             else:
                 model[pth][0] = False
 
diff --git a/src/ocvfw/dev/camera.py b/src/ocvfw/dev/camera.py
index 4206565..5719da4 100644
--- a/src/ocvfw/dev/camera.py
+++ b/src/ocvfw/dev/camera.py
@@ -39,7 +39,7 @@ from .._ocv import ocvfw as ocv
 
 class __Camera(ocv):
 
-    def init(self, idx=0 ):
+    def init(self):
         """
         Initialize the camera.
 
@@ -49,8 +49,13 @@ class __Camera(ocv):
         - fps: The frames per second to be queried.
         - async: Enable/Disable asynchronous image querying. Default: False
         """
+        self.idx = 0
 
-        self.start_camera(idx)
+    def set_camera(self, idx):
+        self.idx = idx
+
+    def start(self):
+        self.start_camera(self.idx)
 
 
 Camera = __Camera()
@@ -58,13 +63,15 @@ Camera = __Camera()
 
 class Capture(object):
 
-    def __init__(self, image=None, fps=100, async=False):
+    def __init__(self, image=None, fps=100, async=False, idx=0):
 
         self.__lock        = False
         self.__flip        = {}
         self.__color       = "bgr"
         self.__props       = { "color" : "rgb" }
         self.__camera      = Camera
+        self.__camera.set_camera(idx)
+        self.__camera.start();
 
         self.__graphics    = { "rect"  : [],
                                "point" : []}
diff --git a/src/ocvfw/idm/forehead.py b/src/ocvfw/idm/forehead.py
index 06a0df0..e2fe99b 100644
--- a/src/ocvfw/idm/forehead.py
+++ b/src/ocvfw/idm/forehead.py
@@ -81,8 +81,8 @@ class Module(object):
             pass
         pass
 
-    def set_capture(self):
-        self.cap = Capture(async=True)
+    def set_capture(self, cam):
+        self.cap = Capture(async=True, idx=cam)
         self.cap.change(color="rgb")
 
     def calc_motion(self):



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]