Пример #1
0
    def on_add_stop_clicked(self, toolbutton, user_data = None):
        print 'adding a stop'
        stop_dialog = AddStop(self)

        win = AddStopDialog(self._gui())
        win.get_content_area().pack_start(stop_dialog, True, True, 5)
        win.show_all()

        handler = self.connect('on-map-clicked', stop_dialog.on_map_clicked)

        resp = win.run()
        self.disconnect('on-map-clicked', handler)

        if resp == Gtk.ResponseType.ACCEPT:
            # create a new stop
            s = libsubte.Stop(name = stop_dialog.get_name(),
                               description = stop_dialog.get_description(),
                               latitude = stop_dialog.get_latitude(),
                               longitude = stop_dialog.get_longitude())
            
            self.add_stop(s)

        win.destroy()
Пример #2
0
    def on_link_stop(self, actor, event):
        print >> sys.stderr, 'Link stop'

        gtgui = GTGui.GTGui.instance()

        stop_dialog = AddStop(gtgui.controller)

        win = AddStopDialog(gtgui)
        # set the lat/long
        stop_dialog.latitude_txt.set_text('%s' % self.latitude)
        stop_dialog.longitude_txt.set_text('%s' % self.longitude)
        win.get_content_area().pack_start(stop_dialog, True, True, 5)

        # We can't seem to pop up a dialog in a callback
        #  here, it freezes everything. Instead, run the
        #  dialog, and set an on_reponse so that
        #  we get the response code when it closes
        def on_response(win, resp, user_data = None):
            print >> sys.stderr, 'on response', resp
            if resp == Gtk.ResponseType.ACCEPT:
                print >> sys.stderr, 'resp is ACCEPT', resp
                # create a new stop
                s = libsubte.Stop(name = stop_dialog.get_name(),
                                   description = stop_dialog.get_description(),
                                   latitude = stop_dialog.get_latitude(),
                                   longitude = stop_dialog.get_longitude())

                self.picture.stop = s

                gtgui.controller.add_stop(s)

            win.destroy()
            

        win.connect('response', on_response)
        win.show_all()


        return False