diff options
Diffstat (limited to 'turtleart.py')
-rwxr-xr-x | turtleart.py | 54 |
1 files changed, 26 insertions, 28 deletions
diff --git a/turtleart.py b/turtleart.py index ca9153a..1980e1d 100755 --- a/turtleart.py +++ b/turtleart.py @@ -21,9 +21,7 @@ #OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN #THE SOFTWARE. -import pygtk -pygtk.require('2.0') -import gtk +from util.gtkcompat import Gtk, Gdk, GdkPixbuf import getopt import sys @@ -83,9 +81,9 @@ class TurtleMain(): self._plugins = [] if self.output_png: - pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, - gtk.gdk.screen_width(), - gtk.gdk.screen_height()) + pixbuf = GdkPixbuf.Pixbuf(GdkPixbuf.Colorspace.RGB, False, 8, + Gdk.Screen.width(), + Gdk.Screen.height()) self.canvas, mask = pixbuf.render_pixmap_and_mask() self._build_window() self._draw_and_quit() @@ -166,7 +164,7 @@ class TurtleMain(): self.tw.load_start(self.ta_file) self.tw.lc.trace = 0 self.tw.run_button(0) - gtk.main() + Gtk.main() def _draw_and_quit(self): ''' Non-interactive mode: run the project, save it to a file @@ -265,7 +263,7 @@ class TurtleMain(): def _setup_gtk(self): ''' Set up a scrolled window in which to run Turtle Blocks. ''' - win = gtk.Window(gtk.WINDOW_TOPLEVEL) + win = Gtk.Window() win.set_default_size(self.width, self.height) win.move(self.x, self.y) win.maximize() @@ -275,7 +273,7 @@ class TurtleMain(): self._ICON_SUBPATH)) win.connect('delete_event', self._quit_ta) - vbox = gtk.VBox(False, 0) + vbox = Gtk.VBox.new(False, 0) win.add(vbox) vbox.show() @@ -283,16 +281,16 @@ class TurtleMain(): vbox.pack_start(menu_bar, False, False, 2) menu_bar.show() - sw = gtk.ScrolledWindow() - sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) + sw = Gtk.ScrolledWindow() + sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) sw.show() - canvas = gtk.DrawingArea() - width = gtk.gdk.screen_width() * 2 - height = gtk.gdk.screen_height() * 2 + canvas = Gtk.DrawingArea() + width = Gdk.Screen.width() * 2 + height = Gdk.Screen.height() * 2 canvas.set_size_request(width, height) sw.add_with_viewport(canvas) canvas.show() - vbox.pack_end(sw, True, True) + vbox.pack_end(sw, True, True, 0) win.show_all() self.win = win @@ -300,7 +298,7 @@ class TurtleMain(): def _get_menu_bar(self): ''' Instead of Sugar toolbars, use GNOME menus. ''' - menu = gtk.Menu() + menu = Gtk.Menu() MenuBuilder.make_menu_item(menu, _('New'), self._do_new_cb) MenuBuilder.make_menu_item(menu, _('Open'), self._do_open_cb) MenuBuilder.make_menu_item(menu, _('Save'), self._do_save_cb) @@ -314,7 +312,7 @@ class TurtleMain(): MenuBuilder.make_menu_item(menu, _('Quit'), self.destroy) activity_menu = MenuBuilder.make_sub_menu(menu, _('File')) - menu = gtk.Menu() + menu = Gtk.Menu() MenuBuilder.make_menu_item(menu, _('Cartesian coordinates'), self._do_cartesian_cb) MenuBuilder.make_menu_item(menu, _('Polar coordinates'), @@ -329,12 +327,12 @@ class TurtleMain(): self._do_resize_cb, -1) view_menu = MenuBuilder.make_sub_menu(menu, _('View')) - menu = gtk.Menu() + menu = Gtk.Menu() MenuBuilder.make_menu_item(menu, _('Copy'), self._do_copy_cb) MenuBuilder.make_menu_item(menu, _('Paste'), self._do_paste_cb) edit_menu = MenuBuilder.make_sub_menu(menu, _('Edit')) - menu = gtk.Menu() + menu = Gtk.Menu() MenuBuilder.make_menu_item(menu, _('Show palette'), self._do_palette_cb) MenuBuilder.make_menu_item(menu, _('Hide palette'), @@ -343,7 +341,7 @@ class TurtleMain(): self._do_hideshow_cb) tool_menu = MenuBuilder.make_sub_menu(menu, _('Tools')) - menu = gtk.Menu() + menu = Gtk.Menu() MenuBuilder.make_menu_item(menu, _('Clean'), self._do_eraser_cb) MenuBuilder.make_menu_item(menu, _('Run'), self._do_run_cb) MenuBuilder.make_menu_item(menu, _('Step'), self._do_step_cb) @@ -351,7 +349,7 @@ class TurtleMain(): MenuBuilder.make_menu_item(menu, _('Stop'), self._do_stop_cb) turtle_menu = MenuBuilder.make_sub_menu(menu, _('Turtle')) - menu_bar = gtk.MenuBar() + menu_bar = Gtk.MenuBar() menu_bar.append(activity_menu) menu_bar.append(edit_menu) menu_bar.append(view_menu) @@ -372,12 +370,12 @@ class TurtleMain(): else: if self.tw.project_has_changed(): self._show_save_dialog(False) - gtk.main_quit() + Gtk.main_quit() def _show_save_dialog(self, new_project=True): ''' Dialog for save project ''' - dlg = gtk.MessageDialog(parent=None, type=gtk.MESSAGE_INFO, - buttons=gtk.BUTTONS_OK_CANCEL, + dlg = Gtk.MessageDialog(parent=None, type=Gtk.MessageType.INFO, + buttons=Gtk.ButtonsType.OK_CANCEL, message_format=_( 'You have unsaved work. Would you like to save before quitting?')) dlg.set_title(_('Save project?')) @@ -385,7 +383,7 @@ class TurtleMain(): resp = dlg.run() dlg.destroy() - if resp == gtk.RESPONSE_OK: + if resp == Gtk.ResponseType.OK: if new_project: self._save_as() else: @@ -545,7 +543,7 @@ class TurtleMain(): def _do_copy_cb(self, button): ''' Callback for copy button. ''' - clipBoard = gtk.Clipboard() + clipBoard = Gtk.Clipboard() data = self.tw.assemble_data_to_save(False, False) if data is not []: text = data_to_string(data) @@ -553,7 +551,7 @@ class TurtleMain(): def _do_paste_cb(self, button): ''' Callback for paste button. ''' - clipBoard = gtk.Clipboard() + clipBoard = Gtk.Clipboard() text = clipBoard.wait_for_text() if text is not None: if self.tw.selected_blk is not None and\ @@ -576,7 +574,7 @@ class TurtleMain(): def destroy(self, event, data=None): ''' Callback for destroy event. ''' - gtk.main_quit() + Gtk.main_quit() def nick_changed(self, nick): ''' TODO: Rename default turtle in dictionary ''' |