Advertisement
Guest User

Untitled

a guest
Aug 5th, 2017
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 11.79 KB | None | 0 0
  1. import ui
  2. import localeInfo
  3. import app
  4. import ime
  5. import uiScriptLocale
  6.  
  7. class PopupDialog(ui.ScriptWindow):
  8.  
  9.     def __init__(self):
  10.         ui.ScriptWindow.__init__(self)
  11.         self.__LoadDialog()
  12.         self.acceptEvent = lambda *arg: None
  13.  
  14.     def __del__(self):
  15.         ui.ScriptWindow.__del__(self)
  16.  
  17.     def __LoadDialog(self):
  18.         try:
  19.             PythonScriptLoader = ui.PythonScriptLoader()
  20.             PythonScriptLoader.LoadScriptFile(self, "UIScript/PopupDialog.py")
  21.  
  22.             self.board = self.GetChild("board")
  23.             self.message = self.GetChild("message")
  24.             self.accceptButton = self.GetChild("accept")
  25.             self.accceptButton.SetEvent(ui.__mem_func__(self.Close))
  26.  
  27.         except:
  28.             import exception
  29.             exception.Abort("PopupDialog.LoadDialog.BindObject")
  30.  
  31.     def Open(self):
  32.         self.SetCenterPosition()
  33.         self.SetTop()
  34.         self.Show()
  35.  
  36.     def Close(self):
  37.         self.Hide()
  38.         self.acceptEvent()
  39.  
  40.     def Destroy(self):
  41.         self.Close()
  42.         self.ClearDictionary()
  43.  
  44.     def SetWidth(self, width):
  45.         height = self.GetHeight()
  46.         self.SetSize(width, height)
  47.         self.board.SetSize(width, height)
  48.         self.SetCenterPosition()
  49.         self.UpdateRect()
  50.  
  51.     def SetText(self, text):
  52.         self.message.SetText(text)
  53.  
  54.     def SetAcceptEvent(self, event):
  55.         self.acceptEvent = event
  56.  
  57.     def SetButtonName(self, name):
  58.         self.accceptButton.SetText(name)
  59.  
  60.     def OnPressEscapeKey(self):
  61.         self.Close()
  62.         return True
  63.  
  64.     def OnIMEReturn(self):
  65.         self.Close()
  66.         return True
  67.  
  68. class InputDialog(ui.ScriptWindow):
  69.  
  70.     def __init__(self):
  71.         ui.ScriptWindow.__init__(self)
  72.  
  73.         self.__CreateDialog()
  74.  
  75.     def __del__(self):
  76.         ui.ScriptWindow.__del__(self)
  77.  
  78.     def __CreateDialog(self):
  79.  
  80.         pyScrLoader = ui.PythonScriptLoader()
  81.         pyScrLoader.LoadScriptFile(self, "uiscript/inputdialog.py")
  82.  
  83.         getObject = self.GetChild
  84.         self.board = getObject("Board")
  85.         self.acceptButton = getObject("AcceptButton")
  86.         self.cancelButton = getObject("CancelButton")
  87.         self.inputSlot = getObject("InputSlot")
  88.         self.inputValue = getObject("InputValue")
  89.  
  90.     def Open(self):
  91.         self.inputValue.SetFocus()
  92.         self.SetCenterPosition()
  93.         self.SetTop()
  94.         self.Show()
  95.  
  96.     def Close(self):
  97.         self.ClearDictionary()
  98.         self.board = None
  99.         self.acceptButton = None
  100.         self.cancelButton = None
  101.         self.inputSlot = None
  102.         self.inputValue = None
  103.         self.Hide()
  104.  
  105.     def SetTitle(self, name):
  106.         self.board.SetTitleName(name)
  107.  
  108.     def SetNumberMode(self):
  109.         self.inputValue.SetNumberMode()
  110.  
  111.     def SetSecretMode(self):
  112.         self.inputValue.SetSecret()
  113.  
  114.     def SetFocus(self):
  115.         self.inputValue.SetFocus()
  116.  
  117.     def SetMaxLength(self, length):
  118.         width = length * 6 + 10
  119.         self.SetBoardWidth(max(width + 50, 160))
  120.         self.SetSlotWidth(width)
  121.         self.inputValue.SetMax(length)
  122.  
  123.     def SetSlotWidth(self, width):
  124.         self.inputSlot.SetSize(width, self.inputSlot.GetHeight())
  125.         self.inputValue.SetSize(width, self.inputValue.GetHeight())
  126.         if self.IsRTL():
  127.             self.inputValue.SetPosition(self.inputValue.GetWidth(), 0)
  128.  
  129.     def SetBoardWidth(self, width):
  130.         self.SetSize(max(width + 50, 160), self.GetHeight())
  131.         self.board.SetSize(max(width + 50, 160), self.GetHeight()) 
  132.         if self.IsRTL():
  133.             self.board.SetPosition(self.board.GetWidth(), 0)
  134.         self.UpdateRect()
  135.  
  136.     def SetAcceptEvent(self, event):
  137.         self.acceptButton.SetEvent(event)
  138.         self.inputValue.OnIMEReturn = event
  139.  
  140.     def SetCancelEvent(self, event):
  141.         self.board.SetCloseEvent(event)
  142.         self.cancelButton.SetEvent(event)
  143.         self.inputValue.OnPressEscapeKey = event
  144.  
  145.     def GetText(self):
  146.         return self.inputValue.GetText()
  147.  
  148. class InputDialogWithDescription(InputDialog):
  149.  
  150.     def __init__(self):
  151.         ui.ScriptWindow.__init__(self)
  152.  
  153.         self.__CreateDialog()
  154.  
  155.     def __del__(self):
  156.         InputDialog.__del__(self)
  157.  
  158.     def __CreateDialog(self):
  159.  
  160.         pyScrLoader = ui.PythonScriptLoader()
  161.         if localeInfo.IsARABIC() :
  162.             pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_UISCRIPT_PATH + "inputdialogwithdescription.py")
  163.         else:
  164.             pyScrLoader.LoadScriptFile(self, "uiscript/inputdialogwithdescription.py")
  165.  
  166.         try:
  167.             getObject = self.GetChild
  168.             self.board = getObject("Board")
  169.             self.acceptButton = getObject("AcceptButton")
  170.             self.cancelButton = getObject("CancelButton")
  171.             self.inputSlot = getObject("InputSlot")
  172.             self.inputValue = getObject("InputValue")
  173.             self.description = getObject("Description")
  174.  
  175.         except:
  176.             import exception
  177.             exception.Abort("InputDialogWithDescription.LoadBoardDialog.BindObject")
  178.  
  179.     def SetDescription(self, text):
  180.         self.description.SetText(text)
  181.  
  182. class InputDialogWithDescription2(InputDialog):
  183.  
  184.     def __init__(self):
  185.         ui.ScriptWindow.__init__(self)
  186.  
  187.         self.__CreateDialog()
  188.  
  189.     def __del__(self):
  190.         InputDialog.__del__(self)
  191.  
  192.     def __CreateDialog(self):
  193.  
  194.         pyScrLoader = ui.PythonScriptLoader()
  195.         pyScrLoader.LoadScriptFile(self, "uiscript/inputdialogwithdescription2.py")
  196.  
  197.         try:
  198.             getObject = self.GetChild
  199.             self.board = getObject("Board")
  200.             self.acceptButton = getObject("AcceptButton")
  201.             self.cancelButton = getObject("CancelButton")
  202.             self.inputSlot = getObject("InputSlot")
  203.             self.inputValue = getObject("InputValue")
  204.             self.description1 = getObject("Description1")
  205.             self.description2 = getObject("Description2")
  206.  
  207.         except:
  208.             import exception
  209.             exception.Abort("InputDialogWithDescription.LoadBoardDialog.BindObject")
  210.  
  211.     def SetDescription1(self, text):
  212.         self.description1.SetText(text)
  213.  
  214.     def SetDescription2(self, text):
  215.         self.description2.SetText(text)
  216.  
  217. class QuestionDialog(ui.ScriptWindow):
  218.  
  219.     def __init__(self):
  220.         ui.ScriptWindow.__init__(self)
  221.         self.__CreateDialog()
  222.  
  223.     def __del__(self):
  224.         ui.ScriptWindow.__del__(self)
  225.  
  226.     def __CreateDialog(self):
  227.         pyScrLoader = ui.PythonScriptLoader()
  228.         pyScrLoader.LoadScriptFile(self, "uiscript/questiondialog.py")
  229.  
  230.         self.board = self.GetChild("board")
  231.         self.textLine = self.GetChild("message")
  232.         self.acceptButton = self.GetChild("accept")
  233.         self.cancelButton = self.GetChild("cancel")
  234.  
  235.     def Open(self):
  236.         self.SetCenterPosition()
  237.         self.SetTop()
  238.         self.Show()
  239.  
  240.     def Close(self):
  241.         self.Hide()
  242.  
  243.     def SetWidth(self, width):
  244.         height = self.GetHeight()
  245.         self.SetSize(width, height)
  246.         self.board.SetSize(width, height)
  247.         self.SetCenterPosition()
  248.         self.UpdateRect()
  249.  
  250.     def SAFE_SetAcceptEvent(self, event):
  251.         self.acceptButton.SAFE_SetEvent(event)
  252.  
  253.     def SAFE_SetCancelEvent(self, event):
  254.         self.cancelButton.SAFE_SetEvent(event)
  255.  
  256.     def SetAcceptEvent(self, event):
  257.         self.acceptButton.SetEvent(event)
  258.  
  259.     def SetCancelEvent(self, event):
  260.         self.cancelButton.SetEvent(event)
  261.  
  262.     def SetText(self, text):
  263.         self.textLine.SetText(text)
  264.  
  265.     def SetAcceptText(self, text):
  266.         self.acceptButton.SetText(text)
  267.  
  268.     def SetCancelText(self, text):
  269.         self.cancelButton.SetText(text)
  270.  
  271.     def OnPressEscapeKey(self):
  272.         self.Close()
  273.         return True
  274.  
  275. class QuestionDialogItem(ui.ScriptWindow):
  276.  
  277.     def __init__(self):
  278.         ui.ScriptWindow.__init__(self)
  279.         self.__CreateDialog()
  280.  
  281.     def __del__(self):
  282.         ui.ScriptWindow.__del__(self)
  283.  
  284.     def __CreateDialog(self):
  285.         pyScrLoader = ui.PythonScriptLoader()
  286.         pyScrLoader.LoadScriptFile(self, "uiscript/questiondialogitem.py")
  287.  
  288.         self.board = self.GetChild("board")
  289.         self.textLine = self.GetChild("message")
  290.         self.acceptButton = self.GetChild("accept")
  291.         self.destroyButton = self.GetChild("destroy")
  292.         self.cancelButton = self.GetChild("cancel")
  293.  
  294.     def Open(self):
  295.         self.SetCenterPosition()
  296.         self.SetTop()
  297.         self.Show()
  298.  
  299.     def Close(self):
  300.         self.Hide()
  301.  
  302.     def SetWidth(self, width):
  303.         height = self.GetHeight()
  304.         self.SetSize(width, height)
  305.         self.board.SetSize(width, height)
  306.         self.SetCenterPosition()
  307.         self.UpdateRect()
  308.  
  309.     def SAFE_SetAcceptEvent(self, event):
  310.         self.acceptButton.SAFE_SetEvent(event)
  311.  
  312.     def SAFE_SetCancelEvent(self, event):
  313.         self.cancelButton.SAFE_SetEvent(event)
  314.  
  315.     def SetAcceptEvent(self, event):
  316.         self.acceptButton.SetEvent(event)
  317.  
  318.     def SetDestroyEvent(self, event):
  319.         self.destroyButton.SetEvent(event)
  320.  
  321.     def SetCancelEvent(self, event):
  322.         self.cancelButton.SetEvent(event)
  323.  
  324.     def SetText(self, text):
  325.         self.textLine.SetText(text)
  326.  
  327.     def SetAcceptText(self, text):
  328.         self.acceptButton.SetText(text)
  329.  
  330.     def SetCancelText(self, text):
  331.         self.cancelButton.SetText(text)
  332.  
  333.     def OnPressEscapeKey(self):
  334.         self.Close()
  335.         return TRUE
  336.  
  337. class QuestionDialog2(QuestionDialog):
  338.  
  339.     def __init__(self):
  340.         QuestionDialog.__init__(self)
  341.         self.__CreateDialog()
  342.  
  343.     def __del__(self):
  344.         QuestionDialog.__del__(self)
  345.  
  346.     def __CreateDialog(self):
  347.         pyScrLoader = ui.PythonScriptLoader()
  348.         pyScrLoader.LoadScriptFile(self, "uiscript/questiondialog2.py")
  349.  
  350.         self.board = self.GetChild("board")
  351.         self.textLine1 = self.GetChild("message1")
  352.         self.textLine2 = self.GetChild("message2")
  353.         self.acceptButton = self.GetChild("accept")
  354.         self.cancelButton = self.GetChild("cancel")
  355.  
  356.     def SetText1(self, text):
  357.         self.textLine1.SetText(text)
  358.  
  359.     def SetText2(self, text):
  360.         self.textLine2.SetText(text)
  361.  
  362. class QuestionDialogWithTimeLimit(QuestionDialog2):
  363.  
  364.     def __init__(self):
  365.         ui.ScriptWindow.__init__(self)
  366.  
  367.         self.__CreateDialog()
  368.         self.endTime = 0
  369.  
  370.     def __del__(self):
  371.         QuestionDialog2.__del__(self)
  372.  
  373.     def __CreateDialog(self):
  374.         pyScrLoader = ui.PythonScriptLoader()
  375.         pyScrLoader.LoadScriptFile(self, "uiscript/questiondialog2.py")
  376.  
  377.         self.board = self.GetChild("board")
  378.         self.textLine1 = self.GetChild("message1")
  379.         self.textLine2 = self.GetChild("message2")
  380.         self.acceptButton = self.GetChild("accept")
  381.         self.cancelButton = self.GetChild("cancel")
  382.  
  383.     def Open(self, msg, timeout):
  384.         self.SetCenterPosition()
  385.         self.SetTop()
  386.         self.Show()
  387.  
  388.         self.SetText1(msg)
  389.         self.endTime = app.GetTime() + timeout
  390.  
  391.     def OnUpdate(self):
  392.         leftTime = max(0, self.endTime - app.GetTime())
  393.         self.SetText2(localeInfo.UI_LEFT_TIME % (leftTime))
  394.  
  395. class MoneyInputDialog(ui.ScriptWindow):
  396.  
  397.     def __init__(self):
  398.         ui.ScriptWindow.__init__(self)
  399.  
  400.         self.moneyHeaderText = localeInfo.MONEY_INPUT_DIALOG_SELLPRICE
  401.         self.__CreateDialog()
  402.         self.SetMaxLength(9)
  403.  
  404.     def __del__(self):
  405.         ui.ScriptWindow.__del__(self)
  406.  
  407.     def __CreateDialog(self):
  408.  
  409.         pyScrLoader = ui.PythonScriptLoader()
  410.         pyScrLoader.LoadScriptFile(self, "uiscript/moneyinputdialog.py")
  411.  
  412.         getObject = self.GetChild
  413.         self.board = self.GetChild("board")
  414.         self.acceptButton = getObject("AcceptButton")
  415.         self.cancelButton = getObject("CancelButton")
  416.         self.inputValue = getObject("InputValue")
  417.         self.inputValue.SetNumberMode()
  418.         self.inputValue.OnIMEUpdate = ui.__mem_func__(self.__OnValueUpdate)
  419.         self.moneyText = getObject("MoneyValue")
  420.  
  421.     def Open(self):
  422.         self.inputValue.SetText("")
  423.         self.inputValue.SetFocus()
  424.         self.__OnValueUpdate()
  425.         self.SetCenterPosition()
  426.         self.SetTop()
  427.         self.Show()
  428.  
  429.     def Close(self):
  430.         self.ClearDictionary()
  431.         self.board = None
  432.         self.acceptButton = None
  433.         self.cancelButton = None
  434.         self.inputValue = None
  435.         self.Hide()
  436.  
  437.     def SetTitle(self, name):
  438.         self.board.SetTitleName(name)
  439.  
  440.     def SetFocus(self):
  441.         self.inputValue.SetFocus()
  442.  
  443.     def SetMaxLength(self, length):
  444.         length = min(9, length)
  445.         self.inputValue.SetMax(length)
  446.  
  447.     def SetMoneyHeaderText(self, text):
  448.         self.moneyHeaderText = text
  449.  
  450.     def SetAcceptEvent(self, event):
  451.         self.acceptButton.SetEvent(event)
  452.         self.inputValue.OnIMEReturn = event
  453.  
  454.     def SetCancelEvent(self, event):
  455.         self.board.SetCloseEvent(event)
  456.         self.cancelButton.SetEvent(event)
  457.         self.inputValue.OnPressEscapeKey = event
  458.  
  459.     def SetValue(self, value):
  460.         value=str(value)
  461.         self.inputValue.SetText(value)
  462.         self.__OnValueUpdate()
  463.         ime.SetCursorPosition(len(value))      
  464.  
  465.  
  466.     def GetText(self):
  467.         return self.inputValue.GetText()
  468.  
  469.     def __OnValueUpdate(self):
  470.         ui.EditLine.OnIMEUpdate(self.inputValue)
  471.  
  472.         text = self.inputValue.GetText()
  473.  
  474.         money = 0
  475.         if text and text.isdigit():
  476.             try:
  477.                 money = int(text)
  478.             except ValueError:
  479.                 money = 199999999
  480.  
  481.         self.moneyText.SetText(self.moneyHeaderText + localeInfo.NumberToMoneyString(money))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement