title = 'Colorscheme demonstration'

# Import Pmw from this directory tree.
import sys
sys.path[:0] = ['../../..']

import Tkinter
import Pmw

class Demo:
    def __init__(self, parent):
	frame = Tkinter.Frame(parent)
	frame.pack(fill = 'both', expand = 1)

	defaultPalette = Pmw.Color.getdefaultpalette(parent)

	colors = ('red', 'green', 'blue')
	items = ('Testing', 'More testing', 'a test', 'foo', 'blah')
	for count in range(len(colors)):
	    color = colors[count]
	    normalcolor = Pmw.Color.changebrightness(parent, color, 0.85)
	    Pmw.Color.setscheme(parent, normalcolor)
	    combo = Pmw.ComboBox(frame,
		    scrolledlist_items = items,
		    entryfield_value = items[0])
	    combo.grid(sticky='nsew', row = count, column = 0)

	    normalcolor = Pmw.Color.changebrightness(parent, color, 0.35)
	    Pmw.Color.setscheme(parent, normalcolor, foreground = 'white')
	    combo = Pmw.ComboBox(frame,
		    scrolledlist_items = items,
		    entryfield_value = items[0])
	    combo.grid(sticky='nsew', row = count, column = 1)

	apply(Pmw.Color.setscheme, (parent,), defaultPalette)
	#normalcolor = Pmw.Color.changebrightness(parent, 'red', 0.85)
	#Pmw.Color.setscheme(parent, normalcolor)

######################################################################

# Create demo in root window for testing.
if __name__ == '__main__':
    root = Tkinter.Tk()
    Pmw.initialise(root)
    root.title(title)

    exitButton = Tkinter.Button(root, text = 'Exit', command = root.destroy)
    exitButton.pack(side = 'bottom')
    widget = Demo(root)
    root.mainloop()
