From b1e635a0e51d0d046bbee97f8d865a8d702d6951 Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Thu, 26 Mar 2009 13:16:03 +0000 Subject: adding visual feedback for user-defined blocks when Python code loaded --- diff --git a/NEWS b/NEWS index e0e1144..c72575d 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,7 @@ +45 + +* alt chars for keyboard shortcuts + 44 * adding user defineable block diff --git a/TurtleArtActivity.py b/TurtleArtActivity.py index 9a76bf1..8d33af7 100644 --- a/TurtleArtActivity.py +++ b/TurtleArtActivity.py @@ -550,6 +550,7 @@ class SaveAsToolbar(gtk.Toolbar): FILE = open(dsobject.file_path, "r") self.activity.tw.myblock = FILE.read() FILE.close() + tawindow.set_userdefined(self.activity.tw) except: _logger.debug("couldn't open %s" % dsobject.file_path) dsobject.destroy() diff --git a/images/de/sensors/nop-loaded.svg b/images/de/sensors/nop-loaded.svg new file mode 100644 index 0000000..83ee400 --- /dev/null +++ b/images/de/sensors/nop-loaded.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + diff --git a/images/el/sensors/nop-loaded.svg b/images/el/sensors/nop-loaded.svg new file mode 100644 index 0000000..83ee400 --- /dev/null +++ b/images/el/sensors/nop-loaded.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + diff --git a/images/en/sensors/nop-loaded.svg b/images/en/sensors/nop-loaded.svg new file mode 100644 index 0000000..83ee400 --- /dev/null +++ b/images/en/sensors/nop-loaded.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + diff --git a/images/es/sensors/nop-loaded.svg b/images/es/sensors/nop-loaded.svg new file mode 100644 index 0000000..83ee400 --- /dev/null +++ b/images/es/sensors/nop-loaded.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + diff --git a/images/fi/sensors/nop-loaded.svg b/images/fi/sensors/nop-loaded.svg new file mode 100644 index 0000000..83ee400 --- /dev/null +++ b/images/fi/sensors/nop-loaded.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + diff --git a/images/fr/sensors/nop-loaded.svg b/images/fr/sensors/nop-loaded.svg new file mode 100644 index 0000000..83ee400 --- /dev/null +++ b/images/fr/sensors/nop-loaded.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + diff --git a/images/it/sensors/nop-loaded.svg b/images/it/sensors/nop-loaded.svg new file mode 100644 index 0000000..83ee400 --- /dev/null +++ b/images/it/sensors/nop-loaded.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + diff --git a/images/mn/sensors/nop-loaded.svg b/images/mn/sensors/nop-loaded.svg new file mode 100644 index 0000000..83ee400 --- /dev/null +++ b/images/mn/sensors/nop-loaded.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + diff --git a/images/nl/sensors/nop-loaded.svg b/images/nl/sensors/nop-loaded.svg new file mode 100644 index 0000000..83ee400 --- /dev/null +++ b/images/nl/sensors/nop-loaded.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + diff --git a/images/pt/sensors/nop-loaded.svg b/images/pt/sensors/nop-loaded.svg new file mode 100644 index 0000000..83ee400 --- /dev/null +++ b/images/pt/sensors/nop-loaded.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + diff --git a/images/ru/sensors/nop-loaded.svg b/images/ru/sensors/nop-loaded.svg new file mode 100644 index 0000000..83ee400 --- /dev/null +++ b/images/ru/sensors/nop-loaded.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + diff --git a/images/sl/sensors/nop-loaded.svg b/images/sl/sensors/nop-loaded.svg new file mode 100644 index 0000000..83ee400 --- /dev/null +++ b/images/sl/sensors/nop-loaded.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + diff --git a/images/sv/sensors/nop-loaded.svg b/images/sv/sensors/nop-loaded.svg new file mode 100644 index 0000000..83ee400 --- /dev/null +++ b/images/sv/sensors/nop-loaded.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + diff --git a/images/tr/sensors/nop-loaded.svg b/images/tr/sensors/nop-loaded.svg new file mode 100644 index 0000000..83ee400 --- /dev/null +++ b/images/tr/sensors/nop-loaded.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + diff --git a/images/vi/sensors/nop-loaded.svg b/images/vi/sensors/nop-loaded.svg new file mode 100644 index 0000000..83ee400 --- /dev/null +++ b/images/vi/sensors/nop-loaded.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + diff --git a/images/zh_TW/sensors/nop-loaded.svg b/images/zh_TW/sensors/nop-loaded.svg new file mode 100644 index 0000000..83ee400 --- /dev/null +++ b/images/zh_TW/sensors/nop-loaded.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + diff --git a/tasetup.py b/tasetup.py index ce324b2..f7b10d7 100644 --- a/tasetup.py +++ b/tasetup.py @@ -243,6 +243,9 @@ def setup_misc(tw): tw.media_shapes = {} tw.media_shapes['audioon'] = load_image(tw.path, '', 'audioon') tw.media_shapes['texton'] = load_image(tw.path, '', 'texton') + # media blocks that replace other blocks + tw.media_shapes['pythonloaded'] = \ + load_image(tw.path_lang, 'sensors', 'nop-loaded') # status shapes get positioned at the bottom of the screen tw.status_shapes = {} tw.status_shapes['status'] = load_image(tw.path, '', 'status') diff --git a/tawindow.py b/tawindow.py index bf3d930..da77f08 100644 --- a/tawindow.py +++ b/tawindow.py @@ -87,6 +87,7 @@ def twNew(win, path, lang, tboxh, parent=None): tw.draggroup = None prep_selectors(tw) tw.myblock = None + tw.nop = 'nop' tw.loaded = 0 for s in selectors: setup_selectors(tw,s) @@ -190,7 +191,11 @@ def select_category(tw, spr): def new_block_from_category(tw,proto,x,y): if proto is None: return True - newspr = sprNew(tw,x-20,y-20,proto.image) + # load alternative image of nop block if python code is loaded + if proto.name == 'nop' and tw.nop == 'pythonloaded': + newspr = sprNew(tw,x-20,y-20,tw.media_shapes['pythonloaded']) + else: + newspr = sprNew(tw,x-20,y-20,proto.image) setlayer(newspr,2000) tw.dragpos = 20,20 newspr.type = 'block' @@ -407,6 +412,14 @@ def load_image(tw, picture, spr): else: setimage(spr, tw.media_shapes['texton']) +# change the icon for user-defined blocks after Python code is loaded +def set_userdefined(tw): + list = tw.sprites[:] + for spr in list: + if hasattr(spr,'proto') and spr.proto.name == 'nop': + setimage(spr,tw.media_shapes['pythonloaded']) + tw.nop = 'pythonloaded' + def snap_to_dock(tw): d=200 me = tw.draggroup[0] -- cgit v0.9.1