summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBarry Warsaw <barry@python.org>1999-04-27 15:56:53 (GMT)
committerBarry Warsaw <barry@python.org>1999-04-27 15:56:53 (GMT)
commit7b2812211af5c99e7c582ea2e6a50b03cf0a0e3e (patch)
treebfd54e741b9429afc91c9b89cd6ab4a8603b2573
parentf5e98572e58aa75a2a6ea5364576db5aaac212e5 (diff)
downloadcpython-7b2812211af5c99e7c582ea2e6a50b03cf0a0e3e.zip
cpython-7b2812211af5c99e7c582ea2e6a50b03cf0a0e3e.tar.gz
cpython-7b2812211af5c99e7c582ea2e6a50b03cf0a0e3e.tar.bz2
When selecting a radio button in the TextViewer (to change a specific
text widget attribute), the color the attribute currently has is set in the main widget.
-rw-r--r--Tools/pynche/TextViewer.py34
1 files changed, 28 insertions, 6 deletions
diff --git a/Tools/pynche/TextViewer.py b/Tools/pynche/TextViewer.py
index a3e9ac5..e0b7ab1 100644
--- a/Tools/pynche/TextViewer.py
+++ b/Tools/pynche/TextViewer.py
@@ -106,7 +106,8 @@ and choosing a color.'''))
if row==4 and col==1:
continue
r = Radiobutton(frame, variable=self.__which,
- value=(row-2)*2 + col-1)
+ value=(row-2)*2 + col-1,
+ command=self.__set_color)
r.grid(row=row, column=col)
self.__radios.append(r)
self.__toggletrack()
@@ -135,20 +136,41 @@ and choosing a color.'''))
for l in self.__labels:
l.configure(foreground=fg)
+ def __set_color(self, event=None):
+ which = self.__which.get()
+ text = self.__text
+ if which == 0:
+ color = text['foreground']
+ elif which == 1:
+ color = text['background']
+ elif which == 2:
+ color = text['selectforeground']
+ elif which == 3:
+ color = text['selectbackground']
+ elif which == 5:
+ color = text['insertbackground']
+ try:
+ red, green, blue = ColorDB.rrggbb_to_triplet(color)
+ except ColorDB.BadColor:
+ # must have been a color name
+ red, green, blue = self.__sb.colordb().find_byname(color)
+ self.__sb.update_views(red, green, blue)
+
def update_yourself(self, red, green, blue):
if self.__trackp.get():
colorname = ColorDB.triplet_to_rrggbb((red, green, blue))
which = self.__which.get()
+ text = self.__text
if which == 0:
- self.__text.configure(foreground=colorname)
+ text.configure(foreground=colorname)
elif which == 1:
- self.__text.configure(background=colorname)
+ text.configure(background=colorname)
elif which == 2:
- self.__text.configure(selectforeground=colorname)
+ text.configure(selectforeground=colorname)
elif which == 3:
- self.__text.configure(selectbackground=colorname)
+ text.configure(selectbackground=colorname)
elif which == 5:
- self.__text.configure(insertbackground=colorname)
+ text.configure(insertbackground=colorname)
def save_options(self, optiondb):
optiondb['TRACKP'] = self.__trackp.get()