Updated gui.panel.note and simplified hooke.plugin.note.
[hooke.git] / hooke / ui / gui / __init__.py
index 470b6ec452051a3d8da6fed7f9ee3eb7145a722e..e9a394552a07e03c602da4ab334251a76a1eab6c 100644 (file)
@@ -133,10 +133,14 @@ class HookeFrame (wx.Frame):
                     # WANTS_CHARS so the panel doesn't eat the Return key.\r
 #                    size=(160, 200),\r
                     ), 'left'),\r
-#            ('note', panel.note.Note(\r
-#                    parent=self\r
-#                    style=wx.WANTS_CHARS|wx.NO_BORDER,\r
-#                    size=(160, 200)), 'left'),\r
+            (panel.PANELS['note'](\r
+                    callbacks = {\r
+                        '_on_update':self._on_update_note,\r
+                        },\r
+                    parent=self,\r
+                    style=wx.WANTS_CHARS|wx.NO_BORDER,\r
+#                    size=(160, 200),\r
+                    ), 'left'),\r
 #            ('notebook', Notebook(\r
 #                    parent=self,\r
 #                    pos=wx.Point(client_size.x, client_size.y),\r
@@ -230,20 +234,9 @@ class HookeFrame (wx.Frame):
         self.Bind(aui.EVT_AUINOTEBOOK_PAGE_CLOSE, self._on_notebook_page_close)\r
 \r
         return # TODO: cleanup\r
-        for value in self._c['menu bar']._c['view']._c.values():\r
-            self.Bind(wx.EVT_MENU_RANGE, self._on_view, value)\r
-\r
-        self.Bind(wx.EVT_MENU, self._on_save_perspective,\r
-                  self._c['menu bar']._c['perspective']._c['save'])\r
-        self.Bind(wx.EVT_MENU, self._on_delete_perspective,\r
-                  self._c['menu bar']._c['perspective']._c['delete'])\r
-\r
         treeCtrl = self._c['folders'].GetTreeCtrl()\r
         treeCtrl.Bind(wx.EVT_LEFT_DCLICK, self._on_dir_ctrl_left_double_click)\r
         \r
-        # TODO: playlist callbacks\r
-        return # TODO: cleanup\r
-        evtmgr.eventManager.Register(self.OnUpdateNote, wx.EVT_BUTTON, self.panelNote.UpdateButton)\r
         #property editor\r
         self.panelProperties.pg.Bind(wxpg.EVT_PG_CHANGED, self.OnPropGridChanged)\r
         #results panel\r
@@ -403,6 +396,9 @@ class HookeFrame (wx.Frame):
             playlist = results[0]\r
         else:\r
             raise NotImplementedError()\r
+        if 'note' in self._c:\r
+            print sorted(curve.info.keys())\r
+            self._c['note'].set_text(curve.info['note'])\r
         if 'playlist' in self._c:\r
             self._c['playlist']._c['tree'].set_selected_curve(\r
                 playlist, curve)\r
@@ -592,19 +588,6 @@ class HookeFrame (wx.Frame):
     def _on_size(self, event):\r
         event.Skip()\r
 \r
-    def OnUpdateNote(self, event):\r
-        '''\r
-        Saves the note to the active file.\r
-        '''\r
-        active_file = self.GetActiveFile()\r
-        active_file.note = self.panelNote.Editor.GetValue()\r
-\r
-    def UpdateNote(self):\r
-        #update the note for the active file\r
-        active_file = self.GetActiveFile()\r
-        if active_file is not None:\r
-            self.panelNote.Editor.SetValue(active_file.note)\r
-\r
     def UpdatePlaylistsTreeSelection(self):\r
         playlist = self.GetActivePlaylist()\r
         if playlist is not None:\r
@@ -682,6 +665,18 @@ class HookeFrame (wx.Frame):
 \r
 \r
 \r
+    # Note panel interface\r
+\r
+    def _on_update_note(self, _class, method, text):\r
+        """Sets the note for the active curve.\r
+        """\r
+        # TODO: note list interface in NotePanel.\r
+        self.execute_command(\r
+            command=self._command_by_name('set note'),\r
+            args={'note':text})\r
+\r
+\r
+\r
     # Playlist panel interface\r
 \r
     def _on_user_delete_playlist(self, _class, method, playlist):\r