123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- # -*- coding: utf-8 -*-
- import pygame
- ## local UI import
- from UI.page import Page
- from UI.label import Label
- from UI.icon_item import IconItem
- from UI.multi_icon_item import MultiIconItem
- from UI.icon_pool import MyIconPool
- from UI.skin_manager import MySkinManager
- class NetItemMultiIcon(MultiIconItem):
- _CanvasHWND = None
- _Parent = None
- _Width = 18
- _Height = 18
-
- def Draw(self):
- self._CanvasHWND.blit(self._ImgSurf,(self._PosX,self._PosY+(self._Parent._Height-self._Height)/2,self._Width,self._Height),
- (0,self._IconIndex*self._IconHeight,self._IconWidth,self._IconHeight))
-
- class NetItemIcon(IconItem):
- _CanvasHWND = None
- _Parent = None
- _Width = 18
- _Height = 18
-
- def Draw(self):
- self._CanvasHWND.blit(self._ImgSurf,(self._PosX,self._PosY+(self._Parent._Height-self._Height)/2,self._Width,self._Height))
-
- class NetItem(object):
- _PosX = 0
- _PosY = 0
- _Width = 0
- _Height = 30
-
- _Atts = {}
-
- _Channel="" # '10'
- _Stren = "" ## 19%
- _Parent = None
- _IsActive = False
- _Icons = {} ## wifi strength and security icons
- _Labels = {}
- _FontObj = None
-
- _RSSI = 0
- _MacAddr=""
- _Path = "" #/org/bluez/hci0/dev_34_88_5D_97_FF_26
-
- def __init__(self):
- self._Labels = {}
- self._Icons = {}
- def SetActive(self,act):
- self._IsActive = act
-
- def Init(self, path, object):
- self._Path = path
- self._Atts = object
-
- is_active=False
- if "Address" in object:
- self._MacAddr = object["Address"]
-
- if "Connected" in object:
- if object["Connected"] == 1:
- is_active=True
-
- if is_active:
- self.SetActive(is_active)
-
- name_label = Label()
- name_label._PosX = 12
- name_label._CanvasHWND = self._Parent._CanvasHWND
- mac_addr = self._MacAddr
-
- if "Name" in object:
- if len(object["Name"]) > 3:
- mac_addr = object["Name"]
-
- if "RSSI" in object:
- print(object["RSSI"])
- self._RSSI = int(object["RSSI"])
-
- mac_addr = mac_addr[:34]
-
- name_label.Init(mac_addr,self._FontObj)
-
- self._Labels["mac_addr"] = name_label
- done_icon = NetItemIcon()
- done_icon._ImgSurf = MyIconPool.GiveIconSurface("done")
- done_icon._CanvasHWND = self._Parent._CanvasHWND
- done_icon._Parent = self
-
- self._Icons["done"] = done_icon
- ## reuse the resource from TitleBar
- #pp(theString)
-
-
- def Connect(self,notworkentry=None):
- """ Execute connection. """
- #dev = dbus.Interface(bus.get_object("org.bluez", "/org/bluez/hci0/dev_"+"34_88_5D_97_FF_26"), "org.bluez.Device1")
- proxy_obj = self._Parent._Dbus.get_object("org.bluez",self._Path)
- dev = self._Parent._Dbus.Interface(proxy_obj, "org.bluez.Device1")
- dev.Connect()
- def Draw(self):
- #pygame.draw.line(self._Parent._CanvasHWND,(169,169,169),(self._PosX,self._PosY),(self._PosX+self._Width,self._PosY),1)
- for i in self._Labels:
- self._Labels[i]._PosY = self._PosY + (self._Height - self._Labels[i]._Height)/2
- self._Labels[i].Draw()
-
- if self._IsActive:
- self._Icons["done"].NewCoord(320-22,self._PosY)
- self._Icons["done"].Draw()
-
- pygame.draw.line(self._Parent._CanvasHWND,MySkinManager.GiveColor('Line'),
- (self._PosX,self._PosY+self._Height-1),(self._PosX+self._Width,self._PosY+self._Height-1),1)
|