NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

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)