Use __gtype_name__ to replace gobject.type_register
authorPeng Huang <shawn.p.huang@gmail.com>
Mon, 29 Jun 2009 12:49:32 +0000 (20:49 +0800)
committerPeng Huang <shawn.p.huang@gmail.com>
Mon, 29 Jun 2009 12:49:32 +0000 (20:49 +0800)
ui/gtk/candidatepanel.py
ui/gtk/handle.py
ui/gtk/languagebar.py
ui/gtk/menu.py
ui/gtk/panel.py
ui/gtk/toolitem.py

index e884c2c..ed40d95 100644 (file)
@@ -28,6 +28,7 @@ import ibus
 from ibus._gtk import PangoAttrList
 
 class EventBox(gtk.EventBox):
+    __gtype_name__ = "IBusEventBox"
     def __init__(self):
         super(EventBox, self).__init__()
         self.connect("realize", self.__realize_cb)
@@ -35,23 +36,23 @@ class EventBox(gtk.EventBox):
     def __realize_cb(self, widget):
         widget.window.set_cursor(gdk.Cursor(gdk.HAND2))
 
-gobject.type_register(EventBox, "IBusEventBox")
-
 class Label(gtk.Label):
-    pass
-gobject.type_register(Label, "IBusPanelLabel")
+    __gtype_name__ = "IBusPanelLabel"
 
 class HSeparator(gtk.HBox):
+    __gtype_name__ = "IBusHSeparator"
     def __init__(self):
         super(HSeparator, self).__init__()
         self.pack_start(gtk.HSeparator(), True, True, 4)
 
 class VSeparator(gtk.VBox):
+    __gtype_name__ = "IBusVSeparator"
     def __init__(self):
         super(VSeparator, self).__init__()
         self.pack_start(gtk.VSeparator(), True, True, 4)
 
 class CandidateArea(gtk.HBox):
+    __gtype_name__ = "IBusCandidateArea"
     __gsignals__ = {
         "candidate-clicked" : (
             gobject.SIGNAL_RUN_FIRST,
@@ -59,8 +60,9 @@ class CandidateArea(gtk.HBox):
             (gobject.TYPE_UINT, gobject.TYPE_UINT, gobject.TYPE_UINT )),
     }
 
-    def __init__ (self, orientation):
-        gtk.HBox.__init__ (self)
+    def __init__(self, orientation):
+        super(CandidateArea, self).__init__()
+        self.set_name("IBusCandidateArea")
         self.__orientation = orientation
         self.__labels = []
         self.__candidates = []
@@ -153,6 +155,7 @@ class CandidateArea(gtk.HBox):
             w.hide()
 
 class CandidatePanel(gtk.VBox):
+    __gtype_name__ = "IBusCandidate"
     __gproperties__ = {
         'orientation' : (gtk.Orientation,        # type
         'orientation of candidates',            # nick name
@@ -184,8 +187,9 @@ class CandidatePanel(gtk.VBox):
             (gobject.TYPE_UINT, gobject.TYPE_UINT, gobject.TYPE_UINT)),
     }
 
-    def __init__ (self):
-        gtk.VBox.__init__ (self)
+    def __init__(self):
+        super(CandidatePanel, self).__init__()
+        self.set_name("IBusCandidate")
         self.__tooltips = gtk.Tooltips()
 
         self.__toplevel = gtk.Window(gtk.WINDOW_POPUP)
@@ -538,5 +542,11 @@ class CandidatePanel(gtk.VBox):
     def move(self, x, y):
         self.__toplevel.move(x, y)
 
-gobject.type_register(CandidatePanel, "IBusCandidate")
-
+if __name__ == "__main__":
+    table = ibus.LookupTable()
+    table.append_candidate(ibus.Text("AAA"))
+    table.append_candidate(ibus.Text("BBB"))
+    cp = CandidatePanel()
+    cp.show_all()
+    cp.update_lookup_table(table, True)
+    gtk.main()
index 4f4c625..63e864d 100644 (file)
@@ -24,6 +24,7 @@ import gtk.gdk as gdk
 import gobject
 
 class Handle(gtk.EventBox):
+    __gtype_name__ = "IBusHandle"
     __gsignals__ = {
         "move-begin" : (
             gobject.SIGNAL_RUN_LAST,
@@ -117,6 +118,3 @@ class Handle(gtk.EventBox):
                     gtk.ORIENTATION_VERTICAL)
         return True
 
-gobject.type_register(Handle, "IBusHandle")
-
-
index 9a79677..1f550cf 100644 (file)
@@ -39,6 +39,7 @@ N_ = lambda a : a
 ICON_SIZE = gtk.ICON_SIZE_MENU
 
 class LanguageBar(gtk.Toolbar):
+    __gtype_name__ = "IBusLanguageBar"
     __gsignals__ = {
         "property-activate" : (
             gobject.SIGNAL_RUN_FIRST,
@@ -259,5 +260,4 @@ class LanguageBar(gtk.Toolbar):
         else:
             self.show_all()
 
-gobject.type_register(LanguageBar, "IBusLanguageBar")
 
index 6f6c7d1..b978556 100644 (file)
@@ -26,6 +26,7 @@ import icon
 from propitem import PropItem
 
 class Menu (gtk.Menu, PropItem):
+    __gtype_name__ = "IBusMenu"
     __gsignals__ = {
     "property-activate" : (
         gobject.SIGNAL_RUN_FIRST,
@@ -84,6 +85,7 @@ class Menu (gtk.Menu, PropItem):
 
 
 class ImageMenuItem (gtk.ImageMenuItem, PropItem):
+    __gtype_name__ = "IBusImageMenuItem"
     __gsignals__ = {
     "property-activate" : (
         gobject.SIGNAL_RUN_FIRST,
@@ -120,6 +122,7 @@ class ImageMenuItem (gtk.ImageMenuItem, PropItem):
 
 
 class CheckMenuItem (gtk.CheckMenuItem, PropItem):
+    __gtype_name__ = "IBusCheckMenuItem"
     __gsignals__ = {
     "property-activate" : (
         gobject.SIGNAL_RUN_FIRST,
@@ -159,6 +162,7 @@ class CheckMenuItem (gtk.CheckMenuItem, PropItem):
 
 
 class RadioMenuItem (gtk.RadioMenuItem, PropItem):
+    __gtype_name__ = "IBusRadioMenuItem"
     __gsignals__ = {
     "property-activate" : (
         gobject.SIGNAL_RUN_FIRST,
@@ -197,6 +201,7 @@ class RadioMenuItem (gtk.RadioMenuItem, PropItem):
         self.emit ("property-activate", self._prop.key, self._prop.state)
 
 class SeparatorMenuItem (gtk.SeparatorMenuItem, PropItem):
+    __gtype_name__ = "IBusSeparatorMenuItem"
     __gsignals__ = {
     "property-activate" : (
         gobject.SIGNAL_RUN_FIRST,
@@ -205,11 +210,6 @@ class SeparatorMenuItem (gtk.SeparatorMenuItem, PropItem):
     }
 
 
-gobject.type_register (Menu, "IBusMenu")
-gobject.type_register (ImageMenuItem, "IBusImageMenuItem")
-gobject.type_register (CheckMenuItem, "IBusCheckMenuItem")
-gobject.type_register (RadioMenuItem, "IBusRadioMenuItem")
-gobject.type_register (SeparatorMenuItem, "IBusSeparatorMenuItem")
 
 def menu_position (menu, button):
     screen = button.get_screen ()
index 037fca7..5f25c78 100644 (file)
@@ -53,6 +53,7 @@ gtk.about_dialog_set_url_hook(url_hook, None)
 gtk.about_dialog_set_email_hook(email_hook, None)
 
 class Panel(ibus.PanelBase):
+    __gtype_name__ = "IBusPanel"
     def __init__ (self, bus):
         super(Panel, self).__init__(bus)
         self.__bus = bus
@@ -450,4 +451,3 @@ class Panel(ibus.PanelBase):
             self.__setup_pid = 0
         self.__setup_pid = os.spawnl(os.P_NOWAIT, self.__setup_cmd, "ibus-setup")
 
-gobject.type_register(Panel, "IBusPanel")
index 09ad686..53481de 100644 (file)
@@ -28,6 +28,7 @@ import icon
 from menu import *
 
 class ToolButton(gtk.ToolButton, PropItem):
+    __gtype_name__ = "IBusToolButton"
     __gsignals__ = {
         "property-activate" : (
             gobject.SIGNAL_RUN_FIRST,
@@ -82,6 +83,7 @@ class ToolButton(gtk.ToolButton, PropItem):
 
 
 class ToggleToolButton(gtk.ToggleToolButton, PropItem):
+    __gtype_name__ = "IBusToggleToolButton"
     __gsignals__ = {
         "property-activate" : (
             gobject.SIGNAL_RUN_FIRST,
@@ -139,12 +141,14 @@ class ToggleToolButton(gtk.ToggleToolButton, PropItem):
         self.emit("property-activate", self._prop.key, self._prop.state)
 
 class SeparatorToolItem(gtk.SeparatorToolItem, PropItem):
+    __gtype_name__ = "IBusSeparatorToolItem"
     def __init__ (self, prop):
         gtk.SeparatorToolItem.__init__(self)
         self.set_homogeneous(False)
         PropItem.__init__(self, prop)
 
 class MenuToolButton(ToggleToolButton):
+    __gtype_name__ = "IBusMenuToolButton"
     # __gsignals__ = {
     #        "property-activate" : (
     #            gobject.SIGNAL_RUN_FIRST,
@@ -166,7 +170,4 @@ class MenuToolButton(ToggleToolButton):
         if self.get_active():
             self._menu.popup(0, gtk.get_current_event_time(), self)
 
-gobject.type_register(ToolButton, "ToolButton")
-gobject.type_register(ToggleToolButton, "IBusToggleToolButton")
-gobject.type_register(MenuToolButton, "MenuToolButton")