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

dogmaTimeWnd.py (4194B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\devtools\script\dogmaTimeWnd.py
      2 import datetime
      3 import dogma.attributes.datetime
      4 import datetimeutils
      5 from carbonui import uiconst
      6 from carbonui.control.singlelineedits.singleLineEditText import SingleLineEditText
      7 from carbonui.primitives.container import Container
      8 from carbonui.control.button import Button
      9 from carbonui.primitives.containerAutoSize import ContainerAutoSize
     10 from eve.client.script.ui.control.dateSinglelineEdit import DatePickerControl, HourMinPickerControl
     11 from eve.client.script.ui.control.eveLabel import EveLabelMedium
     12 from carbonui.control.window import Window
     13 HINT_TEXT = 'Enter the date and time in the format YYYY/MM/DD - HH:MM Then click the button to update the result.'
     14 
     15 class DogmaTimeConverterWindow(Window):
     16     default_windowID = 'DogmaTimeConverterWindow'
     17     default_name = 'DogmaTimeConverterWindow'
     18     default_caption = 'Dogma Datetime Converter'
     19 
     20     def ApplyAttributes(self, attributes):
     21         super(DogmaTimeConverterWindow, self).ApplyAttributes(attributes)
     22         self.Layout()
     23 
     24     def Layout(self):
     25         now = datetime.datetime.now()
     26         EveLabelMedium(parent=self.content, text=HINT_TEXT, align=uiconst.TOTOP)
     27         self.pickerCont = ContainerAutoSize(parent=self.content, align=uiconst.TOTOP, height=Button.default_height, padTop=8)
     28         self.datePicker = DatePickerControl(name='fromPicker', parent=self.pickerCont, setValue=[now.year, now.month, now.day], ranges=(0, datetimeutils.date_to_blue(datetime.datetime.max)), fontSize=16, align=uiconst.TOLEFT)
     29         EveLabelMedium(parent=ContainerAutoSize(parent=self.pickerCont, align=uiconst.TOLEFT), text='-', align=uiconst.CENTER, padLeft=8, padRight=8)
     30         self.hourMinPicker = HourMinPickerControl(parent=self.pickerCont, setValue=(now.hour, now.minute), fontSize=16, align=uiconst.TOLEFT)
     31         self.button = Button(parent=self.pickerCont, align=uiconst.TOLEFT, func=self.OnButtonClick, label='Convert', padLeft=8)
     32         self.resultField = SingleLineEditText(parent=self.pickerCont, align=uiconst.TOLEFT, width=100, padLeft=8)
     33         self.ApplyWindowSize()
     34 
     35     def ApplyWindowSize(self):
     36         content_height = sum((each.height + each.padTop + each.padBottom + each.top for each in self.content.children))
     37         _, window_height = self.GetWindowSizeForContentSize(height=content_height)
     38         self.height = window_height
     39         self.width = 370
     40         self.SetMinSize([self.width, self.height], refresh=True)
     41         self.MakeUnResizeable()
     42 
     43     def LayoutOld(self):
     44         left = 10
     45         now = datetime.datetime.now()
     46         self.explanationCont = Container(parent=self.sr.main, align=uiconst.TOTOP, height=40)
     47         label = EveLabelMedium(parent=self.explanationCont, text=HINT_TEXT, align=uiconst.TOLEFT, width=340, padLeft=5)
     48         label.Layout()
     49         self.pickerCont = Container(parent=self.sr.main, align=uiconst.TOTOP, height=20)
     50         self.datePicker = DatePickerControl(name='fromPicker', parent=self.pickerCont, setValue=[now.year, now.month, now.day], left=left, ranges=(0, datetimeutils.date_to_blue(datetime.datetime.max)), fontSize=16, align=uiconst.TOLEFT)
     51         EveLabelMedium(parent=self.pickerCont, text='-', align=uiconst.TOLEFT, width=7, padLeft=7)
     52         self.hourMinPicker = HourMinPickerControl(parent=self.pickerCont, left=left, setValue=(now.hour, now.minute), fontSize=16, align=uiconst.TOLEFT)
     53         self.button = Button(parent=self.pickerCont, align=uiconst.TOLEFT, func=self.OnButtonClick, width=100, height=20, label='Convert', padLeft=5)
     54         self.resultField = SingleLineEditText(parent=self.pickerCont, align=uiconst.TOLEFT, width=100, height=20, padLeft=5, top=0)
     55 
     56     def OnButtonClick(self, *args):
     57         dateStamp = self.datePicker.GetTimestamp()
     58         timeStamp = self.hourMinPicker.GetTimestamp()
     59         dateTimeStamp = dateStamp + timeStamp
     60         self.resultField.SetText(dogma.attributes.datetime.time_as_float(dateTimeStamp))
     61 
     62 
     63 def OpenWindow():
     64     win = Window.GetIfOpen(windowID=DogmaTimeConverterWindow.default_windowID)
     65     if win:
     66         win.Show()
     67     else:
     68         DogmaTimeConverterWindow.Open()