panelNotes.py (1820B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\info\panels\panelNotes.py 2 from carbon.common.script.util.commonutils import StripTags 3 from carbonui.primitives.container import Container 4 import uthread 5 from eve.client.script.ui.control.eveEditPlainText import EditPlainText 6 from eve.common.lib import appConst as const 7 import carbonui.const as uiconst 8 9 class PanelNotes(Container): 10 11 def ApplyAttributes(self, attributes): 12 Container.ApplyAttributes(self, attributes) 13 self.infoType = attributes.infoType 14 self.itemID = attributes.itemID 15 self.initialized = False 16 self.oldText = None 17 self.edit = EditPlainText(parent=self, padding=const.defaultPadding, align=uiconst.TOALL, maxLength=5000, showattributepanel=True) 18 19 def Close(self, *args): 20 self.SaveNote() 21 Container.Close(self) 22 23 def Load(self): 24 if self.initialized: 25 return 26 self.initialized = True 27 text = '' 28 if self.itemID: 29 text = sm.RemoteSvc('charMgr').GetNote(self.itemID) 30 self.edit.SetValue(text, scrolltotop=1) 31 self.oldText = text 32 33 def SaveNote(self, closing = 0, *args): 34 if not self.itemID: 35 return 36 if self.oldText is None: 37 return 38 text = self.edit.GetValue() 39 if text is None: 40 return 41 toSave = None 42 if len(StripTags(text)): 43 if self.oldText != text: 44 toSave = text[:5000] 45 elif self.oldText: 46 toSave = '' 47 if toSave is not None: 48 uthread.new(self._SaveNodeThread, self.itemID, toSave) 49 50 def _SaveNodeThread(self, itemID, toSave): 51 if session.charid: 52 sm.RemoteSvc('charMgr').SetNote(itemID, toSave)