Features/GTK3/Porting/Implode: Difference between revisions
New signals |
|||
| Line 4: | Line 4: | ||
I will take [[User:Humitos/PortingGetBooks|this guide]] as reference on the Gtk3 porting. | I will take [[User:Humitos/PortingGetBooks|this guide]] as reference on the Gtk3 porting. | ||
= Porting Gtk.DrawingArea = | |||
There are some things related with <tt>gtk.DrawingArea</tt> that we have to change when we are porting an activity to Gtk3. The names of the signals change and the way that they work as well. | |||
== Signals == | |||
=== expose-event === | |||
* http://developer.gnome.org/gtk3/3.5/GtkWidget.html#GtkWidget-draw | |||
This signal was override by '''draw''' and it have to be connected with the method that was connected with the ''expose-event'' before. The method itself does not change but the arguments that it receives do. This is the new definition of the function in my case: | |||
def _draw_event_cb(self, widget, cr): | |||
=== size-allocate === | |||
* http://developer.gnome.org/gtk3/3.5/GtkWidget.html#GtkWidget-configure-event | |||
This signal was used to resize the gtk.DrawingArea every time the window grows and at the startup of the activity. This is useful to re-draw the widget for different resolutions (desktops and XOs for example). | |||
I used the same function connected to this signal but I change the signal connected by '''configure-event'''. Here is the definition of the callback: | |||
def _configure_event_cb(self, widget, event): | |||
I just used the ''size-allocate'' signal to save the the dimensions of the widget (width and height), so I can use them later on the '''draw''' signal. | |||
def _size_allocate_cb(self, widget, rect): | |||
self.width = rect.width | |||
self.height = rect.height | |||
= Focus = | = Focus = | ||