Пример #1
0
    def markDestination(self, destination):
        ''' Takes in a parking garage object called destination
            Gets the location of the destination and places a map marker on top of it 
            
            Parameters: destination - ParkingGarage object
            Returns: coords - tuple with the coordinates of the map marker
        '''
        if not isinstance(destination, ParkingGarage):
            pop = Popup(title="Error",
                        content=Label(text="No Destination Input"),
                        size_hint=(.2, .2))
            pop.open()
            return

        #Get the coordinates of the destination
        coder = GoogleGeocoder("AIzaSyDPOAePgFbDCBU0rsOdvWX66C2CPUB2CZM")
        g = coder.get(destination.getLocation())
        coords = (g[0].geometry.location.lat, g[0].geometry.location.lng)

        #Create a marker that holds information on the parking garage
        bub = Bubble(size_hint=(None, None),
                     size=(200, 50),
                     arrow_pos='bottom_left')
        lab = Label(text=("            " + destination.getName()),
                    text_size=(self.width, None))
        lab.height = lab.texture_size[1]
        lab.halign = 'center'
        bub.add_widget(lab)
        m1 = MapMarkerPopup(lat=coords[0], lon=coords[1], placeholder=bub)

        #Mark the map and return the coordinates of the marker
        self.ids.map1.add_marker(m1)
        return coords
Пример #2
0
    def build(self):

        layout = BoxLayout(orientation='vertical')
        self.mapview = MapView(zoom=7, lat=42.6394, lon=25.057)

        bubble = Bubble(orientation="horizontal", padding=5)
        text = "[b]Sample text here[/b]"
        label = Label(text=text, markup=True, halign="center")
        bubble.add_widget(label)
        marker = MapMarkerPopup(id="first",
                                lat=42.6394,
                                lon=25.057,
                                popup_size=('150dp', '100dp'))
        marker.add_widget(bubble)
        self.mapview.add_marker(marker)

        b = BoxLayout(orientation='horizontal',
                      height='52dp',
                      size_hint_y=None)
        b.add_widget(
            Button(text="Zoom in",
                   on_press=lambda a: setattr(self.mapview, 'zoom', self.
                                              mapview.zoom + 1)))
        b.add_widget(
            Button(text="Zoom out",
                   on_press=lambda a: setattr(self.mapview, 'zoom', self.
                                              mapview.zoom - 1)))

        layout.add_widget(b)
        layout.add_widget(self.mapview)
        return layout
Пример #3
0
    def __init__(self, **kwargs):
        Bubble.__init__(self, **kwargs)
        self.line = None
        self.point = None
        self.hide()
        self.background_color = 0.20, 0.71, 0.90, 0.8
        self.opacity = 0.95

        self.size_hint = [None, None]
        self.size = [160, 65]

        self.label_name = Label(text="Frequency", size_hint_y=0.6)
        self.label_value = Label(text="1.5 m/s")
        self.label_units = Label(text="Hz", size_hint_x=0.5)

        self.input = TextInput(multiline=False, size_hint_x=0.8)
        self.input.bind(on_text_validate=self.on_enter)

        Window.bind(on_key_down=self.on_key_down)

        layout = BoxLayout(orientation="vertical", padding=2)

        bottom = BoxLayout(size_hint_y=0.7)
        bottom.add_widget(self.label_value)
        bottom.add_widget(self.input)
        bottom.add_widget(self.label_units)

        layout.add_widget(self.label_name)
        layout.add_widget(bottom)

        self.add_widget(layout)
Пример #4
0
class CalendarButton(FloatLayout):

	def __init__(self, activity, **kwargs):
		self.activity = activity

		super(CalendarButton, self).__init__()
		
		self.buttonInstance = Button(size_hint=(1, 1), pos_hint={'center_x':0.5, 'center_y':0.5}, **kwargs)
		self.buttonInstance.bind(on_release=self.onPressBubble)
		self.add_widget(self.buttonInstance)

		self.bubbleInstance = Bubble(size_hint=(None, None), size=(100, 40), pos_hint={'center_x':0.5, 'center_y':0.5}, arrow_pos='bottom_mid')
		
		self.bubbleChange = BubbleButton(text='Change', font_size=8)
		self.bubbleChange.bind(on_release=self.onPressChange)
		self.bubbleRemove = BubbleButton(text='Remove', font_size=8)
		self.bubbleRemove.bind(on_release=self.onPressRemove)
		
		self.bubbleInstance.add_widget(self.bubbleChange)
		self.bubbleInstance.add_widget(self.bubbleRemove)

	def onPressBubble(self, instance):
		if self.bubbleInstance.parent == None:
			self.add_widget(self.bubbleInstance)
		else:
			self.remove_widget(self.bubbleInstance)
	
	def onPressChange(self, instance):
		self.remove_widget(self.bubbleInstance)
		changeActivity(self.activity)
	
	def onPressRemove(self, instance):
		self.remove_widget(self.bubbleInstance)
		removeActivity(self.activity)
Пример #5
0
    def open_bubble_not_set(self, ti_not_set):

        float_lay = FloatLayout()
        float_lay.size_hint = None, None
        float_lay.width = 0
        float_lay.height = 0


        bubble_not_set = Bubble()
        bubble_not_set.size_hint = None, None
        bubble_not_set.width = 80
        bubble_not_set.height = 30
        bubble_not_set.center_x = ti_not_set.center_x
        bubble_not_set.center_y = ti_not_set.center_y - 30
        bubble_not_set.arrow_pos = 'top_mid'
        bubble_not_set.background_color = (1, 0, 0, 1)


        bt_not_set = BubbleButton()
        bt_not_set.font_size = 12

        bt_not_set.text = self.lang['Not_Set']

        bubble_not_set.add_widget(bt_not_set)

        float_lay.add_widget(bubble_not_set)

        #self.add_widget(bubble_not_set)
        self.lay_file_asc.add_widget(float_lay)
        parallel_close = threading.Thread(target=self.close_bubble_not_set, args=(float_lay,))
        parallel_close.start()
Пример #6
0
 def __init__(self,**kwargs):
     Bubble.__init__(self,**kwargs)
     self.module = kwargs['module']
     #self.ids['asteroid_info'].text = self.ast.txt_info()
     #
     self.refresh()
     Clock.schedule_interval(self.refresh, 1)
Пример #7
0
    def _on_dropdown_select(self, instance, data, *largs):
        self.text = data
        self.is_open = False
        #print('select function',self.text)
        self.func_des = '[color=#ffff00][i][b]' + self.parent.tool_library.read_obj.get_func_des(
            self.text) + '[/i][/b][/color]'
        self.set_select_parameter(self.text)

        if self.bubble is None:

            self.bubble = Bubble(size_hint=(.3, .2))
            self.bubb_layout = AnchorLayout(anchor_x='right', anchor_y='top')

            def remove_bubble(instance):
                self.bubb_layout.remove_widget(self.bubble)
                self.parent.parent.remove_widget(self.bubb_layout)
                self.bubble = None
                self.bubb_layout = None

            self.button = BubbleButton(text=self.func_des,
                                       halign='left',
                                       valign='middle',
                                       text_size=(300, 300),
                                       background_color=(0, 0, 1, 1),
                                       markup=True)
            self.button.bind(on_press=remove_bubble)
            self.bubble.add_widget(self.button)
            self.bubble.arrow_pos = 'top_mid'
            self.bubb_layout.add_widget(self.bubble)
            self.parent.parent.parent.add_widget(self.bubb_layout)

        else:
            self.button.text = self.func_des
Пример #8
0
 def __init__(self, layout, **kwargs):
     Bubble.__init__(self, **kwargs)
     self.size_hint = (None, None)
     self.size = (Window.size[0] * 0.13 * 5, Window.size[1] * LAYER_RIBBON_BUTTON_HEIGHT_HINT * 1.3)
     self.orientation = 'horizontal'
     self.show_arrow = False
     self.layout = layout
     self.but_list = []
Пример #9
0
 def __init__(self, grid, **kwargs):
     super(Marker, self).__init__(**kwargs)
     bubble = Bubble(arrow_pos='left_bottom')
     self.label = Label()
     bubble.add_widget(self.label)
     self.add_widget(bubble)
     self.grid = grid
     self.update_text()
Пример #10
0
    def test_add_content_with_buttons(self):
        bubble = Bubble()

        content = BubbleContent()
        content.add_widget(BubbleButton(text="Option A"))
        content.add_widget(BubbleButton(text="Option B"))

        bubble.add_widget(content)
        self.render(bubble)
Пример #11
0
 def __init__(self, obj, action_list):
     Bubble.__init__(self)
     self.obj = obj
     for k, v in action_list:
         l = MenuItem()
         l.text = _(k)
         def func(f=v):
             Clock.schedule_once(lambda dt: f(obj), 0.15)
         l.on_release = func
         self.ids.buttons.add_widget(l)
Пример #12
0
 def __init__(self, obj, action_list):
     Bubble.__init__(self)
     self.obj = obj
     for k, v in action_list:
         l = MenuItem()
         l.text = _(k)
         def func(f=v):
             Clock.schedule_once(lambda dt: f(obj), 0.15)
         l.on_release = func
         self.ids.buttons.add_widget(l)
Пример #13
0
    def __init__(self, **kwargs):
        Bubble.__init__(self, **kwargs)
        self.app = App.get_running_app()
        self.pressed = None
        self.size_hint = (None, None)
        self.tool = TOOL_LINE
        self.frames = []
        self.buttons = {}

        self.content.bind(size=self.redraw_content_frame)
Пример #14
0
 def show_bubble(self) -> None:
     self.bubb = Bubble(size_hint=(None, None),
                        size=(160, 30),
                        pos_hint={'center_x': .5, 'y': .6})
     accuse = BubbleButton(text='Accuse')
     suspect = BubbleButton(text='Suspect')
     accuse.bind(on_press=partial(self.hide_bubble, accuse))
     suspect.bind(on_press=partial(self.hide_bubble, suspect))
     self.bubb.add_widget(accuse)
     self.bubb.add_widget(suspect)
     self.ids.empty.add_widget(self.bubb)
Пример #15
0
    def visualizarVehiculos(
        self
    ):  #Muestro los marcadores con las ubicaciones actualizadas en el mapa
        ip_request = requests.get('https://get.geojs.io/v1/ip.json')
        my_ip = ip_request.json()['ip']  #con mi ip obtengo mi geolocalizacion
        geo_request = requests.get('https://get.geojs.io/v1/ip/geo/' + my_ip +
                                   '.json')
        geo_data = geo_request.json()

        self.longitudActual = float(geo_data['longitude'])
        self.latitudActual = float(geo_data['latitude'])

        self.ids.mapview.center_on(
            self.latitudActual,
            self.longitudActual)  #mapa centrado en ubicacion actual
        self.ids.mapview.zoom = 5
        """
    	mapmarkerpopupUbicacionActual=MapMarkerPopup(lat= self.latitudActual,lon= self.longitudActual, popup_size= (120,70))
    	bubbleUbicacionActual=Bubble()
    	labelUbicacionActual= Label(text= "[b]Ubicaion actual![/b]", markup= True, halign= "center")
    	bubbleUbicacionActual.add_widget(labelUbicacionActual)
    	mapmarkerpopupUbicacionActual.add_widget(bubbleUbicacionActual) #creo un marcador con etique para saber la ubicacion actual, es de color rojo
    	"""

        #self.ids.mapview.center_on(4.795100942698568, -75.6890602859938) #Me centra en la utp.
        if len(self.listaMarker) > 0:
            for marker in range(len(self.listaMarker)):
                self.ids.mapview.remove_widget(self.listaMarker[marker])
            self.listaMarker = [
            ]  #La reseteo para poder meter los mapMarker de los vehiculos actualizados.

        #Se hace la consulta a la BD para obtener las lat y lon de los vehiculos-----------------------BD
        #self.listaMarker.append(mapmarkerpopupUbicacionActual)

        #hacer consulta base de datos
        pos = UbicacionVehiculo.obtenerData(UbicacionVehiculo)

        for e in pos:
            mapmarkerpopup = MapMarkerPopup(
                lat=float(e[1]),
                lon=float(e[2]),
                color=(0, 1, 1, 1),
                popup_size=(120, 70))  #acepta 1,0,1,1 o 0,0,0,1 o 0,1,1,1
            bubble = Bubble()
            label = Label(text="[b]" +
                          Vehiculo.getNamevehiculo(Vehiculo, e[0]) + "[/b]",
                          markup=True,
                          halign="center")
            bubble.add_widget(label)
            mapmarkerpopup.add_widget(bubble)
            self.listaMarker.append(mapmarkerpopup)

        for i in range(len(pos)):
            self.ids.mapview.add_widget(self.listaMarker[i])
Пример #16
0
 def __init__(self,**kwargs):
     Bubble.__init__(self,**kwargs)
     self.ast = kwargs['asteroid']
     self.ids['asteroid_info'].text = self.ast.txt_info()
     self.ids['asteroid_info'].texture_update()        
     #resize?
     
     self.size = self.ids['asteroid_info'].texture_size
     #print self.size
     self.width += 30
     self.height = '100dp'
Пример #17
0
 def show_timer(self):
     self.dynamic_button = "Pause"
     bubble = Bubble(size_hint=[None, None], size=[50, 35], pos=[375, 490])
     bubble.add_widget(
         BubbleButton(text='START',
                      font_size='15sp',
                      color=[0, 0, 0, 1],
                      size=[10, 10]))
     bubble.background_color = (0, 0, 0, 0)
     self.ids.bbox.add_widget(bubble)
     Clock.schedule_interval(self.Running_Clock, 1)
     Clock.schedule_once(partial(self.remove_bubble, bubble), 1)
Пример #18
0
class SettingView(ToggleButton):
    parameter = StringProperty("Parameter")
    formatStr = StringProperty("%d")
    value = NumericProperty(0)
    minVal = NumericProperty(0)
    maxVal = NumericProperty(0)
    delta = NumericProperty(1)
    unit = StringProperty("unit")
    
    def __init__(self, **kwargs):
        super(SettingView, self).__init__(**kwargs)
        
        self.register_event_type('on_change')
        
        self.text = ("[size=60]"+self.formatStr+"[/size][size=15]%s[/size]\n[size=20]%s[/size]") % (self.value, self.unit, self.parameter)
        self.valign = 'bottom'
        self.halign = 'center'
        self.markup = True

    def decr(self, evt):
        if self.value > self.minVal:
            self.value = self.value - self.delta
            self.text = ("[size=60]"+self.formatStr+"[/size][size=15]%s[/size]\n[size=20]%s[/size]") % (self.value, self.unit, self.parameter)
    
    def incr(self, evt):
        if self.value < self.maxVal:
            self.value = self.value + self.delta
            self.text = ("[size=60]"+self.formatStr+"[/size][size=15]%s[/size]\n[size=20]%s[/size]") % (self.value, self.unit, self.parameter)
    
    def on_state(self, widget, state):
        # super(SettingView, self).on_state(**kwargs)
        
        if self.state == 'down':
            bubbleHeight = 50
            self.bubble = Bubble(size_hint=(None,None), size=(self.width, bubbleHeight), center_x=self.center_x, y=self.height-bubbleHeight)
            b1 = BubbleButton(text="-", font_size=40)
            b1.bind(on_press = self.decr)
            b2 = BubbleButton(text="+", font_size=40)
            b2.bind(on_press = self.incr)
            self.text_size = self.size
            self.text_size[1] -= 10
            self.valign='bottom'
            self.bubble.add_widget(b1)
            self.bubble.add_widget(b2)

            self.add_widget(self.bubble)
        else:
            self.remove_widget(self.bubble)
            self.valign='center'
            self.dispatch('on_change', self.value)
            
    def on_change(self, event):
        pass
Пример #19
0
 def timer_bubble(self, tx1, tx2, clr, fn):
     bubble = Bubble(size_hint=[None, None], size=[50, 35], pos=[375, 490])
     bubble.add_widget(
         BubbleButton(text="{:02d}:{:02d}".format(tx1, tx2),
                      font_size='15sp',
                      color=[0, 0, 0, clr],
                      size=[10, 10]))
     bubble.background_color = (0, 0, 0, 0)
     self.ids.bbox.add_widget(bubble)
     if fn == "stop":
         Clock.schedule_once(partial(self.remove_bubble, bubble), 60)
     if fn == "run":
         Clock.schedule_once(partial(self.remove_bubble, bubble), 1)
Пример #20
0
class ToolSelectFunction(Spinner):
    def __init__(self, **kwargs):
        self.map_pars = {}
        self.bubble = None
        self.bubb_layout = None
        self.button = None
        self.func_des = None
        self.background_color = (0.46, 0.46, 0.46, 0.6)
        super(ToolSelectFunction, self).__init__(**kwargs)

    def _on_dropdown_select(self, instance, data, *largs):
        self.text = data
        self.is_open = False
        #print('select function',self.text)
        self.func_des = '[color=#ffff00][i][b]' + self.parent.tool_library.read_obj.get_func_des(
            self.text) + '[/i][/b][/color]'
        self.set_select_parameter(self.text)

        if self.bubble is None:

            self.bubble = Bubble(size_hint=(.3, .2))
            self.bubb_layout = AnchorLayout(anchor_x='right', anchor_y='top')

            def remove_bubble(instance):
                self.bubb_layout.remove_widget(self.bubble)
                self.parent.parent.remove_widget(self.bubb_layout)
                self.bubble = None
                self.bubb_layout = None

            self.button = BubbleButton(text=self.func_des,
                                       halign='left',
                                       valign='middle',
                                       text_size=(300, 300),
                                       background_color=(0, 0, 1, 1),
                                       markup=True)
            self.button.bind(on_press=remove_bubble)
            self.bubble.add_widget(self.button)
            self.bubble.arrow_pos = 'top_mid'
            self.bubb_layout.add_widget(self.bubble)
            self.parent.parent.parent.add_widget(self.bubb_layout)

        else:
            self.button.text = self.func_des

    def set_select_parameter(self, function):
        self.parent.tool_parameter.text = 'Select Parameter'
        self.map_pars = self.parent.tool_library.read_obj.get_pars_type(
            function)

        #print('map_pars',map_pars)
        self.parent.tool_parameter.values = self.map_pars.keys()
Пример #21
0
class UseBubble(object):
    bubble = None
    callbackid = None
    def openbubble(self, buttonfunclist, data=None):
        if self.bubble:
            logging.error("Bubble already called")
            return
        self.bubble = Bubble(height=30, width=10, pos=self.to_window(self.x, self.y+30), size_hint=(None, None))
        for text, func in buttonfunclist:
            button = BubbleButton(text=text, height=30)
            self.bubble.width += 10 + len(text)*10
            self.call(button, func, data)
            self.bubble.add_widget(button)
        root = App.get_running_app().root
        #self.get_root_window().add_widget(self.bubble, root.canvas)
        root.add_widget(self.bubble)
        self.callbackid = root.fbind("on_touch_down", self.touch_grab)
    def touch_grab(self, widget, touch):
        touch.grab(self)
    def on_touch_up(self, touch):
        if touch.grab_current is self:
            touch.ungrab(self)
            self.close_on_pos(touch.pos)
        return True


    def closebubble(self):
        if self.bubble:
            #self.get_root_window().remove_widget(self.bubble)
            root = App.get_running_app().root
            root.unbind_uid("on_touch_down", self.callbackid)
            root.clear_widgets([self.bubble])
            self.bubble = None
    def on_parent(self, instance, value):
        self.closebubble()

    def call(self, button, funccall, data):
        def _call(instance):
            self.closebubble()
            if data:
                return funccall(data)
            else:
                return funccall()
        button.bind(on_press=_call)

    def close_on_pos(self, pos):
        bubble = self.bubble
        if bubble:
            if not bubble.collide_point(*pos) and not self.collide_point(*pos):
                self.closebubble()
Пример #22
0
 def openbubble(self, buttonfunclist, data=None):
     if self.bubble:
         logging.error("Bubble already called")
         return
     self.bubble = Bubble(height=30, width=10, pos=self.to_window(self.x, self.y+30), size_hint=(None, None))
     for text, func in buttonfunclist:
         button = BubbleButton(text=text, height=30)
         self.bubble.width += 10 + len(text)*10
         self.call(button, func, data)
         self.bubble.add_widget(button)
     root = App.get_running_app().root
     #self.get_root_window().add_widget(self.bubble, root.canvas)
     root.add_widget(self.bubble)
     self.callbackid = root.fbind("on_touch_down", self.touch_grab)
Пример #23
0
 def __init__(self,**kwargs):
     Bubble.__init__(self,**kwargs)
     self.room = kwargs['room_entry']
     self.ship = kwargs['ship']
     
     txt = 'Space: '+str(self.room['size'])+'\n'
     txt += 'Power: '+str(self.room['power'])+'\n'
     txt += 'Avail. Tokens:'
     
     #print txt
     self.ids['room_info'].text = txt
     self.selection = None
     
     self.populate_dropdown()
     self.refresh()
Пример #24
0
 def _open(self, *args, **kwargs):
     try:
         self.remove_widget(self.bubble)
         self.percentage = self.slider.value
         del self.bubble, self.slider
         self.update_icons()
     except AttributeError:
         self.bubble = Bubble(orientation="vertical", size=(48, 200))
         self.update_bubble_pos()
         self.bind(pos=self.update_bubble_pos)
         def on_perc(slider, value):
             slider.btn.percentage = value
         label = Label(text=self.label, size_hint_y=None, height=25)
         self.bubble.add_widget(label)
         self.slider = Slider(orientation="vertical", min=0, max=100, value=self.percentage)
         self.slider.btn = self
         self.slider.bind(value=on_perc)
         self.bubble.add_widget(self.slider)
         def on_reset(bbtn, *args, **kwargs):
             bbtn.slider.value = bbtn.reset_value
         bbtn = BubbleButton(text=self.reset_text, size_hint_y=None, height=40)
         bbtn.slider = self.slider
         bbtn.reset_value = self.reset_value
         bbtn.bind(on_release=on_reset)
         self.bubble.add_widget(bbtn)
         self.add_widget(self.bubble)
         self.icon = self.icons["close"]
Пример #25
0
    def init(self):

        global cl
        cl = client.Client(False)
        cl.startClient()

        global layout, bubbles, printMessages, oldMessages, counter, labels
        counter = 0
        oldMessages = []
        printMessages = []
        bubbles = []
        labels = []

        layout = BoxLayout(orientation='vertical')
        layout.size = (700, 600)
        layout.pos = (0, 30)
        layout.spacing = 5

        for i in range(19):
            labels.append(Label())
            bubbles.append(Bubble())
            bubbles[i].add_widget(labels[i])
            printMessages.append(('', 2))

        for b in bubbles:
            layout.add_widget(b)

        self.add_widget(layout)
Пример #26
0
	def add_new_marker(self, lat, lon, unit_name):
		print("add_new_marker")
		self.units_markers[unit_name] = MapMarkerPopup(lat=float(lat),lon=float(lon))
		self.units_markers[unit_name].popup_size = ( 230, 130 )

		buble = Bubble()

		box = BoxLayout(orientation="horizontal", padding="5px")#.add_widget(Label(text=unit_name))
		box.add_widget(AsyncImage(source="http://cs618620.vk.me/v618620602/1a4b3/-A6cSynXWf0.jpg", mipmap=True))
		box.add_widget(Label(text=unit_name, markup=True, halign="center"))

		buble.add_widget(box)

		self.units_markers[unit_name].add_widget(buble)

		self.mapview.add_marker( self.units_markers[unit_name] )
		self.mapview.do_update(None)
    def actualizarMarcadores(
        self
    ):  #Muestro los marcadores con las ubicaciones actualizadas en el mapa
        ip_request = requests.get('https://get.geojs.io/v1/ip.json')
        my_ip = ip_request.json()['ip']  #con mi ip obtengo mi geolocalizacion
        geo_request = requests.get('https://get.geojs.io/v1/ip/geo/' + my_ip +
                                   '.json')
        geo_data = geo_request.json()

        self.longitudActual = float(geo_data['longitude'])
        self.latitudActual = float(geo_data['latitude'])

        self.ids.mapview.center_on(
            self.latitudActual,
            self.longitudActual)  #mapa centrado en ubicacion actual
        self.ids.mapview.zoom = 5

        mapmarkerpopupUbicacionActual = MapMarkerPopup(lat=self.latitudActual,
                                                       lon=self.longitudActual,
                                                       popup_size=(120, 70))
        bubbleUbicacionActual = Bubble()
        labelUbicacionActual = Label(text="[b]Ubicaion actual![/b]",
                                     markup=True,
                                     halign="center")
        bubbleUbicacionActual.add_widget(labelUbicacionActual)
        mapmarkerpopupUbicacionActual.add_widget(
            bubbleUbicacionActual
        )  #creo un marcador con etique para saber la ubicacion actual, es de color rojo

        #self.ids.mapview.center_on(4.795100942698568, -75.6890602859938) #Me centra en la utp.
        if len(self.listaMarker) > 0:
            for marker in range(len(self.listaMarker)):
                self.ids.mapview.remove_widget(self.listaMarker[marker])
            self.listaMarker = [
            ]  #La reseteo para poder meter los mapMarker de los vehiculos actualizados.

        #Se hace la consulta a la BD para obtener las lat y lon de los vehiculos-----------------------BD
        self.listaMarker.append(mapmarkerpopupUbicacionActual)
        for l in range(10):
            self.listaMarker.append(
                MapMarker(lat=random.randint(1, 5),
                          lon=-75.7043800 + l / 2,
                          color=(0, 1, 1,
                                 1)))  #acepta 1,0,1,1 o 0,0,0,1 o 0,1,1,1
        for i in range(10):
            self.ids.mapview.add_widget(self.listaMarker[i])
Пример #28
0
def show_bubble(self, *args):
    my_bubble = Bubble(orientation="horizontal", pos=(280, 400))
    my_bubble.background_color = (20, 0, 0, 0.5)
    my_bubble.border = [50, 50, 50, 10]
    my_bubble.arrow_pos = "top_left"
    my_bub_btn1 = BubbleButton(text="Copy", size_hint=(None, None), size=(80, 50), pos=(200, 400))
    my_bub_btn2 = BubbleButton(text="Cut", size_hint=(None, None), size=(80, 50), pos=(300, 400))
    my_bub_btn3 = BubbleButton(text="Paste", size_hint=(None, None), size=(80, 50), pos=(300, 400))
    # Add items to bubble
    my_bubble.add_widget(my_bub_btn1)
    my_bubble.add_widget(my_bub_btn2)
    my_bubble.add_widget(my_bub_btn3)
    self.add_widget(my_bubble)
Пример #29
0
    def on_state(self, widget, state):
        # super(SettingView, self).on_state(**kwargs)
        
        if self.state == 'down':
            bubbleHeight = 50
            self.bubble = Bubble(size_hint=(None,None), size=(self.width, bubbleHeight), center_x=self.center_x, y=self.height-bubbleHeight)
            b1 = BubbleButton(text="-", font_size=40)
            b1.bind(on_press = self.decr)
            b2 = BubbleButton(text="+", font_size=40)
            b2.bind(on_press = self.incr)
            self.text_size = self.size
            self.text_size[1] -= 10
            self.valign='bottom'
            self.bubble.add_widget(b1)
            self.bubble.add_widget(b2)

            self.add_widget(self.bubble)
        else:
            self.remove_widget(self.bubble)
            self.valign='center'
            self.dispatch('on_change', self.value)
Пример #30
0
    def showBuuble(self, instance):
        #if bubble is already clicked
        if self.bubbleClicked:
            self.remove_widget(self.bubb)
            self.bubbleClicked = False
        #if bubble is not clicked
        else:
            self.bubb = Bubble(orientation='horizontal',
                               arrow_pos='bottom_mid')

            l = playlistManager.getPlaylists()
            for playlist in l:
                self.bubb.add_widget(
                    Button(text=playlist,
                           on_press=partial(self.addToPlaylist, playlist,
                                            self.title, self.actualSongImage,
                                            self.id, self.bubb),
                           size_hint=(.2, .2),
                           size=(200, 200)))
            self.add_widget(self.bubb)
            self.bubbleClicked = True
Пример #31
0
def mark(position, mapview, marker, result=[]):
    LAT, LON = position
    if not result:
        # m = marker(lat = LAT, lon = LON, source = "Map-Marker-PNG-Pic_3_1.png")
        bubble = Bubble(orientation="horizontal", padding=5)
        text = "[b]Self[/b]"
        label = Label(text=text, markup=True, halign="center")
        bubble.add_widget(label)
        m = MapMarkerPopup(lat=LAT,
                           lon=LON,
                           popup_size=(100, 50),
                           source="Map-Marker-PNG-Pic_3_1.png")
        m.add_widget(bubble)
    else:
        place_detail = get_place_details(result["place_id"])
        photo = get_photo_html(result)
        phone = get_phone_number(place_detail)
        name = result["name"]
        rating = get_rating(result)

        # m = marker(lat = LAT, lon = LON) marker has been replaced by mapmarkerpopup
        bubble = Bubble(orientation="vertical", padding=5)
        if photo:
            image = AsyncImage(source=photo, mipmap=True)
            bubble.add_widget(image)
        if len(name) > 30:
            index1 = name.find(",")
            index2 = name.find(" ", int(len(name) / 2))
            if index1 > 15:
                name = name[:index1] + "\n" + name[index1:]
            elif index2 > 20:
                name = name[:index2] + "\n" + name[index2:]

        text = "[b]" + name + "[/b]\n" + "Phone Number: " + phone + "\n" + "Rating: " + rating
        label = Label(text=text, markup=True, halign="center")
        bubble.add_widget(label)
        m = MapMarkerPopup(lat=LAT, lon=LON, popup_size=(250, 230))
        m.add_widget(bubble)
    marker_list.append(m)
    mapview.add_marker(m)
Пример #32
0
	def signal(self):
		my_bubble= Bubble(orientation = 'vertical',size_hint=(None, None),size=(600, 100),pos=(200,0))
		my_bubble.background_color =(20, 0, 0, .5) 
		my_bubble.border = [50, 50, 50, 10]
		my_bubble.size = (150, 50)
		my_bubble.arrow_pos= 'top_mid'
		my_bub_btn1= BubbleButton(text='Remove signal')
		#my_bub_btn1.bind(on_release=lambda my_bub_btn1: self.Update(1, my_bubble, my_bub_btn1))
		my_bub_btn1.bind(on_release=lambda my_bub_btn1: self.RemoveBub(my_bubble))
		my_bubble.add_widget(my_bub_btn1)
		self.add_widget(my_bubble)
Пример #33
0
    def test_add_remove_content(self):
        bubble = Bubble()
        content = BubbleContent()
        bubble.add_widget(content)
        self.render(bubble)

        bubble.remove_widget(content)
        self.render(bubble)
Пример #34
0
 def test_add_two_content_widgets_fails(self):
     from kivy.uix.bubble import BubbleException
     bubble = Bubble()
     content_1 = BubbleContent()
     content_2 = BubbleContent()
     bubble.add_widget(content_1)
     with self.assertRaises(BubbleException):
         bubble.add_widget(content_2)
Пример #35
0
    def __init__(self, shp, name, indic, ids, **kwargs):
        #self.app = App.get_running_app()
        Widget.__init__(self, **kwargs)
        #super(Neighbourhood, self).__init__(**kwargs)
        self.shape = shp
        self.getshape()
        self.indic = indic.values
        self.name = name
        self.score = 0
        self.bubb = Bubble()
        self.idso = ids

        with self.canvas:

            random = randint(0, 10)

            color = colors[random]

            cast = '#' + color

            Color(*get_color_from_hex(cast))
            Mesh(fmt=self.vfmt,
                 mode='triangle_fan',
                 indices=self.indices,
                 vertices=self.vertices)

            self.vrt = []
            j = 0
            #print("vertices ", len(self.vertices))
            for i in range(int(len(self.vertices) / 4)):
                x = self.vertices[j]
                y = self.vertices[j + 1]
                self.vrt.append([x, y])
                j = j + 4

            Color(*get_color_from_hex("#FFFFFF"))

            Line(points=self.vrt, width=1)
Пример #36
0
 def decoded(self, val):
     '''
     if self.message.text != "Labels: ":
         self.message.text += ", "
         
     self.message.text += val
     '''
     
     if val not in self.labels:
         self.labels.append(val)
         
         #obtener informacion del warehouse leido
         wh = Warehouses.Query.get(objectId=val)
         
         
         box = Bubble(size_hint_y=None, height=200)
                 
         labelreceipt = LabelReceipt()
         
         labelreceipt.receipt.text = "Receipt#: " + str(wh.Receipt)
         labelreceipt.zone.text = "Zone: " + wh.Zone
         labelreceipt.volume.text = "Volume: " + wh.Volume
         labelreceipt.consignee.text = "[b]Consignee:[/b]\n" + wh.Consignee.Name
         labelreceipt.country.text = "Country: " + wh.Country
         labelreceipt.objectId.text = "ID: " + wh.objectId
         
         '''
         labelreceipt.zone.text = wh.Zone
         '''
                 
         #box.add_widget(Label(text="ID:"+val))
         box.add_widget(labelreceipt)
         
         if os.path.isfile("box.png"):
             print "BOX IMAGE FOUND"
                             
         self.boxlabels.add_widget( box )
         vibrator.vibrate(.2)
Пример #37
0
    def _open(self, *args, **kwargs):
        try:
            self.remove_widget(self.bubble)
            self.percentage = self.slider.value
            del self.bubble, self.slider
            self.update_icons()
        except AttributeError:
            self.bubble = Bubble(orientation="vertical", size=(48, 200))
            self.update_bubble_pos()
            self.bind(pos=self.update_bubble_pos)

            def on_perc(slider, value):
                slider.btn.percentage = value

            label = Label(text=self.label, size_hint_y=None, height=25)
            self.bubble.add_widget(label)
            self.slider = Slider(orientation="vertical",
                                 min=0,
                                 max=100,
                                 value=self.percentage)
            self.slider.btn = self
            self.slider.bind(value=on_perc)
            self.bubble.add_widget(self.slider)

            def on_reset(bbtn, *args, **kwargs):
                bbtn.slider.value = bbtn.reset_value

            bbtn = BubbleButton(text=self.reset_text,
                                size_hint_y=None,
                                height=40)
            bbtn.slider = self.slider
            bbtn.reset_value = self.reset_value
            bbtn.bind(on_release=on_reset)
            self.bubble.add_widget(bbtn)
            self.add_widget(self.bubble)
            self.icon = self.icons["close"]
Пример #38
0
 def show_bubble(self, bx, by):
     bubble = Bubble(size_hint=[None, None], size=[20, 20], pos=[bx, by])
     bubble.add_widget(
         BubbleButton(text='WRONG',
                      font_size='10sp',
                      color=[0, 0, 0, 1],
                      size=[6, 3]))
     bubble.background_color = (255, 0, 0, 1)
     bubble.arrow_pos = 'bottom_right'
     self.ids.bbox.add_widget(bubble)
     Clock.schedule_once(partial(self.remove_bubble, bubble), 1.5)
Пример #39
0
    def create_bubble(self, instance, value):
        if not self.bubble_text:
            return

        if self.bubble_callback:
            self.funbind('mouse_hover', self.bubble_callback)

        text = self.bubble_text.strip()
        self.bubble = bubble = Bubble(size_hint=(None, None))
        self.bubble_button = bubble_button = BubbleButton(markup=True, text=text)
        bubble_button.bind(texture_size=lambda obj, size: bubble.setter('size')(bubble, (size[0] + 30, size[1] + 30)))
        bubble.add_widget(bubble_button)

        self.bubble_callback = partial(self.show_bubble, self, bubble, self.arrow_pos)

        # self.bind(mouse_hover=self.bubble_callback)
        self.fbind('mouse_hover', self.bubble_callback)
Пример #40
0
 def show_bubble(self, *args):
     my_bubble = Bubble(orientation='horizontal', pos=(280, 400))
     # Customizing my bubble
     my_bubble.background_color = (0, 0, 0, .5)
     my_bubble.border = [50, 50, 50, 10]
     my_bubble.arrow_pos = 'top_left'
     my_bub_btn1 = BubbleButton(text='Copy',
                                size_hint=(None, None),
                                size=(80, 50),
                                pos=(200, 400))
     my_bub_btn2 = BubbleButton(text='Cut',
                                size_hint=(None, None),
                                size=(80, 50),
                                pos=(300, 400))
     my_bub_btn3 = BubbleButton(text='Paste',
                                size_hint=(None, None),
                                size=(80, 50),
                                pos=(300, 400))
     # Add items to bubble
     my_bubble.add_widget(my_bub_btn1)
     my_bubble.add_widget(my_bub_btn2)
     my_bubble.add_widget(my_bub_btn3)
     self.add_widget(my_bubble)
    def build(self):

        MainAppWindow = AppBody(orientation='vertical')
        ToolBar = Bubble(size_hint=[1, .1])
        MainAppWindow.add_widget(ToolBar)
        WorkArea = AnchorLayout()
        MainAppWindow.add_widget(WorkArea)

        self.Timer_icon = Timer_icon = HeaderLables(size_hint=[1 / 5, 1])
        Timer_icon.img1.source = 'icons8-alarm-clock-96.png'
        Timer_icon.btn1.bind(on_release=self.GoTOTimer_widget)

        self.Stopclock_widget = Stopclock_widget = HeaderLables(
            size_hint=[1 / 5, 1])
        Stopclock_widget.img1.source = 'icons8-sport-stopwatch-96.png'
        Stopclock_widget.btn1.bind(on_release=self.GoTOStopclock_widget)

        self.Alarm_widget = Alarm_widget = HeaderLables(size_hint=[1 / 5, 1])
        Alarm_widget.img1.source = 'icons8-alarm-96.png'
        Alarm_widget.btn1.bind(on_release=self.GoTOAlarm_widget)

        self.Cust_widget = Cust_widget = HeaderLables(size_hint=[1 / 5, 1])
        Cust_widget.img1.source = 'icons8-star-96.png'
        Cust_widget.btn1.bind(on_release=self.GoTOCust_widget)

        self.Settings_widget = Settings_widget = HeaderLables(
            size_hint=[1 / 5, 1])
        Settings_widget.img1.source = 'icons8-settings-96.png'
        Settings_widget.btn1.bind(on_release=self.GoTOSettings_widget)

        ToolBar.add_widget(Timer_icon)
        ToolBar.add_widget(Stopclock_widget)
        ToolBar.add_widget(Alarm_widget)
        ToolBar.add_widget(Cust_widget)
        ToolBar.add_widget(Settings_widget)

        self.myTimer = Timer_widget()
        self.myStopClock = StopClockWidget()
        self.myAM = AM_SM()
        carousel = Carousel(direction='right')
        carousel.add_widget(self.myTimer)
        carousel.add_widget(self.myStopClock)
        carousel.add_widget(self.myAM)
        WorkArea.add_widget(carousel)
        return MainAppWindow
Пример #42
0
class SliderButton(ActionButton):
    percentage = NumericProperty(50)
    label = StringProperty("")
    type = OptionProperty("volume", options=["volume", "pitch", "speed"])
    icons = {
        "volume": {
            "high": "atlas://data/images/defaulttheme/audio-volume-high",
            "medium": "atlas://data/images/defaulttheme/audio-volume-medium",
            "low": "atlas://data/images/defaulttheme/audio-volume-low",
            "none": "atlas://data/images/defaulttheme/audio-volume-muted"
        },
        "speed": {
            "high": "atlas://data/images/defaulttheme/speed_fast",
            "medium": "atlas://data/images/defaulttheme/speed_normal",
            "low": "atlas://data/images/defaulttheme/speed_slow",
            "none": "atlas://data/images/defaulttheme/speed_slow"
        },
        "pitch": {
            "high": "atlas://data/images/defaulttheme/pitch_high",
            "medium": "atlas://data/images/defaulttheme/pitch_medium",
            "low": "atlas://data/images/defaulttheme/pitch_low",
            "none": "atlas://data/images/defaulttheme/pitch_low"
        },
        "close": "atlas://data/images/defaulttheme/cancel"
    }

    def __init__(self, **kwargs):
        super(SliderButton, self).__init__(**kwargs)

        App.get_running_app().bind(on_start=self.update_icons)
        self.bind(on_release=self._open)
        self.update_icons()

    def _open(self, *args, **kwargs):
        try:
            self.remove_widget(self.bubble)
            self.percentage = self.slider.value
            del self.bubble, self.slider
            self.update_icons()
        except AttributeError:
            self.bubble = Bubble(orientation="vertical", size=(48, 200))
            self.update_bubble_pos()
            self.bind(pos=self.update_bubble_pos)

            def on_perc(slider, value):
                slider.btn.percentage = value

            label = Label(text=self.label, size_hint_y=None, height=25)
            self.bubble.add_widget(label)
            self.slider = Slider(orientation="vertical",
                                 min=0,
                                 max=100,
                                 value=self.percentage)
            self.slider.btn = self
            self.slider.bind(value=on_perc)
            self.bubble.add_widget(self.slider)

            def on_reset(bbtn, *args, **kwargs):
                bbtn.slider.value = bbtn.reset_value

            bbtn = BubbleButton(text=self.reset_text,
                                size_hint_y=None,
                                height=40)
            bbtn.slider = self.slider
            bbtn.reset_value = self.reset_value
            bbtn.bind(on_release=on_reset)
            self.bubble.add_widget(bbtn)
            self.add_widget(self.bubble)
            self.icon = self.icons["close"]

    def update_icons(self, *args, **kwargs):
        if self.type == "volume":
            self.reset_value = 0
            self.reset_text = "Mute"
        else:
            self.reset_value = 50
            self.reset_text = "Reset"

        if self.percentage == 0:
            self.icon = self.icons[self.type]["none"]
        elif self.percentage > 0 and self.percentage < 33:
            self.icon = self.icons[self.type]["low"]
        elif self.percentage >= 33 and self.percentage <= 66:
            self.icon = self.icons[self.type]["medium"]
        elif self.percentage > 66 and self.percentage <= 100:
            self.icon = self.icons[self.type]["high"]

    def update_bubble_pos(self, *args):
        self.bubble.pos = (self.pos[0], self.pos[1] + 48)
Пример #43
0
class SliderButton(ActionButton):
    percentage = NumericProperty(50)
    label = StringProperty("")
    type = OptionProperty("volume", options=["volume", "pitch", "speed"])
    icons = {"volume":
                {"high":     "atlas://data/images/defaulttheme/audio-volume-high",
                 "medium":   "atlas://data/images/defaulttheme/audio-volume-medium",
                 "low":      "atlas://data/images/defaulttheme/audio-volume-low",
                 "none":     "atlas://data/images/defaulttheme/audio-volume-muted"},
             "speed":
                {"high":     "atlas://data/images/defaulttheme/speed_fast",
                 "medium":   "atlas://data/images/defaulttheme/speed_normal",
                 "low":      "atlas://data/images/defaulttheme/speed_slow",
                 "none":     "atlas://data/images/defaulttheme/speed_slow"},
             "pitch":
                {"high":     "atlas://data/images/defaulttheme/pitch_high",
                 "medium":   "atlas://data/images/defaulttheme/pitch_medium",
                 "low":      "atlas://data/images/defaulttheme/pitch_low",
                 "none":     "atlas://data/images/defaulttheme/pitch_low"},
             "close":        "atlas://data/images/defaulttheme/cancel"}


    def __init__(self, **kwargs):
        super(SliderButton, self).__init__(**kwargs)

        App.get_running_app().bind(on_start=self.update_icons)
        self.bind(on_release=self._open)
        self.update_icons()

    def _open(self, *args, **kwargs):
        try:
            self.remove_widget(self.bubble)
            self.percentage = self.slider.value
            del self.bubble, self.slider
            self.update_icons()
        except AttributeError:
            self.bubble = Bubble(orientation="vertical", size=(48, 200))
            self.update_bubble_pos()
            self.bind(pos=self.update_bubble_pos)
            def on_perc(slider, value):
                slider.btn.percentage = value
            label = Label(text=self.label, size_hint_y=None, height=25)
            self.bubble.add_widget(label)
            self.slider = Slider(orientation="vertical", min=0, max=100, value=self.percentage)
            self.slider.btn = self
            self.slider.bind(value=on_perc)
            self.bubble.add_widget(self.slider)
            def on_reset(bbtn, *args, **kwargs):
                bbtn.slider.value = bbtn.reset_value
            bbtn = BubbleButton(text=self.reset_text, size_hint_y=None, height=40)
            bbtn.slider = self.slider
            bbtn.reset_value = self.reset_value
            bbtn.bind(on_release=on_reset)
            self.bubble.add_widget(bbtn)
            self.add_widget(self.bubble)
            self.icon = self.icons["close"]

    def update_icons(self, *args, **kwargs):
        if self.type == "volume":
            self.reset_value = 0
            self.reset_text = "Mute"
        else:
            self.reset_value = 50
            self.reset_text = "Reset"

        if self.percentage == 0:
                self.icon = self.icons[self.type]["none"]
        elif self.percentage > 0 and self.percentage < 33:
                self.icon = self.icons[self.type]["low"]
        elif self.percentage >= 33 and self.percentage <= 66:
                self.icon = self.icons[self.type]["medium"]
        elif self.percentage > 66 and self.percentage <= 100:
                self.icon = self.icons[self.type]["high"]

    def update_bubble_pos(self, *args):
        self.bubble.pos = (self.pos[0], self.pos[1] + 48)
Пример #44
0
 def test_add_arbitrary_content(self):
     from kivy.uix.gridlayout import GridLayout
     bubble = Bubble()
     content = GridLayout()
     bubble.add_widget(content)
     self.render(bubble)
Пример #45
0
 def test_no_content(self):
     bubble = Bubble()
     self.render(bubble)