Editing PyMaemo/HildonDesktop

Warning: You are not logged in. Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 6: Line 6:
* hildon-desktop-python-loader: this is a Hildon Desktop loader for Python plugins.
* hildon-desktop-python-loader: this is a Hildon Desktop loader for Python plugins.
-
== Migrating old Widgets to Maemo 5 ==
+
=== Migrating old Widgets to Maemo 5 ===
The libhildondesktop version in Maemo 5 contains some API changes that also reflect on the Python bindings. Namely, you should pay attention to the following differences when migrating Home/Status Widgets from older Maemo releases to Fremantle:
The libhildondesktop version in Maemo 5 contains some API changes that also reflect on the Python bindings. Namely, you should pay attention to the following differences when migrating Home/Status Widgets from older Maemo releases to Fremantle:
Line 19: Line 19:
* Remove the "hd_plugin_get_object" function and instead add a "hd_plugin_type" variable that points to the plugin main class.
* Remove the "hd_plugin_get_object" function and instead add a "hd_plugin_type" variable that points to the plugin main class.
-
== Example - Home widgets (Fremantle only) ==
+
=== Example - Home widgets (Fremantle only) ===
<pre>
<pre>
Line 97: Line 97:
[[Image:Hello_world_home_python2.png]]
[[Image:Hello_world_home_python2.png]]
-
== Example - Status menu widgets (Fremantle only) ==
+
=== Example - Status menu widgets (Fremantle only) ===
The code below was based on the C example that can be found on the Maemo 5 Developer Guide [http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets#Status_Menu_widgets].
The code below was based on the C example that can be found on the Maemo 5 Developer Guide [http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets#Status_Menu_widgets].
<pre>
<pre>
 +
import gobject
import gtk
import gtk
import hildondesktop
import hildondesktop
class ExampleStatusPlugin(hildondesktop.StatusMenuItem):
class ExampleStatusPlugin(hildondesktop.StatusMenuItem):
 +
    __gtype_name__ = 'ExampleStatusPlugin'
 +
     def __init__(self):
     def __init__(self):
         hildondesktop.StatusMenuItem.__init__(self)
         hildondesktop.StatusMenuItem.__init__(self)
-
 
+
       
 +
        STATUS_AREA_EXAMPLE_ICON_SIZE = 22
         icon_theme = gtk.icon_theme_get_default()
         icon_theme = gtk.icon_theme_get_default()
-
         pixbuf = icon_theme.load_icon("general_email", 22, gtk.ICON_LOOKUP_NO_SVG)
+
         pixbuf = icon_theme.load_icon("general_email", STATUS_AREA_EXAMPLE_ICON_SIZE, gtk.ICON_LOOKUP_NO_SVG)
         self.set_status_area_icon(pixbuf)
         self.set_status_area_icon(pixbuf)
-
 
+
       
         label = gtk.Label("Example message")
         label = gtk.Label("Example message")
         self.add(label)
         self.add(label)
         self.show_all()
         self.show_all()
-
hd_plugin_type = ExampleStatusPlugin
+
def hd_plugin_get_object():
 +
    return gobject.new(ExampleStatusPlugin, plugin_id="example_status_plugin")
 +
 
 +
if __name__ == "__main__":
 +
    obj = hd_plugin_get_object()
 +
    obj.show_all()
 +
    gtk.main()
</pre>
</pre>

Learn more about Contributing to the wiki.


Please note that all contributions to maemo.org wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see maemo.org wiki:Copyrights for details). Do not submit copyrighted work without permission!


Cancel | Editing help (opens in new window)