diff light8/ExtSliderMapper.py @ 105:616f8af19462

results of 7.14 performance
author dmcc
date Tue, 16 Jul 2002 00:17:42 +0000
parents 15ead14b4dd1
children
line wrap: on
line diff
--- a/light8/ExtSliderMapper.py	Mon Jul 15 02:27:54 2002 +0000
+++ b/light8/ExtSliderMapper.py	Tue Jul 16 00:17:42 2002 +0000
@@ -214,7 +214,7 @@
             self.current_mappings.append(SliderMapping(color))
 
         self.draw_interface()
-    def load_presets(self):
+    def load_presets(self, *args):
         self.presets = {}
         self.file = open(self.filename, 'r')
         lines = self.file.readlines()
@@ -223,6 +223,8 @@
             name = tokens.pop(0)
             self.presets[name] = tokens
         self.file.close()
+        if args: # called from callback
+            self.draw_interface()
     def save_presets(self):
         self.file = open(self.filename, 'w')
         self.file.seek(0)
@@ -289,6 +291,12 @@
         self.presetcombo.entry.configure(bg='black', fg='white')
         self.draw_presets()
         self.presetcombo.pack(side=LEFT)
+        Button(presetframe, text="Prev", padx=0, pady=0, bg='black', 
+                fg='white', font=stdfont, 
+                command=self.prev_preset).pack(side=LEFT)
+        Button(presetframe, text="Next", padx=0, pady=0, bg='black', 
+                fg='white', font=stdfont, 
+                command=self.next_preset).pack(side=LEFT)
         Button(presetframe, text="Add", padx=0, pady=0, bg='black', 
                 fg='white', font=stdfont, 
                 command=self.add_preset).pack(side=LEFT)
@@ -309,6 +317,20 @@
         self.disconnect_all()
         for subname, slidermap in zip(preset_mapping, self.current_mappings):
             slidermap.set_subname(subname)
+    def change_preset_by_index(self, delta):
+        preset_names = self.presets.keys()
+        preset_names.sort()
+        try:
+            next = preset_names[preset_names.index(self.current_preset.get())
+                + delta]
+            self.current_preset.set(next)
+            self.apply_preset(next)
+        except (IndexError, ValueError):
+            print "Light 8.8: Can't go in that direction.  Dig up!"
+    def next_preset(self, *args):
+        self.change_preset_by_index(1)
+    def prev_preset(self, *args):
+        self.change_preset_by_index(-1)
     def delete_preset(self, *args):
         del self.presets[self.current_preset.get()]
         self.presetcombo.slistbox.listbox.delete(0, END)
@@ -320,6 +342,7 @@
         self.presetcombo.slistbox.listbox.delete(0, END)
         self.draw_presets()
         self.save_presets()
+        self.draw_interface()
     def draw_presets(self):
         preset_names = self.presets.keys()
         preset_names.sort()