def __init__(self): global location global talker global loading global track global marker global auto_center talker = testtalker.TestTalker("data/gps2.out", 0) talker.runLoop() auto_center = True loading = True track = [] #where I've been self.window = gtk.Window() self.window.set_border_width(10) self.window.set_title("Shortqut v0.5a") self.window.connect("destroy", lambda x: self.cleanup()) vbox = gtk.VBox(False, 12) champ = champlaingtk.ChamplainEmbed() champ.set_size_request(640,480) self.view = champ.get_view() self.view.set_reactive(True) self.view.connect('button-release-event', self.mouse_click_cb, self.view) self.view.set_property('scroll-mode', champlain.SCROLL_MODE_KINETIC) self.view.set_property('zoom-level', 15) self.view.set_property('license-text', ".") self.view.set_property('show-scale', True) layer = champlain.Layer() self.view.add_layer(layer) self.map_source_factory = champlain.map_source_factory_dup_default() self.map_data_source = None self.load_memphis_rules() self.load_osm_file() #Add the image ''' bboxTitle = gtk.HBox(False, 6) image = gtk.Image() image.set_from_file("Shortqut_banner.jpg") bboxTitle.add(image) image.show() vbox.pack_start(bboxTitle, expand = False, fill = False) ''' #Add the buttons bbox = gtk.HBox(False, 6) #Add the label self.label = gtk.Label("Loading OSM File") bbox.add(self.label) center_check = gtk.CheckButton("Centered") center_check.set_active(True) center_check.connect("clicked", self.toggle_auto_centered) bbox.add(center_check) button = gtk.Button(stock=gtk.STOCK_ZOOM_IN) button.connect("clicked", self.zoom_in) bbox.add(button) button = gtk.Button(stock=gtk.STOCK_ZOOM_OUT) button.connect("clicked", self.zoom_out) bbox.add(button) self.spinbutton = gtk.SpinButton(gtk.Adjustment(lower=0, upper=20, value=1, step_incr=1)) self.spinbutton.connect("changed", self.zoom_changed) self.view.connect("notify::zoom-level", self.map_zoom_changed) self.spinbutton.set_value(15) bbox.add(self.spinbutton) button = gtk.Image() self.view.connect("notify::state", self.view_state_changed, button) bbox.pack_end(button, False, False, 0) vbox.pack_start(bbox, expand=False, fill=False) vbox.add(champ) self.window.add(vbox) self.window.show_all() #lat = 28.568542 + (random.random() - 0.5) #lon = -81.207504 + (random.random() - 0.5) lat = 28.541492 lon = -81.195965 self.view.center_on(lat,lon) #Set up and position sprite actor = clutter.Texture(filename="pirate-ship-1.jpg") marker = champlain.marker_new_with_image(actor) marker.set_draw_background(False) #marker.set_position(0,0) marker.set_position(lat,lon) layer.add(marker) marker.raise_top() self.draw_route(gpsfiletoroute("data/gps2.out")) location = talker.getMsg() #gobject.timeout_add(1000, random_view, self.view) gobject.timeout_add(500, center_gps, self.view, location) gobject.timeout_add(1000, is_loaded, self.view, self.label)
def __init__(self): global location global talker #talker = gpstalker.GPSTalker() #talker.runLoop() self.window = gtk.Window() self.window.set_border_width(10) self.window.set_title("Shortqut v0.5a") self.window.connect("destroy", gtk.main_quit) vbox = gtk.VBox(False, 12) #look up what vbox does, does this need to be changed? champ = champlaingtk.ChamplainEmbed() champ.set_size_request(640,480) self.view = champ.get_view() self.view.set_reactive(True) self.view.connect('button-release-event', self.mouse_click_cb, self.view) self.view.set_property('scroll-mode', champlain.SCROLL_MODE_KINETIC) self.view.set_property('zoom-level', 12) self.view.set_property('license-text', "Alpha version, not for release") self.view.set_property('show-scale', True) self.map_source_factory = champlain.map_source_factory_dup_default() self.map_data_source = None self.load_memphis_rules() self.load_osm_file() bbox = gtk.HBox(False, 6) button = gtk.Button(stock=gtk.STOCK_ZOOM_IN) button.connect("clicked", self.zoom_in) bbox.add(button) button = gtk.Button(stock=gtk.STOCK_ZOOM_OUT) button.connect("clicked", self.zoom_out) bbox.add(button) self.spinbutton = gtk.SpinButton(gtk.Adjustment(lower=0, upper=20, value=1, step_incr=1)) self.spinbutton.connect("changed", self.zoom_changed) self.view.connect("notify::zoom-level", self.map_zoom_changed) self.spinbutton.set_value(12) bbox.add(self.spinbutton) button = gtk.Image() self.view.connect("notify::state", self.view_state_changed, button) bbox.pack_end(button, False, False, 0) vbox.pack_start(bbox, expand=False, fill=False) vbox.add(champ) self.window.add(vbox) self.window.show_all() #lat = 28.568542 + (random.random() - 0.5) lat = 28.568542 #lon = -81.207504 + (random.random() - 0.5) lon = -81.207504 self.view.center_on(lat,lon)
def __init__(self): self.window = gtk.Window() self.window.set_border_width(10) self.window.set_title("The world seen through the eyes of a Python") self.window.connect("destroy", gtk.main_quit) vbox = gtk.VBox(False, 12) embed = champlaingtk.ChamplainEmbed() embed.set_size_request(640, 480) self.view = embed.get_view() self.layer = create_marker_layer(self.view) self.view.add_layer(self.layer) self.layer.hide_all_markers() self.polygon = polygon = champlain.Polygon() # Cheap approx of Highway 10 polygon.append_point(45.4095, -73.3197) polygon.append_point(45.4104, -73.2846) polygon.append_point(45.4178, -73.2239) polygon.append_point(45.4176, -73.2181) polygon.append_point(45.4151, -73.2126) polygon.append_point(45.4016, -73.1926) polygon.append_point(45.3994, -73.1877) polygon.append_point(45.4000, -73.1815) polygon.append_point(45.4151, -73.1218) polygon.set_stroke_width(5.0); polygon.set_property("mark-points", True) self.view.add_polygon(polygon) polygon.hide() bbox = gtk.HBox(False, 6) button = gtk.Button(stock=gtk.STOCK_ZOOM_IN) button.connect("clicked", self.zoom_in) bbox.add(button) button = gtk.Button(stock=gtk.STOCK_ZOOM_OUT) button.connect("clicked", self.zoom_out) bbox.add(button) button = gtk.ToggleButton(label="Markers") button.set_active(False) button.connect("toggled", self.toggle_layer) bbox.add(button) combo = gtk.combo_box_new_text() self.map_source_factory = champlain.map_source_factory_dup_default() liststore = gtk.ListStore(str, str) for source in self.map_source_factory.dup_list(): liststore.append([source.id, source.name]) combo.append_text(source.name) combo.set_model(liststore) combo.set_attributes(combo.get_cells()[0], text=1) combo.set_active(0) combo.connect("changed", self.map_source_changed) bbox.add(combo) self.spinbutton = gtk.SpinButton(gtk.Adjustment(lower=0, upper=20, value=1, step_incr=1)) self.spinbutton.connect("changed", self.zoom_changed) self.view.connect("notify::zoom-level", self.map_zoom_changed) self.spinbutton.set_value(5) bbox.add(self.spinbutton) vbox.pack_start(bbox, expand=False, fill=False) vbox.add(embed) self.window.add(vbox) self.window.show_all() self.view.center_on(45.466, -73.75)
def __init__(self): self.location = None #current (time, lat, lon) self.loading = True #loading osm file? self.track = [] #where I've been self.track_route = None #route of track self.next_click = False #when true, next click choose destination self.marker = None #clutter marker of where I am right now self.auto_center = True #auto center map self.running = True self.tick = 1 self.data_filename = "data/gps2.out" self.talker = testtalker.TestTalker(self.data_filename, 0) self.talker.runLoop() self.window = gtk.Window() self.window.set_border_width(10) self.window.set_title("Shortqut v0.5a") self.window.connect("destroy", lambda x: self.cleanup()) vbox = gtk.VBox(False, 12) champ = champlaingtk.ChamplainEmbed() champ.set_size_request(640,480) self.view = champ.get_view() self.view.set_reactive(True) self.view.connect('button-release-event', self.mouse_click_cb, self.view) self.view.set_property('scroll-mode', champlain.SCROLL_MODE_KINETIC) self.view.set_property('zoom-level', 15) self.view.set_property('license-text', ".") self.view.set_property('show-scale', True) self.map_source_factory = champlain.map_source_factory_dup_default() self.map_data_source = None self.load_memphis_rules() self.load_osm_file() #Add the image bboxTitle = gtk.HBox(False, 6) image = gtk.Image() image.set_from_file("Shortqut_banner.jpg") bboxTitle.add(image) image.show() vbox.pack_start(bboxTitle, expand = False, fill = False) #Add the buttons bbox = gtk.HBox(False, 6) ''' button = gtk.Button("Set") button.connect("clicked", self.set_destination) bbox.add(button) ''' #Add the label self.label = gtk.Label("Loading OSM File") bbox.add(self.label) center_check = gtk.CheckButton("Centered") center_check.set_active(True) center_check.connect("clicked", self.toggle_auto_centered) bbox.add(center_check) button = gtk.Button(stock=gtk.STOCK_ZOOM_IN) button.connect("clicked", self.zoom_in) bbox.add(button) button = gtk.Button(stock=gtk.STOCK_ZOOM_OUT) button.connect("clicked", self.zoom_out) bbox.add(button) self.spinbutton = gtk.SpinButton(gtk.Adjustment(lower=0, upper=20, value=1, step_incr=1)) self.spinbutton.connect("changed", self.zoom_changed) self.view.connect("notify::zoom-level", self.map_zoom_changed) self.spinbutton.set_value(15) bbox.add(self.spinbutton) button = gtk.Image() self.view.connect("notify::state", self.view_state_changed, button) bbox.pack_end(button, False, False, 0) vbox.pack_start(bbox, expand=False, fill=False) vbox.add(champ) self.window.add(vbox) self.window.show_all() self.marker = self.setup_marker() self.draw_route(gpsfiletoroute(self.data_filename)) #self.location = self.talker.getMsg() gobject.timeout_add(300, self.update_tick) gobject.timeout_add(1000, self.is_loaded)