Example #1
0
	def onUp(self, event):
		#pass
		#print "up", self.__stack, self.__level
		log.op("EntryRegisterBrowser.levelDown", [self.__selectedElement, self.__level], 0)
		if self.__stack == []:
			return
		if self.__level == "FICHE":
			elements = self.__dBController.getLinesForPage(self.__stack[-3], self.__stack[-2], self.__stack[-1])
			#elements = ["4", "5", "6", "7"]
			self.__level = "LINE"
			self.DeleteAllItems()
			self.__fillRegister(elements)
		elif self.__level == "LINE":
			self.__stack.pop()
			elements = self.__dBController.getPagesForWork(self.__stack[-2], self.__stack[-1])
			#elements = ["0", "1", "2", "3", "4"]
			self.__level = "PAGE"
			self.DeleteAllItems()
			self.__fillRegister(elements)
		elif self.__level == "PAGE":
			self.__stack.pop()
			elements = self.__dBController.getWorksForEntry(self.__stack[-1])
			self.__level = "WORK"
			self.DeleteAllItems()
			self.__fillRegister(elements)
		elif self.__level == "WORK":
			self.__stack.pop()
			elements = self.__dBController.getEntriesRegister()
			self.__level = "ENTRY"
			self.DeleteAllItems()
			self.__fillRegister(elements)
		log.opr("EntryRegisterBrowser.onUp return", [], 1)
 def __onKey(self, event):
     log.op("HintRegisterBrowser.__onKey", [event.GetKeyCode()], 0)
     if event.GetKeyCode() == wx.WXK_RETURN:
         self.levelDown()
     else:
         event.Skip()
     log.opr("HintRegisterBrowser.__onKey return", [], 1)
Example #3
0
	def onUp(self, event):
		log.op("StructureRegisterBrowser.onUp", [event], 0)
		if self.__element.getParent() != None:
			self.__ficheLevel = False
			self.__binaryAvailable = False
			self.__element = self.__element.getParent()
			self.__selectStructureNode(self.__element)
		log.op("StructureRegisterBrowser.onUp return", [], 1)
 def levelDown(self):
     log.op("HintRegisterBrowser.levelDown", [
         self._selected
         if self._selected == None else self._elementOf(self._selected)
     ], 0)
     if self._selected != None:
         for l in self._listeners:
             l.find_in_entry_register(self._elementOf(self._selected))
     log.opr("HintRegisterBrowser.levelDown return", [], 1)
Example #5
0
	def __onEditAcceptEnter(self, event):
		log.op("__onEditAcceptEnter", [event.GetKeyCode(), wx.WXK_RETURN], 0)
		if event.GetKeyCode() == wx.WXK_RETURN and not event.ControlDown():
			#print "Enter"
			self.__onEditAccept(event)
		else:
			#print "Not"
			event.Skip()
		log.opr("__onEditAcceptEnter return", [], 1)
Example #6
0
	def _nextFicheNotFound(self):
		log.op("StructureRegisterBrowser._nextFicheNotFound", [], 0)
		fiche = self.__register.findNextFiche(self.__element)
		if fiche != None:
			self.__element = fiche.getParent()
			self.__selectStructureNode(self.__element)
			itemId = self._element2item[fiche.getId()]
			self._unselect(self._selected)
			self._select(itemId, veto=True)
			RegisterBrowser._element_selected(self, fiche.getId(), notify=False)
		log.op("StructureRegisterBrowser._nextFicheNotFound return", [], 1)
Example #7
0
 def showMessage(self, msg):
     log.op("showMessage", [msg], 0)
     if len(self.__messages) == MessageList.LIMIT:
         self.__messages = self.__messages[:len(self.__messages) - 1]
     self.__messages.insert(0, str(datetime.datetime.now()) + ": " + msg)
     self.DeleteAllItems()
     i = 0
     for m in self.__messages:
         self.InsertStringItem(i, m)
         i += 1
     self.SetColumnWidth(0, wx.LIST_AUTOSIZE)
     self.Refresh()
     self.Update()
     log.opr("showMessage return", [], 1)
Example #8
0
	def levelDown(self):
		log.op("StructureRegisterBrowser.levelDown", [self.__ficheLevel], 0)
		if not self.__ficheLevel:
			self.__selectStructureNode(self.__element)
			if self.__ficheLevel:
				for l in self._listeners:
					l.start_binary_search()
				self.__binaryAvailable = True
				#for l in self._listeners: # TODO: D jeden listener
				#	elementId = l.request_selection()
				#	if elementId != None:
				#		self.select(elementId)
				#		time.sleep(0.1) # TODO: NOTE bez tego nie zaznacza w wykazie aktualnie ogladanej fiszki
				time.sleep(0.1)
		log.opr("StructureRegisterBrowser.levelDown return", [], 1)
Example #9
0
	def __onKeyUp(self, event):
		log.op("__onKeyUp", [event.GetKeyCode(), wx.WXK_UP, wx.WXK_DOWN], 0)
		if self.__skipOneKeyUp:
			self.__skipOneKeyUp = False
			log.opr("__onKeyUp", [], 2)
			return
		if event.GetKeyCode() == wx.WXK_UP:
			for l in self._listeners:
				self.__keyEventFromTopPanel = True
				l.on_toppanel_key_up(event)
				self.__keyEventFromTopPanel = False
		elif event.GetKeyCode() == wx.WXK_DOWN:
			for l in self._listeners:
				self.__keyEventFromTopPanel = True
				l.on_toppanel_key_down(event)
				self.__keyEventFromTopPanel = False
		log.opr("__onKeyUp return", [], 1)
Example #10
0
 def onKey(self, event):
     log.op("onKey", [event.GetKeyCode()], 0)
     if event.GetKeyCode() == 67 and event.ControlDown():
         current = -1
         while True:
             next = self.GetNextItem(current, wx.LIST_NEXT_ALL,
                                     wx.LIST_STATE_SELECTED)
             if next != -1:
                 item = self.GetItem(next).GetText()
                 if wx.TheClipboard.Open():
                     wx.TheClipboard.SetData(wx.TextDataObject(item))
                     wx.TheClipboard.Close()
                 break
             else:
                 break
             current = next
     log.opr("onKey return", [], 1)
 def onSelect(self, event):
     #mapsafe
     log.op("WindowRegisterBrowser.onSelect",
            [self._elementOf(self._unmap(event.GetIndex())), self._smart],
            0)
     if (not self._smart) or self._windowVeto:
         RegisterBrowser.onSelect(self, event)
     else:
         rawItemId = event.GetIndex()
         itemId = self._unmap(rawItemId)
         if rawItemId / float(self.LIMIT()) < 0.25 or rawItemId / float(
                 self.LIMIT()) > 0.75:
             self._scrollBrowser(itemId)
             self._windowVeto = True
             self._select(itemId)
             self._windowVeto = False
         else:
             RegisterBrowser.onSelect(self, event)
     log.opr("WindowRegisterBrowser.onSelect return", [], 1)
Example #12
0
	def editPanelChanged(self, event):
		log.op("editPanelChanged", [event, self.__editPanel.GetValue()], 0)
		if not self.__browsingHistory:
			for l in self._listeners:
				l.stop_browsing_entry_history(event)
		if self.__hintRegister == None:
			hint = None
		else:
			hint = self.__hintRegister.findHint(self.__editPanel.GetValue())
		if hint != None:
			for l in self._listeners:
				l.on_hint_changed(hint[0])
			#print hint[0], hint[1]
			#print type(hint[0]), type(hint[1])
			self.__hintPanel.SetValue(unicode(hint[0], "utf-8") + (u" " if hint[0] != '' and hint[1] != '' else u"") + unicode(hint[1], "utf-8"))
			self.__hint = hint[0]
		else:
			self.__hintPanel.SetValue("")
			self.__hint = None
		log.opr("editPanelChanged return", [], 1)
Example #13
0
	def onSelect(self, event):
	#mapsafe
		log.op("RegisterBrowser.onSelect", [self._elementOf(self._unmap(event.GetIndex())), self._veto], 0)
		if self._binary and (not self.__programmaticSelect): # wyszukiwanie binarne jest
				# aktywne - w takim przypadku nalezy je wylaczyc (zaznaczenie fiszki w czasie
				# wyszukiwania binarnego przerywa je)
				# jezeli flaga self.__programmaticSelect jest wlaczona, to znaczy, ze element
				# nie zostal zaznaczony przez akcje uzytkownika w GUI lecz przez jedna z
				# metod odpowiedzialna za przebieg wyszukiwania binarnego i nie nalezy go przerywac
			#self.stopBinarySearch()
			for l in self._listeners:
				l.stop_binary_search() # powiadom o przerwaniu wyszukiwania binarnego
		if not self._veto: # w niektorych metodach po zaznaczeniu elementu nie chcemy
			# powiadamiac o zaznaczeniu elementu bo jest on zaznaczany przez okno glowne
			# wiec nie ma potrzeby powiadamiania go o tym fakcie - wtedy ustawiamy flage _veto;
			# poniewaz w takiej sytuacji self._selected = itemId nie jest wykonywane w
			# metodzie onSelect trzeba je wykonac w metodzie wywolujacej wx.ListView.Select
			itemId = self._unmap(event.GetIndex()) # TODO: NOTE http://wxpython-users.1045709.n5.nabble.com/wx-ListCtrl-Item-Information-on-Double-Click-td3394264.html
			self._selected = itemId
			elementId = self._elementOf(itemId)
			self._element_selected(elementId) # TODO: NOTE to wywoluje zmiane strony a
				# w konsekwencji RegisterBrowser.select - zatem dany element jest zaznaczany
				# dwa razy (to nie powoduje jakichs duzych problemow)
		log.opr("RegisterBrowser.onSelect return", [], 1)
Example #14
0
	def levelDown(self):
		log.op("EntryRegisterBrowser.levelDown", [self.__selectedElement, self.__level], 0)
		elementId = self.__selectedElement
		#elif self.__level == "ENTRY":
		if self.__level == "ENTRY":	
			elements = self.__dBController.getWorksForEntry(elementId)	
			self.__stack.append(elementId)
			self.__level = "WORK"
			self.DeleteAllItems()
			self.__fillRegister(elements)
		elif self.__level == "WORK":	
			#print elementId
			elements = self.__dBController.getPagesForWork(self.__stack[-1], elementId)
			#elements = ["0", "1", "2", "3", "4"]
			self.__stack.append(elementId)
			self.__level = "PAGE"
			self.DeleteAllItems()
			self.__fillRegister(elements)
		elif self.__level == "PAGE":
			elements = self.__dBController.getLinesForPage(self.__stack[-2], self.__stack[-1], elementId)
			#elements = ["4", "5", "6", "7"]
			self.__stack.append(elementId)
			self.__level = "LINE"
			self.DeleteAllItems()
			self.__fillRegister(elements)
		else:
			elements = self.__dBController.getFichesForLine(self.__stack[-3], self.__stack[-2], self.__stack[-1], elementId)
			self.__level = "FICHE"
			self.DeleteAllItems()
			self.__fillRegister(elements)
			for l in self._listeners: # TODO: D jeden listener
				elementId = l.request_selection()
				if elementId != None:
					self.select(elementId)
			time.sleep(0.1) # TODO: NOTE bez tego nie zaznacza w wykazie aktualnie ogladanej fiszki
		log.opr("EntryRegisterBrowser.levelDown return", [], 1)
 def __pageDown(self):
     log.op("WindowRegisterBrowser.pageDown", [], 0)
     self._select(min(self._selected + self.SCROLL(), self._itemsLen() - 1))
     log.opr("WindowRegisterBrowser.pageDown return", [], 1)
 def __pageUp(self):
     log.op("WindowRegisterBrowser.pageUp", [], 0)
     self._select(max(self._selected - self.SCROLL(), 0))
     log.opr("WindowRegisterBrowser.pageUp return", [], 1)
Example #17
0
 def onSelect(self, event):
     #mapsafe
     log.op("HintRegisterBrowser.onSelect", [event], 0)
     WindowRegisterBrowser.onSelect(self, event)
     log.opr("HintRegisterBrowser.onSelect return", [], 1)
Example #18
0
	def copyHintToEditPanel(self):
		log.op("copyHintToEditPanel", [self.__hintPanel.GetValue()], 0)
		self.setEntry(self.__stripSiglum(self.__hintPanel.GetValue()))
		log.opr("copyHintToEditPanel return", [], 1)
Example #19
0
	def __hintPanelChanged(self, event):
		log.op("__hintPanelChanged", [event, self.__hintPanel.GetValue()], 0)
		self.__hint = self.__hintPanel.GetValue() # niepoprawne (bo siglum)
		log.opr("__hintPanelChanged return", [], 1)
Example #20
0
	def __onHintAccept(self, event):
		# TODO: C strip siglum?
		log.op("__onHintAccept", [event, self.__hintPanel.GetValue()], 0)
		for l in self._listeners:
			l.on_hint_accept(event)
		log.opr("__onHintAccept return", [], 1)
Example #21
0
	def __onEditPrefixAccept(self, event):
		log.op("__onEditPrefixAccept", [event, self.__editPanel.GetValue()], 0)
		for l in self._listeners:
			l.on_edit_prefix_accept(event)
		log.opr("__onEditPrefixAccept return", [], 1)
Example #22
0
	def onSelect(self, event):
		log.op("StructureRegisterBrowser.onSelect", [self._elementOf(self._unmap(event.GetIndex()))], 0)
		RegisterBrowser.onSelect(self, event)
		log.opr("StructureRegisterBrowser.onSelect return", [], 1)