Ejemplo n.º 1
0
        def bar(*args, **kwargs):
            task = threads.GeneratorTask(dsm.update_assets, None, 
                                         None, args=asset.get_all_assets())

            task.start()
            task.join()
            
            for a in asset.get_all_assets():
                self.assertNotEqual(a.date.year, 1970)
            
            self.counter += 1
            if self.counter == 2:
                Gtk.main_quit()
            else:
                # test if it works a second time (was a bug..)
                dsm.search("yahoo", callback=bar)
Ejemplo n.º 2
0
    def __init__(self, parent=None):
        self.parent = parent
        builder = Gtk.Builder()
        builder.add_from_file(get_ui_file("portfolio/asset_manager_dialog.glade"))

        self.tree = gui_utils.Tree()
        self.tree.set_headers_visible(True)
        model = Gtk.ListStore(object, str, str, str, str)
        self.tree.set_model(model)
        self.tree.create_column(_('Name'), 1)
        self.tree.create_column(_('ISIN'), 2)
        self.tree.create_column(_('Type'), 3)
        self.tree.create_column(_('Currency'), 4)

        sw = builder.get_object("scrolledwindow")
        sw.add(self.tree)

        tb = builder.get_object("toolbar")
        tb.get_style_context().add_class("inline-toolbar")

        # connect signals
        handlers = {
            "on_delete_clicked": self.on_delete,
            "on_edit_clicked": self.on_edit
            }
        builder.connect_signals(handlers)
        self.tree.connect("button-press-event", self.on_button_press_event)

        # load items
        for asset in asset_m.get_all_assets():
            model.append(self.get_row(asset))

        dlg = builder.get_object("dialog")
        dlg.set_transient_for(parent)
        dlg.add_buttons(
                    Gtk.STOCK_CLOSE, Gtk.ResponseType.ACCEPT)

        dlg.show_all()
        dlg.run()
        dlg.destroy()