VegaS1234

[Python] Color Interface Rewrited Script

Aug 18th, 2017
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.59 KB | None | 0 0
  1. import dbg, app, net, ui, wndMgr, chr
  2. URL_FILE_NAME = 'lib/color'
  3.  
  4. class kolorDialog(ui.ScriptWindow):
  5.     def __init__(self):
  6.         ui.ScriptWindow.__init__(self)
  7.         self.LoadDialog()
  8.  
  9.     def __del__(self):
  10.         ui.ScriptWindow.__del__(self)
  11.  
  12.     def LoadDialog(self):
  13.         try:
  14.             pyScrLoader = ui.PythonScriptLoader()
  15.             pyScrLoader.LoadScriptFile(self, "interfececolor.py")
  16.         except:
  17.             import exception
  18.             exception.Abort("kolorDialog.Initialize.LoadDialog")
  19.  
  20.         try:
  21.             GetObject = self.GetChild
  22.             self.btnSave = GetObject("ok")
  23.             self.btnRestart = GetObject("no")
  24.             self.board = GetObject("board")
  25.            
  26.             self.sliderList = [GetObject("r"), GetObject("g"), GetObject("b"), GetObject("a")]
  27.             self.textList = [GetObject("rt"), GetObject("gt"), GetObject("bt"), GetObject("at")]
  28.             self.interfaceList = [
  29.                 self.board.Corners[0], self.board.Corners[1], self.board.Corners[2], self.board.Corners[3], self.board.Lines[0], self.board.Lines[1], self.board.Lines[2], self.board.Lines[3],
  30.                 self.board.Base, self.board.titleBar.imgLeft, self.board.titleBar.imgCenter, self.board.titleBar.imgRight]
  31.         except:
  32.             import exception
  33.             exception.Abort("kolorDialog.Initialize.BindObject")
  34.  
  35.         self.board.SetCloseEvent(self.Close)
  36.         self.btnSave.SetEvent(ui.__mem_func__(self.OnPressSaveButton))
  37.         self.btnRestart.SetEvent(ui.__mem_func__(self.OnPressRestartButton))
  38.         self.Refresh()
  39.        
  40.     def GetSliderPos(self):
  41.         return self.sliderList[0], self.sliderList[1], self.sliderList[2], self.sliderList[3]
  42.        
  43.     def SetSliderPos(self, r, g, b, a):
  44.         [value.SetSliderPos([r, g, b, a][key]) for key, value in enumerate(self.sliderList)]
  45.            
  46.     def Refresh(self):
  47.         def split(vars):
  48.             return str(vars * 255).split('.')[0]
  49.  
  50.         r, g, b, a = GetSliderPos()
  51.  
  52.         [wndMgr.SetDiffuseColor(object.hWnd, r, g, b, (a / 2 ) + 0.5) for object in self.interfaceList]
  53.         [value.SetText([split(r), split(g), split(b), split(a)][key]) for key, value in enumerate(self.textList)]
  54.            
  55.     def OpenDialog(self):
  56.         def tokens():
  57.             return open(URL_FILE_NAME).readlines()
  58.  
  59.         self.SetSliderPos(float(tokens()[0]), float(tokens()[1]), float(tokens()[2]), (float(tokens()[3]) - 0.5) * 2)
  60.         self.Show()
  61.         self.Refresh()
  62.  
  63.     def OnPressSaveButton(self):
  64.         r, g, b, a = GetSliderPos()
  65.         ui.zmiengrafike(r, g, b, (a / 2) + 0.5)
  66.  
  67.         f = open(URL_FILE_NAME, 'wb')
  68.         f.write("%s\n%s\n%s\n%s\n" % (r, g, b, (a / 2) + 0.5))
  69.         f.close()
  70.         self.Refresh()
  71.  
  72.     def OnPressRestartButton(self):
  73.         self.SetSliderPos(1.0, 1.0, 1.0, 1.0)
  74.         self.Refresh()
  75.  
  76.     def OnPressEscapeKey(self):
  77.         self.Close()
  78.         return TRUE
  79.        
  80.     def Close(self):
  81.         self.Hide()
  82.         return TRUE
Advertisement
Add Comment
Please, Sign In to add comment