diff options
Diffstat (limited to 'indra/viewer_components')
| -rw-r--r-- | indra/viewer_components/manager/InstallerUserMessage.py | 52 | ||||
| -rwxr-xr-x | indra/viewer_components/manager/SL_Launcher | 1 | 
2 files changed, 43 insertions, 10 deletions
| diff --git a/indra/viewer_components/manager/InstallerUserMessage.py b/indra/viewer_components/manager/InstallerUserMessage.py index 0ab7eafc78..2ec71df030 100644 --- a/indra/viewer_components/manager/InstallerUserMessage.py +++ b/indra/viewer_components/manager/InstallerUserMessage.py @@ -58,8 +58,8 @@ class InstallerUserMessage(tk.Tk):          self.config(background = 'black')          # background="..." doesn't work on MacOS for radiobuttons or progress bars          # http://tinyurl.com/tkmacbuttons -        ttk.Style().configure('Linden.TLabel', foreground='#487A7B', background='black') -        ttk.Style().configure('Linden.TButton', foreground='#487A7B', background='black') +        ttk.Style().configure('Linden.TLabel', foreground=InstallerUserMessage.linden_green, background='black') +        ttk.Style().configure('Linden.TButton', foreground=InstallerUserMessage.linden_green, background='black')          ttk.Style().configure("black.Horizontal.TProgressbar", foreground=InstallerUserMessage.linden_green, background='black')          #This bit of configuration centers the window on the screen @@ -136,8 +136,8 @@ class InstallerUserMessage(tk.Tk):          self.mainloop()      def binary_choice_message(self, message, true = 'Yes', false = 'No'): -        #one: first option, returns True -        #two: second option, returns False +        #true: first option, returns True +        #false: second option, returns False          #usage is kind of opaque and relies on this object persisting after the window destruction to pass back choice          #usage:          #   frame = InstallerUserMessage.InstallerUserMessage( ... ) @@ -164,6 +164,38 @@ class InstallerUserMessage(tk.Tk):          self.update()          self.mainloop() +    def trinary_choice_message(self, message, one = 1, two = 2, three = 3): +        #one: first option, returns 1 +        #two: second option, returns 2 +        #three: third option, returns 3 +        #usage is kind of opaque and relies on this object persisting after the window destruction to pass back choice +        #usage: +        #   frame = InstallerUserMessage.InstallerUserMessage( ... ) +        #   frame = frame.binary_choice_message( ... ) +        #   (wait for user to click) +        #   value = frame.choice.get() + +        self.text_label = tk.Label(text = message) +        #command registers the callback to the method named.  We want the frame to go away once clicked. +        self.button_one = ttk.Radiobutton(text = one, variable = self.choice, value = 1,  +            command = self._delete_window, style = 'Linden.TButton') +        self.button_two = ttk.Radiobutton(text = two, variable = self.choice, value = 2,  +            command = self._delete_window, style = 'Linden.TButton') +        self.button_three = ttk.Radiobutton(text = three, variable = self.choice, value = 3,  +            command = self._delete_window, style = 'Linden.TButton') +        self.set_colors(self.text_label) +        self.set_colors(self.image_label) +        #pad, direction and weight are all experimentally derived by retrying various values +        self.image_label.grid(row = 1, column = 1, rowspan = 4, sticky = 'W') +        self.text_label.grid(row = 1, column = 2, rowspan = 4, padx = 5) +        self.button_one.grid(row = 1, column = 3, sticky = 'W', pady = 5) +        self.button_two.grid(row = 2, column = 3, sticky = 'W', pady = 5) +        self.button_three.grid(row = 3, column = 3, sticky = 'W', pady = 5) +        self.auto_resize(row_count = 3, column_count = 3, heavy_column = 3) +        #self.button_two.deselect() +        self.update() +        self.mainloop() +      def progress_bar(self, message = None, size = 0, interval = 100, pb_queue = None):          #Best effort attempt at a real progress bar          #  This is what Tk calls "determinate mode" rather than "indeterminate mode" @@ -248,6 +280,13 @@ if __name__ == "__main__":      print frame3.choice.get()      sys.stdout.flush() +    #trinary choice test.  User destroys window when they select. +    frame3a = InstallerUserMessage(text = "Something in the way she knows....", title = "Beatles Quotes for 200", icon_name="head-sl-logo.gif") +    frame3a.trinary_choice_message(message = "And all I have to do is think of her.",  +        one = "Don't want to leave her now", two = 'You know I believe and how', three = 'John is Dead') +    print frame3a.choice.get() +    sys.stdout.flush() +      #progress bar      queue = Queue.Queue()      thread = ThreadedClient(queue) @@ -257,9 +296,4 @@ if __name__ == "__main__":      frame4 = InstallerUserMessage(text = "Something in the way she knows....", title = "Beatles Quotes for 300", icon_name="head-sl-logo.gif")      frame4.progress_bar(message = "You're asking me will my love grow", size = 100, pb_queue = queue)      print "frame defined" -          frame4.mainloop() - - - - diff --git a/indra/viewer_components/manager/SL_Launcher b/indra/viewer_components/manager/SL_Launcher index fd7d00be0f..6eaccc8b13 100755 --- a/indra/viewer_components/manager/SL_Launcher +++ b/indra/viewer_components/manager/SL_Launcher @@ -34,7 +34,6 @@ elif sys.platform.startswith("win") or sys.platform.startswith("cyg"):     elif os.path.isfile(os.path.join(cwd,"SecondLifeTest.exe")):        executable_name = "SecondLifeTest.exe"     else: -      #unsupported by prototypeS        sys.exit("Can't find Windows viewer binary")  elif sys.platform.startswith("linux"):     executable_name = "secondlife" | 
