コード例 #1
0
    def easter_egg_callback(self, button):
        if self.win:
            self.win.present()
            return

        buffer = gtk.TextBuffer()
        iter = buffer.get_start_iter()
        buffer.insert(iter,
                      "This buffer is shared by a set of nested text views.\n Nested view:\n")
        anchor = buffer.create_child_anchor(iter)
        buffer.insert(iter,
                      "\nDon't do this in real applications, please.\n")

        view = gtk.TextView(buffer)

        self.recursive_attach_view(0, view, anchor)

        self.win = hildon.Window()
        sw = gtk.ScrolledWindow()
        sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)

        self.win.add(sw)
        sw.add(view)
        self.win.show_all()
        return
コード例 #2
0
    def __init__(self):
        hildon.Program.__init__(self)

        # Init
        self.context = osso.Context("showcontacts", "0.0.1", False)
        abook.init("showcontacts", self.context)

        # Window
        self.window = hildon.Window()
        self.window.connect("destroy", gtk.main_quit)
        self.add_window(self.window)

        # Evolution stuff
        self.book = evo.open_addressbook("default")
        query = evo.EBookQuery.field_exists(evo.CONTACT_FULL_NAME)

        self.bookview = self.book.get_book_view(query)
        self.bookview.start()

        self.model = abook.GroupModel()
        self.view = abook.GroupSelector(self.model)

        button = gtk.Button("Show contacts")
        button.connect("clicked", self.show_group)

        vbox = gtk.VBox()
        vbox.pack_start(self.view)
        vbox.pack_start(button)

        # Menu stuf...

        self.window.add(vbox)

        self.window.show_all()
コード例 #3
0
    def __init__(self):
        hildon.Program.__init__(self)
        self.window = hildon.Window()
        self.window.connect("destroy", self.quit)
        self.add_window(self.window)

        vbox = gtk.VBox()
        self.window.add(vbox)

        self.entry = gtk.Entry()
        vbox.add(self.entry)

        self.hscale = gtk.HScale(gtk.Adjustment(upper=10, step_incr=1))
        vbox.add(self.hscale)

        self.context = osso.Context("osso_test_statesaving", "0.0.1", False)
        self.stateSaving = osso.StateSaving(self.context)
        self.autosave = osso.Autosave(self.context)
        self.autosave.set_autosave_callback(self.save_state)

        self.connect("notify::is-topmost", self.topmost_change)

        self.state_read()

        #After the state_read call, set the callbacks for data change
        self.entry.connect("changed", self.entry_changed)
        self.hscale.connect("value-changed", self.hscale_changed)
        self.window.show_all()
コード例 #4
0
def main():
    win = hildon.Window()
    win.set_name("Test Input")
    win.connect("destroy", lambda w: gtk.main_quit())
    win.set_border_width(5)

    vbox = gtk.VBox(spacing=3)
    win.add(vbox)
    vbox.show()

    drawing_area = gtk.DrawingArea()
    #drawing_area.set_size_request(200, 200)
    vbox.pack_start(drawing_area)
    drawing_area.show()

    drawing_area.connect("expose_event", expose_event)
    drawing_area.connect("configure_event", configure_event)
    drawing_area.connect("motion_notify_event", motion_notify_event)
    drawing_area.connect("button_press_event", button_press_event)
    drawing_area.set_events(gtk.gdk.EXPOSURE_MASK | gtk.gdk.LEAVE_NOTIFY_MASK
                            | gtk.gdk.BUTTON_PRESS_MASK
                            | gtk.gdk.POINTER_MOTION_MASK
                            | gtk.gdk.POINTER_MOTION_HINT_MASK)

    button = gtk.Button(stock=gtk.STOCK_QUIT)
    vbox.pack_start(button, expand=False, fill=False)
    button.connect("clicked", lambda widget, win=win: win.destroy())
    button.show()
    win.show()
    gtk.main()
コード例 #5
0
    def __init__(self):
        hildon.Program.__init__(self)

        self.context = osso.Context("filtermodelexample", "0.0.1", False)
        abook.init("filtermodelexample", self.context)

        self.window = hildon.Window()
        self.window.connect("destroy", gtk.main_quit)
        self.add_window(self.window)

        self.book = evo.open_addressbook("default")
        query = evo.EBookQuery.field_exists(evo.CONTACT_FULL_NAME)

        self.bookview = self.book.get_book_view(query)
        self.bookview.start()

        self.model = abook.ContactModel(self.bookview)
        self.view = abook.ContactView(self.model)

        button = gtk.Button("Edit contact")
        button.connect("clicked", self.edit_contact)

        vbox = gtk.VBox()
        vbox.pack_start(self.view)
        vbox.pack_start(button, expand=False, padding=5)

        self.window.add(vbox)
        self.window.show_all()
コード例 #6
0
 def test_set_main_menu_implicitly_deleted(self):
     w = hildon.Window()
     m = gtk.Menu()
     w.set_main_menu(m)
     w.set_main_menu()
     # should not segfault
     m.append(gtk.MenuItem('test'))
コード例 #7
0
    def __init__(self):
        hildon.Program.__init__(self)

        self.window = hildon.Window()
        self.window.connect("delete-event", gtk.main_quit)
        self.add_window(self.window)

        # Osso stuff
        self.osso_c = osso.Context("osso_test_mime_icons", "0.0.1", False)
        self.mime = osso.Mime(self.osso_c)

        # Remaining widgets
        vbox = gtk.VBox()

        self.entry = gtk.Entry()
        vbox.pack_start(self.entry, expand=False, fill=True)

        self.button = gtk.Button("Ok")
        self.button.connect("clicked", self.button_cb)
        vbox.pack_start(self.button, expand=False, fill=True)

        scroll = gtk.ScrolledWindow()
        vbox.pack_start(scroll)

        self.model = gtk.ListStore(gtk.gdk.Pixbuf, str)

        self.iconview = gtk.IconView(self.model)
        self.iconview.set_pixbuf_column(0)
        self.iconview.set_text_column(1)
        self.iconview.set_margin(12)
        self.iconview.set_item_width(125)
        scroll.add(self.iconview)

        self.window.add(vbox)
        self.window.show_all()
コード例 #8
0
 def test_set_app_menu_implicitly_deleted(self):
     w = hildon.Window()
     m = hildon.AppMenu()
     w.set_app_menu(m)
     w.set_app_menu()
     # should not segfault
     m.append(gtk.Button('test'))
コード例 #9
0
    def __init__(self):
        hildon.Program.__init__(self)
        
        self.window = hildon.Window()
        self.add_window(self.window)
        
        self.window.set_title("PyHildonPad")
        self.window.connect('destroy', self.onExit)
        
        self.noteTestWindow = HildonNoteTestWindow()
        self.add_window(self.noteTestWindow)
        
        self.noteTestWindow.back_button.connect('clicked', self.onBackNoteWindow)
        self.noteTestWindow.connect('destroy', self.onExit)

        self.passwordTestWindow = HildonPasswordTestWindow()
        self.add_window(self.passwordTestWindow)
        
        self.passwordTestWindow.back_button.connect('clicked', self.onBackPasswordWindow)
        self.passwordTestWindow.connect('destroy', self.onExit)
        
        self.weekdayPickerWindow = WeekdayPickerWindow()
        self.add_window(self.weekdayPickerWindow)
        
        self.weekdayPickerWindow.back_button.connect('clicked', self.onBackWeekdayPickerWindow)
        self.weekdayPickerWindow.connect('destroy', self.onExit)

        self._createMenu()
        self._createToolbar()
        self._createPanel()

        self.window.show_all()
コード例 #10
0
def run(widget):
    if (has_hildon):
      print "+++ Hildon, yay!"
      widget.app = hildon.Program()
      window = hildon.Window()
      gtk.set_application_name(widget.display_name)
    else:
      print "--- No Hildon, sorry"
      window = gtk.Window()
      window.set_title(widget.display_name)
      
    widget.app_window = window
    window.resize(800, 480)
    window.add(widget)

    window.connect("delete-event", gtk.main_quit)
    window.connect("window-state-event", widget.do_window_state_event)
    window.connect("focus-in-event", widget.do_focus_in_event)
    window.connect("property-notify-event", widget.do_property_event)
    
    if (has_osso):
      print "+++ Have osso, yay!"
      try:
        osso_context = osso.Context(widget.dbus_name, widget.version, False)
        device = osso.DeviceState(osso_context)
        device.set_device_state_callback(state_change, system_inactivity=True, user_data=widget)
      except:
        print "*** Failed to initialise OSSO context. Power management disabled..."
        has_osoo = False

    window.present()
    widget.show()
    gtk.main()
コード例 #11
0
    def __init__(self):
        hildon.Program.__init__(self)

        self.context = osso.Context("showcontacts", "0.0.1", False)
        abook.init("showcontacts", self.context)

        self.window = hildon.Window()
        self.window.connect("destroy", gtk.main_quit)
        self.add_window(self.window)
        self.book = evo.open_addressbook("default")
        query = evo.EBookQuery.field_exists(evo.CONTACT_FULL_NAME)

        self.bookview = self.book.get_book_view(query)
        self.bookview.start()

        self.model = abook.ContactModel(self.bookview)
        self.view = abook.ContactView(self.model)
        self.view.connect("contact-activated", self.contact_activated)

        self.bar = abook.AlphaBar(self.view)
        btbar = self.bar.create_button_row()

        vbox = gtk.VBox()

        vbox.pack_start(self.view)
        vbox.pack_start(btbar)

        # Menu stuf...

        self.menu = gtk.Menu()

        item_add = gtk.MenuItem("Add Account To Contact")
        self.menu.append(item_add)
        item_add.connect("activate", self.add_to_contact)

        item_block = gtk.MenuItem("Block Manager")
        self.menu.append(item_block)
        item_block.connect("activate", self.block_manager)

        item_edit = gtk.MenuItem("Edit Contact")
        self.menu.append(item_edit)
        item_edit.connect("activate", self.edit_contact)

        item_new = gtk.MenuItem("New Contact")
        self.menu.append(item_new)
        item_new.connect("activate", self.edit_contact, True)

        item_edit_group = gtk.MenuItem("Edit Contact Groups")
        self.menu.append(item_edit_group)
        item_edit_group.connect("activate", self.edit_groups)

        item_auth = gtk.MenuItem("Request Auth")
        self.menu.append(item_auth)
        item_auth.connect("activate", self.request_auth)

        self.window.set_menu(self.menu)
        self.window.add(vbox)

        self.window.show_all()
コード例 #12
0
 def test_gtk_menu_ownership(self):
     w = hildon.Window()
     m = gtk.Menu()
     m_str = str(m)
     w.set_main_menu(m)
     self.assertEqual(w.get_main_menu(), m)
     del m
     self.assertEqual(str(w.get_main_menu()), m_str)
コード例 #13
0
def main():
    osso_c = osso.Context("osso_test_sender", "0.0.1", False)
    window = hildon.Window()
    window.connect("destroy", gtk.main_quit)
    send_button = gtk.Button("Put example app to foreground")
    window.add(send_button)
    send_button.connect("clicked", send_rpc, osso_c)
    window.show_all()
    gtk.main()
コード例 #14
0
def main():
    osso_c = osso.Context("osso_test_app", "0.0.1", False)
    print "osso_test_app started"
    program = hildon.Program()
    window = hildon.Window()
    label = gtk.Label("Sample app")
    window.add(label)

    window.show_all()
    gtk.main()
コード例 #15
0
    def create_main_window(self):
        window = hildon.Window()
        window.set_title("Hildon Brisa")
        window.connect("destroy", self._main_quit)

        main_menu = self._create_main_menu()
        window.set_menu(main_menu)

        window.show_all()
        return window
コード例 #16
0
    def __init__(self):
        xml = gtk.glade.XML('test2.glade')
        xml.signal_autoconnect(self)

        window = hildon.Window()
        window.connect("destroy", gtk.main_quit)

        xml.get_widget("button1").reparent(window)
        xml.get_widget("window1").destroy()
        window.show_all()
コード例 #17
0
 def test_app_menu_ownership(self):
     w = hildon.Window()
     m = hildon.AppMenu()
     m_str = str(m)
     w.set_app_menu(m)
     self.assertEqual(w.get_app_menu(), m)
     # set_app_menu takes ownership of the passed menu
     # so this should not segfault
     del m
     self.assertEqual(str(w.get_app_menu()), m_str)
コード例 #18
0
    def __init__(self):
        hildon.Program.__init__(self)

        self.window = hildon.Window()
        self.window.connect("destroy", gtk.main_quit)
        self.add_window(self.window)

        label = gtk.Label("Hello World!")
        self.window.add(label)
        label.show()
コード例 #19
0
 def test_constructor(self):
     w = hildon.Window()
     note = hildon.Note("confirmation", w, "xyz")
     self.assertTrue(isinstance(note, hildon.Note))
     note = hildon.Note("information", w, "xyz")
     self.assertTrue(isinstance(note, hildon.Note))
     note = hildon.Note("information", w, "xyz", icon_name="abc")
     self.assertTrue(isinstance(note, hildon.Note))
     note = hildon.Note("cancel", w, "xyz", progressbar=gtk.ProgressBar())
     self.assertTrue(isinstance(note, hildon.Note))
     self.assertRaises(TypeError, hildon.Note, "cancel", w, "xyz")
コード例 #20
0
def main():
    window = hildon.Window()
    window.connect("destroy", gtk.main_quit)

    label = gtk.Label("press any key")
    window.add(label)

    window.connect("key-press-event", key_pressed_cb, label)

    window.show_all()

    gtk.main()
コード例 #21
0
 def test_set_app_menu(self):
     w = hildon.Window()
     m = hildon.AppMenu()
     self.assertEqual(getrefcount(m), 2)
     w.set_app_menu(m)
     self.assertEqual(getrefcount(m), 3)
     w.set_app_menu(m)
     self.assertEqual(getrefcount(m), 3)
     m2 = hildon.AppMenu()
     self.assertEqual(getrefcount(m2), 2)
     w.set_app_menu(m2)
     self.assertEqual(getrefcount(m), 2)
     self.assertEqual(getrefcount(m2), 3)
コード例 #22
0
 def test_set_main_menu(self):
     w = hildon.Window()
     m = gtk.Menu()
     self.assertEqual(getrefcount(m), 2)
     w.set_main_menu(m)
     self.assertEqual(getrefcount(m), 2)
     w.set_main_menu(m)
     self.assertEqual(getrefcount(m), 2)
     m2 = gtk.Menu()
     self.assertEqual(getrefcount(m2), 2)
     w.set_main_menu(m2)
     self.assertEqual(getrefcount(m), 2)
     self.assertEqual(getrefcount(m2), 2)
コード例 #23
0
    def __init__(self):
        object.__init__(self)
        self.window = hildon.Window()
        self.window.connect("destroy", gtk.main_quit)
        
        menu = gtk.Menu()
        for i in range(3):
            item = gtk.MenuItem("Item %d" % i)
            menu.append(item)
            item.show()
        
        menu.show()

        vbox = gtk.VBox()

        hboxX = gtk.HBox()
        hboxX.pack_start(gtk.Label("X coord"), False, False)
        self.spin_x = gtk.SpinButton(gtk.Adjustment(lower=-100,upper=100,
                                                    step_incr=5))
        hboxX.pack_start(self.spin_x, True, True)
        vbox.pack_start(hboxX)

        hboxY = gtk.HBox()
        hboxY.pack_start(gtk.Label("Y coord"), False, False)
        self.spin_y = gtk.SpinButton(gtk.Adjustment(lower=-100,upper=100,
                                                    step_incr=5))
        hboxY.pack_start(self.spin_y, True, True)
        vbox.pack_start(hboxY)

        self.check_push = gtk.CheckButton(label="Push-In")
        vbox.pack_start(self.check_push)

        self.button_box = gtk.HBox()

        self.button = gtk.Button("Tap test")
        #Registers this widget to listen to tap-and-hold signals.
        #The callback is used to position the menu.
        self.button.tap_and_hold_setup(menu=menu, callback=self.cb,
                                       data="Foo data")
        self.button_box.pack_start(self.button)

        but_del = gtk.Button("Delete Source")
        but_del.connect("clicked", self.del_source)
        self.button_box.pack_start(but_del)

        vbox.pack_start(self.button_box)
    
        self.window.add(vbox)
コード例 #24
0
    def __init__(self):
        self.window = hildon.Window()
        self.window.connect("destroy", gtk.main_quit)

        hbox = gtk.HBox()
        self.button = gtk.Button("Selected Color")
        self.button.connect("clicked", self.check_color)
        self.evtBox = gtk.EventBox()
        self.evtBox.add(self.button)
        hbox.pack_start(self.evtBox)

        self.colorbutton = hildon.ColorButton()
        hbox.pack_start(self.colorbutton)

        self.window.add(hbox)
        self.window.show_all()
コード例 #25
0
def main():
    window = hildon.Window()
    window.set_size_request(300, 300)
    window.connect('delete-event', gtk.main_quit)

    sw = gtk.ScrolledWindow()
    sw.set_policy(gtk.POLICY_ALWAYS, gtk.POLICY_ALWAYS)
    window.add(sw)

    layout = Layout()
    layout.set_size(1000, 1000)
    sw.add(layout)

    b = gtk.Button('foobar')
    layout.put(b, 100, 100)

    window.show_all()
    gtk.main()
コード例 #26
0
ファイル: help_test.py プロジェクト: maemo-leste/pymaemo-svn
    def __init__(self):
        self.context = osso.Context("example_hildon_help", "0.1", False)
        self.window = hildon.Window()
        self.window.connect("delete-event", gtk.main_quit)

        self.vbox = gtk.VBox()

        self.btn_show = gtk.Button("hildon help show")
        self.btn_show.connect("clicked", self.show_help)
        self.vbox.pack_start(self.btn_show)

        self.btn_dlg = gtk.Button("hildon help dialog help enable")
        self.btn_dlg.connect("clicked", self.show_diag)
        self.vbox.pack_start(self.btn_dlg)

        self.window.add(self.vbox)

        self.window.show_all()
コード例 #27
0
ファイル: dnd.py プロジェクト: maemo-leste/pymaemo-svn
def main():
    global trashcan_open
    global trashcan_closed
    global drag_icon
    win = hildon.Window()
    win.realize()
    win.connect('destroy', lambda w: gtk.main_quit())
    table = gtk.Table(2, 2)
    win.add(table)
    drag_icon = gtk.gdk.pixbuf_new_from_xpm_data(drag_icon_xpm)
    trashcan_open = gtk.gdk.pixbuf_new_from_xpm_data(trashcan_open_xpm)
    trashcan_closed = gtk.gdk.pixbuf_new_from_xpm_data(trashcan_closed_xpm)
    label = gtk.Label('Drop on Trashcan!\n')
    label.drag_dest_set(gtk.DEST_DEFAULT_ALL, target[:-1],
                        gtk.gdk.ACTION_COPY | gtk.gdk.ACTION_MOVE)
    label.connect('drag_data_received', label_drag_data_received)
    table.attach(label, 0, 1, 0, 1)

    label = gtk.Label('Popup\n')
    label.drag_dest_set(gtk.DEST_DEFAULT_ALL, target[:-1],
                        gtk.gdk.ACTION_COPY | gtk.gdk.ACTION_MOVE)
    table.attach(label, 1, 2, 1, 2)
    label.connect('drag_motion', popsite_motion)
    label.connect('drag_leave', popsite_leave)

    image = gtk.Image()
    image.set_from_pixbuf(trashcan_closed)
    image.drag_dest_set(0, [], 0)
    table.attach(image, 1, 2, 0, 1)
    image.connect('drag_leave', target_drag_leave)
    image.connect('drag_motion', target_drag_motion)
    image.connect('drag_drop', target_drag_drop)
    image.connect('drag_data_received', target_drag_data_received)

    b = gtk.Button('Drag from Here\n')
    b.drag_source_set(gtk.gdk.BUTTON1_MASK | gtk.gdk.BUTTON3_MASK, target,
                      gtk.gdk.ACTION_COPY | gtk.gdk.ACTION_MOVE)
    b.drag_source_set_icon_pixbuf(drag_icon)
    table.attach(b, 0, 1, 1, 2)
    b.connect('drag_data_get', source_drag_data_get)
    b.connect('drag_data_delete', source_drag_data_delete)
    win.show_all()
コード例 #28
0
    def __init__(self):
        self.window = hildon.Window()
        self.window.connect("destroy", gtk.main_quit)
        self.vbox = gtk.VBox()

        # Text Frame
        self.frame_text = gtk.Frame("Text")
        hbox = gtk.HBox()
        hbox.pack_start(gtk.Label("Text"), False, False)

        self.text_entry = gtk.Entry()
        hbox.pack_start(self.text_entry)

        self.frame_text.add(hbox)

        self.vbox.pack_start(self.frame_text)

        # Information frame
        self.frame_inform = gtk.Frame("Information")
        vbox = gtk.VBox()

        self.markup_check = gtk.CheckButton("Use markup")
        vbox.pack_start(self.markup_check)

        hbox = gtk.HBox()
        hbox.pack_start(gtk.Label("icon-name"), False, False)
        self.icon_entry = gtk.Entry()
        hbox.pack_start(self.icon_entry)
        vbox.pack_start(hbox)

        button = gtk.Button("Show information banner")
        button.connect("clicked", self.show_information)
        vbox.pack_start(button)

        self.frame_inform.add(vbox)

        self.vbox.pack_start(self.frame_inform)

        self.window.add(self.vbox)

        self.window.show_all()
コード例 #29
0
def main():
    win = hildon.Window()
    win.connect('delete-event', gtk.main_quit)
    win.set_border_width(6)
    win.set_title('GtkSizeGroup example')

    vbox = gtk.VBox(spacing=6)
    win.add(vbox)

    sg = gtk.SizeGroup(gtk.SIZE_GROUP_HORIZONTAL)

    hbox, label = create_label('Name:')
    sg.add_widget(label)
    vbox.pack_start(hbox)

    hbox, label = create_label('Address:')
    sg.add_widget(label)
    vbox.pack_start(hbox)

    win.show_all()
    gtk.main()
コード例 #30
0
    def test_constructor(self):
        w = hildon.Window()
        note = hildon.Note("confirmation", w, "xyz")
        self.assertTrue(isinstance(note, hildon.Note))
        note = hildon.Note("information", w, "xyz")
        self.assertTrue(isinstance(note, hildon.Note))
        note = hildon.Note("information", w, "xyz", icon_name="abc")
        self.assertTrue(isinstance(note, hildon.Note))
        note = hildon.Note("cancel", w, "xyz", progressbar=gtk.ProgressBar())
        self.assertTrue(isinstance(note, hildon.Note))

        note = hildon.Note(hildon.NOTE_TYPE_PROGRESSBAR, w, "xyz", progressbar=gtk.ProgressBar())
        self.assertTrue(isinstance(note, hildon.Note))
        note = hildon.Note(hildon.NOTE_TYPE_CONFIRMATION, w, "xyz")
        self.assertTrue(isinstance(note, hildon.Note))
        note = hildon.Note(hildon.NOTE_TYPE_INFORMATION, w, "xyz")
        self.assertTrue(isinstance(note, hildon.Note))

        self.assertRaises(ValueError, hildon.Note, "invalid_type", w, "xyz")
        self.assertRaises(ValueError, hildon.Note, ("invalid_type"), w, "xyz")
        self.assertRaises(TypeError, hildon.Note, "cancel")