def __init__(self, new=True): super().__init__(new) if new: label = self.addLabel(TextItem("f")) self._exists = False self._epi = False self._mono = False self._isom = False self._editor = None self._reversed = False self._graphAlgoVisited = False
def __init__(self, new=True): super().__init__(new) if new: label = TextItem("x") self.addLabel(label) self.centerChild(label) #label.setFlag(self.ItemIsMovable, False) self.setBrush(SimpleBrush(QColor(255, 255, 255, 0))) # Transparent self.setPen(Pen(QColor(255, 50, 0, 200), 0.88)) self._insetPadding = self.DefaultInsetPadding / 3 self._graphAlgoVisited = False self._editor = None
def setIsomorphism(self, isom): if isom != self._isom: labels = self.findLabels("~") if labels: if isom is False: for label in labels: self.removeLabel(label) self._isom = False else: if isom: if self.findLabel("~") is None: self.addLabel(TextItem("~")) self._isom = True
def Init(self): self._CanvasHWND = self._Screen._CanvasHWND self.ReadLayoutFile(self._KeyboardLayoutFile) ## assign to _Secs self._SectionNumbers = len(self._Secs) self._PosX = self._Index*self._Screen._Width self._Width = self._Screen._Width self._Height = self._Screen._Height fontobj = fonts["veramono24"] word_margin = 15 start_x = (self._Width - fontobj.size( "".join(self._Secs[0][0]))[0]-len(self._Secs[0][0])*word_margin)/2+word_margin/2 start_y = 0 cnt = 0 for i in range(0,self._SectionNumbers): self._SecsKeys[i] = [] for j in range(0,len(self._Secs[i])): self._SecsKeys[i].append( [] ) start_x = (self._Width - fontobj.size( "".join(self._Secs[i][j]))[0]-len(self._Secs[i][j])*word_margin)/2+word_margin/2 start_x = start_x + i*Width start_y = 84+j*(word_margin+14) for idx,val in enumerate(self._Secs[i][j]): ti = TextItem() ti._FontObj = fontobj ti._Parent = self if val == "_L" or val == "_R": it = KeyboardIcon() it._ImgSurf = MyIconPool._Icons[val] it._Parent = self it._Str = val it.Init(start_x+it._ImgSurf.get_width()/2 ,start_y,it._ImgSurf.get_width(),it._ImgSurf.get_height(),0) #self._Icons[val] = it self._SecsKeys[i][j].append(it) self._IconNumbers+=1 start_x = start_x + it._ImgSurf.get_width()+word_margin else: if val == "_S": val = "Space" ti._FontObj = fonts["veramono15"] ti._Bold = True cur_alpha_size = ti._FontObj.size( val) ti.Init(start_x + cur_alpha_size[0]/2,start_y,cur_alpha_size[0],cur_alpha_size[1],0) ti._Str = val start_x = start_x + cur_alpha_size[0]+word_margin # prepare for next alpha self._SecsKeys[i][j].append(ti) self._SectionIndex = 0 self._Textarea = Textarea() self._Textarea._PosX = 4 self._Textarea._PosY = 4 self._Textarea._Width= self._Width - 4*2 self._Textarea._Height = 60 self._Textarea._CanvasHWND = self._CanvasHWND self._Textarea.Init() ps = KeyboardSelector() ps._Parent = self ps.Init(start_x,start_y,25,25,128) self._Ps = ps self._PsIndex = 0 self._Ps._OnShow = True