Ticket #3649: 0002-Port-to-sugar-toolkit-gtk3.patch

File 0002-Port-to-sugar-toolkit-gtk3.patch, 4.3 KB (added by manuq, 12 years ago)
  • sugargame/canvas.py

    From 208dc89849111aff6f226197e7dbfecd7ab29085 Mon Sep 17 00:00:00 2001
    From: =?UTF-8?q?Manuel=20Qui=C3=B1ones?= <manuq@laptop.org>
    Date: Tue, 29 May 2012 00:03:44 -0300
    Subject: [PATCH Sugargame 2/2] Port to sugar-toolkit-gtk3
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    Mail-Followup-To: <sugar-devel@lists.sugarlabs.org>
    
    - changed sugar imports to sugar3
    - changed GtkWidget set_flags(Gtk.CAN_FOCUS) to set_can_focus(True)
    - changed GtkWidget signal 'expose-event' to 'draw'
    - changed GdkWindow get_pointer() to get_device_position()
    
    Signed-off-by: Manuel Quiñones <manuq@laptop.org>
    ---
     sugargame/canvas.py  |    4 ++--
     sugargame/event.py   |    9 +++++----
     test/TestActivity.py |   12 ++++++------
     test/setup.py        |    2 +-
     4 files changed, 14 insertions(+), 13 deletions(-)
    
    diff --git a/sugargame/canvas.py b/sugargame/canvas.py
    index d070a96..1ce0250 100644
    a b class PygameCanvas(Gtk.EventBox): 
    2323       
    2424        self._mainwindow = mainwindow
    2525
    26         self.set_flags(Gtk.CAN_FOCUS)
     26        self.set_can_focus(True)
    2727       
    2828        self._socket = Gtk.Socket()
    2929        self.add(self._socket)
    class PygameCanvas(Gtk.EventBox): 
    4545        pygame.init()
    4646       
    4747        # Restore the default cursor.
    48         self._socket.window.set_cursor(None)
     48        self._socket.props.window.set_cursor(None)
    4949
    5050        # Initialize the Pygame window.
    5151        r = self.get_allocation()
  • sugargame/event.py

    diff --git a/sugargame/event.py b/sugargame/event.py
    index 0aeee50..19ecf5d 100644
    a b  
    11from gi.repository import Gtk
     2from gi.repository import Gdk
    23from gi.repository import GObject
    34import pygame
    45import pygame.event
    class Translator(object): 
    5859            Gdk.EventMask.BUTTON_RELEASE_MASK
    5960        )
    6061
    61         self._mainwindow.set_flags(Gtk.CAN_FOCUS)
    62         self._inner_evb.set_flags(Gtk.CAN_FOCUS)
     62        self._mainwindow.set_can_focus(True)
     63        self._inner_evb.set_can_focus(True)
    6364       
    6465        # Callback functions to link the event systems
    6566        self._mainwindow.connect('unrealize', self._quit_cb)
    class Translator(object): 
    6869        self._inner_evb.connect('button_press_event', self._mousedown_cb)
    6970        self._inner_evb.connect('button_release_event', self._mouseup_cb)
    7071        self._inner_evb.connect('motion-notify-event', self._mousemove_cb)
    71         self._inner_evb.connect('expose-event', self._expose_cb)
     72        self._inner_evb.connect('draw', self._expose_cb)
    7273        self._inner_evb.connect('configure-event', self._resize_cb)
    7374       
    7475        # Internal data
    class Translator(object): 
    189190        # if this is a hint, then let's get all the necessary
    190191        # information, if not it's all we need.
    191192        if event.is_hint:
    192             x, y, state = event.window.get_pointer()
     193            win, x, y, state = event.window.get_device_position(event.device)
    193194        else:
    194195            x = event.x
    195196            y = event.y
  • test/TestActivity.py

    diff --git a/test/TestActivity.py b/test/TestActivity.py
    index a3981c4..cb67c3c 100644
    a b import sys 
    44from gi.repository import Gtk
    55import pygame
    66
    7 import sugar.activity.activity
    8 from sugar.graphics.toolbarbox import ToolbarBox
    9 from sugar.activity.widgets import ActivityToolbarButton
    10 from sugar.graphics.toolbutton import ToolButton
    11 from sugar.activity.widgets import StopButton
     7import sugar3.activity.activity
     8from sugar3.graphics.toolbarbox import ToolbarBox
     9from sugar3.activity.widgets import ActivityToolbarButton
     10from sugar3.graphics.toolbutton import ToolButton
     11from sugar3.activity.widgets import StopButton
    1212
    1313
    1414sys.path.append('..')  # Import sugargame package from top directory.
    import sugargame.canvas 
    1717import TestGame
    1818
    1919
    20 class TestActivity(sugar.activity.activity.Activity):
     20class TestActivity(sugar3.activity.activity.Activity):
    2121    def __init__(self, handle):
    2222        super(TestActivity, self).__init__(handle)
    2323
  • test/setup.py

    diff --git a/test/setup.py b/test/setup.py
    index 6ed89aa..d290fe6 100755
    a b  
    11#!/usr/bin/env python
    2 from sugar.activity import bundlebuilder
     2from sugar3.activity import bundlebuilder
    33bundlebuilder.start()
    44