Example #1
0
    def InitUI(self):
        if self.mode == "DEBUG":
            print "In GenInfoPanel"

        self.locale = wx.Locale(self.lang)

        self.vbox = wx.BoxSizer(wx.VERTICAL)
        row1 = wx.BoxSizer(wx.HORIZONTAL)
        row2 = wx.BoxSizer(wx.HORIZONTAL)

        # Station Number, and Date
        stnNumTxt = wx.StaticText(self, label=self.stnNumTxtLbl)
        self.stnNumCmbo = wx.ComboBox(self,
                                      style=wx.CB_DROPDOWN
                                      | wx.TE_PROCESS_ENTER,
                                      choices=self.numbers)

        self.stnNumCmbo.Bind(wx.EVT_TEXT, self.OnTextTypeNum)
        self.stnNumCmbo.Bind(wx.EVT_MOUSEWHEEL, self.do_nothing)

        dateTxt = wx.StaticText(self, label=self.dateTxtLbl)
        self.datePicker = adv.DatePickerCtrl(self, style=wx.adv.DP_DROPDOWN)

        # self.datePicker = adv.CalendarCtrl(self, style=wx.adv.CAL_SHOW_HOLIDAYS|wx.adv.CAL_SEQUENTIAL_MONTH_SELECTION)
        # self.datePicker.SetHeaderColours('White','Blue')
        # self.datePicker.SetHolidayColours('White','Blue')
        # Add them to sizer
        row1.Add(stnNumTxt, 0, wx.RIGHT, 5)
        row1.Add(self.stnNumCmbo, 1, wx.LEFT | wx.RIGHT | wx.EXPAND, 5)
        row1.Add(dateTxt, 0, wx.LEFT | wx.RIGHT, 5)
        row1.Add(self.datePicker, 0, wx.LEFT | wx.EXPAND, 5)

        # Station Name and Timezone
        stnNameTxt = wx.StaticText(self, label=self.stnNameTxtLbl)
        # self.stnNameCtrl = wx.TextCtrl(self)
        self.stnNameCtrl = wx.ComboBox(self,
                                       style=wx.CB_DROPDOWN
                                       | wx.TE_PROCESS_ENTER,
                                       choices=self.names)
        self.stnNameCtrl.Bind(wx.EVT_TEXT, self.OnTextTypeName)
        tzTxt = wx.StaticText(self, label=self.tzTxtLbl)
        self.tzCmbo = wx.ComboBox(self,
                                  choices=self.timeZones,
                                  value="",
                                  style=wx.CB_READONLY)
        self.tzCmbo.Bind(wx.EVT_COMBOBOX, self.updateParentTZ)
        self.tzCmbo.Bind(wx.EVT_MOUSEWHEEL, self.do_nothing)

        # Add them to sizer
        row2.Add(stnNameTxt, 0, wx.RIGHT, 5)
        row2.Add(self.stnNameCtrl, 1, wx.LEFT | wx.RIGHT | wx.EXPAND, 5)
        row2.Add(tzTxt, 0, wx.LEFT | wx.RIGHT, 5)
        row2.Add(self.tzCmbo, 0, wx.LEFT, 5)

        self.vbox.Add(row1, 0, wx.ALL | wx.EXPAND, 5)
        self.vbox.Add(row2, 0, wx.ALL | wx.EXPAND, 5)

        self.SetSizer(self.vbox)
Example #2
0
    def __init__(self, *args, **kwds):
        label = kwds.pop('label', '')
        self.onChangeClient = kwds.pop('on_change', self.onChangeClientDefault)
        super(ASDateHour, self).__init__(*args, **kwds)

        self.txt = wx.StaticText(self, wx.ID_ANY, label) if label else None
        self.ctl_date = ADV.DatePickerCtrl(self,
                                           wx.ID_ANY,
                                           style=ADV.DP_DROPDOWN)
        self.ctl_time = MSK.TimeCtrl(self, wx.ID_ANY, format='24HHMM')

        self.__set_properties()
        self.__do_layout()

        self.Bind(ADV.EVT_DATE_CHANGED, self.onChange, self.ctl_date)
        self.Bind(MSK.EVT_TIMEUPDATE, self.onChange, self.ctl_time)
Example #3
0
    def init_component(self):
        self.font = wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.NORMAL, False)

        self.panel = wx.Panel(self)
        self.sizer = wx.GridBagSizer(5, 5)
        self.panel.SetSizer(self.sizer)

        self.datelabel = wx.StaticText(self.panel,
                                       -1,
                                       '请选择预定场地的日期:',
                                       pos=(20, 25))
        self.datelabel.SetFont(self.font)
        self.datepick = adv.DatePickerCtrl(self.panel,
                                           id=-1,
                                           size=(160, 40),
                                           pos=(200, 20),
                                           style=wx.adv.DP_DROPDOWN
                                           | wx.adv.DP_SHOWCENTURY)
        self.datepick.Bind(adv.EVT_DATE_CHANGED, self.OnActionChangeDate)

        self.init_time()
        self.init_choice_box()
        self.addUserBox()

        self.beginBook = wx.Button(self.panel,
                                   label='开始预定',
                                   pos=(60, 375),
                                   size=(100, 40))
        self.beginBook.SetFont(self.font)
        self.beginBook.Bind(wx.EVT_BUTTON, self.OnActionBeginBook)

        self.stopBook = wx.Button(self.panel,
                                  label='停止预定',
                                  pos=(220, 375),
                                  size=(100, 40))
        self.stopBook.SetFont(self.font)
        self.stopBook.Bind(wx.EVT_BUTTON, self.OnActionStopBook)

        self.textLabel = wx.StaticText(self.panel, -1, '输出信息:', pos=(20, 430))
        self.textLabel.SetFont(self.font)

        self.addTimer()

        self.addOutPutText()
    def __init__(self, parent):
        FLAGS = (wx.CAPTION | wx.MAXIMIZE_BOX | wx.MINIMIZE_BOX | wx.CLOSE_BOX
                 | wx.RESIZE_BORDER)

        sc.SizedDialog.__init__(self,
                                None,
                                -1,
                                "Student Registration",
                                style=FLAGS)
        cPane = self.GetContentsPane()
        pane = sc.SizedScrolledPanel(cPane, wx.ID_ANY)
        pane.SetSizerProps(expand=True, proportion=1)
        pane.SetSizerType("vertical")
        # -----------------------------------------------------------------------
        '''
		btnbmp = wx.Bitmap('images/user.png')
		self.imagebtn = wx.BitmapButton(pane, bitmap=btnbmp,
			size=(150,100), pos=wx.DefaultPosition, style=wx.BU_BOTTOM)
		self.imagebtn.SetSizerProps(border=(['all'],10))
		self.imagebtn.SetLabel('Add Photo')
		self.imagebtn.Bind(wx.EVT_BUTTON, self.OnAddPhoto)
		'''
        # line = wx.StaticLine(pane, size=(500, -1))
        # line.SetSizerProps(expand=True)

        self.fn_lbl = wx.StaticText(pane, -1, "Firstname", wx.DefaultPosition,
                                    wx.DefaultSize)
        self.fname = wx.TextCtrl(pane, -1, " ", size=(150, -1))

        self.ln_lbl = wx.StaticText(pane, -1, "Lastame", wx.DefaultPosition,
                                    wx.DefaultSize)
        self.lname = wx.TextCtrl(pane, -1, " ", size=(150, -1))

        self.dob_lbl = wx.StaticText(pane, -1, "Date of Birth",
                                     wx.DefaultPosition, wx.DefaultSize)
        self.dob = adv.DatePickerCtrl(pane,
                                      size=(100, -1),
                                      style=wx.adv.DP_DROPDOWN
                                      | wx.adv.DP_SHOWCENTURY
                                      | wx.adv.DP_ALLOWNONE)

        self.sex_lbl = wx.StaticText(pane, -1, "Gender", wx.DefaultPosition,
                                     wx.DefaultSize)
        self.gender = wx.Choice(pane, -1, choices=["male", "female"])

        self.addr_lbl = wx.StaticText(pane, -1, "Address", wx.DefaultPosition,
                                      wx.DefaultSize)
        self.address = wx.TextCtrl(pane, -1, " ", size=(150, -1))

        self.num_lbl = wx.StaticText(pane, -1, "Phone", wx.DefaultPosition,
                                     wx.DefaultSize)
        self.phone = wx.TextCtrl(pane, -1, "", size=(150, -1))

        self.eml_lbl = wx.StaticText(pane, -1, 'Email', wx.DefaultPosition,
                                     wx.DefaultSize)
        self.email = wx.TextCtrl(pane, -1, " ", size=(200, -1))

        self.prt_lbl = wx.StaticText(pane, -1, 'Parent Name',
                                     wx.DefaultPosition, wx.DefaultSize)
        self.parent_name = wx.TextCtrl(pane, -1, size=(150, -1))

        self.lvl_lbl = wx.StaticText(pane, -1, 'Level', wx.DefaultPosition,
                                     wx.DefaultSize)
        self.level = wx.Choice(pane,
                               -1,
                               choices=['JHS', 'SHS', 'Professional'])

        self.adm_lbl = wx.StaticText(pane, -1, 'Addmission Date',
                                     wx.DefaultPosition, wx.DefaultSize)
        self.adm_date = adv.DatePickerCtrl(pane,
                                           size=(200, -1),
                                           style=wx.adv.DP_DROPDOWN
                                           | wx.adv.DP_SHOWCENTURY
                                           | wx.adv.DP_ALLOWNONE)

        self.SetButtonSizer(self.CreateStdDialogButtonSizer(wx.OK | wx.CANCEL))
Example #5
0
    def _init_frame(self):
        # 设置面板各个功能
        pnl = wx.Panel(self)
        vb = wx.BoxSizer(wx.VERTICAL)
        hb1 = wx.BoxSizer(wx.HORIZONTAL)
        hb2 = wx.BoxSizer(wx.HORIZONTAL)
        hb3 = wx.BoxSizer(wx.HORIZONTAL)
        hb3_v1 = wx.BoxSizer(wx.VERTICAL)
        hb3_v2 = wx.BoxSizer(wx.VERTICAL)

        ######################################
        # 第一层 配置文件
        ######################################
        text1 = wx.StaticText(pnl, wx.ID_ANY, u"风场")
        self.hb1_listc2 = wx.Choice(pnl, choices=ParaEMD().FengChang)
        self.hb1_listc2.SetSelection(0)
        text3 = wx.StaticText(pnl, wx.ID_ANY, u"风机")
        self.hb1_textc4 = wx.TextCtrl(pnl)
        text5 = wx.StaticText(pnl, wx.ID_ANY, u"叶片ID")
        self.hb1_listc6 = wx.Choice(pnl, choices=ParaEMD().IdBlade)
        self.hb1_listc6.SetSelection(0)
        text7 = wx.StaticText(pnl, wx.ID_ANY, u"信号类型")
        self.hb1_listc8 = wx.Choice(pnl, choices=ParaEMD().TypeData)
        self.hb1_listc8.SetSelection(0)

        hb1.AddMany([
            (text1, 0, wx.ALIGN_CENTER | wx.ALL, 10),
            (self.hb1_listc2, 0, wx.ALIGN_CENTER | wx.ALL, 5),
            (text3, 0, wx.ALIGN_CENTER | wx.ALL, 5),
            (self.hb1_textc4, 0, wx.ALIGN_CENTER | wx.ALL, 5),
            (text5, 0, wx.ALIGN_CENTER | wx.ALL, 5),
            (self.hb1_listc6, 0, wx.ALIGN_CENTER | wx.ALL, 5),
            (text7, 0, wx.ALIGN_CENTER | wx.ALL, 5),
            (self.hb1_listc8, 0, wx.ALIGN_CENTER | wx.ALL, 5),
        ])

        ######################################
        # 第二层 时间
        ######################################
        text9 = wx.StaticText(pnl, wx.ID_ANY, u"起始:")
        self.hb2_time10 = adv.DatePickerCtrl(pnl, wx.ID_ANY,
                                             wx.DefaultDateTime,
                                             wx.DefaultPosition,
                                             wx.DefaultSize, adv.DP_DEFAULT)
        text11 = wx.StaticText(pnl, wx.ID_ANY, u"结束:")
        self.hb2_time12 = adv.DatePickerCtrl(pnl, wx.ID_ANY,
                                             wx.DefaultDateTime,
                                             wx.DefaultPosition,
                                             wx.DefaultSize, adv.DP_DEFAULT)
        self.hb2_button13 = wx.Button(pnl, label=u"运行")

        hb2.AddMany([
            (text9, 0, wx.ALIGN_CENTER | wx.ALL, 10),
            (self.hb2_time10, 0, wx.ALIGN_CENTER | wx.ALL, 5),
            (text11, 0, wx.ALIGN_CENTER | wx.ALL, 5),
            (self.hb2_time12, 0, wx.ALIGN_CENTER | wx.ALL, 5),
            (self.hb2_button13, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
        ])

        ######################################
        # 第三层左侧 配置文件
        ######################################
        self.hb3_v_box1 = wx.RadioBox(pnl,
                                      label=u"IMF分量",
                                      choices=ParaEMD().LblList,
                                      majorDimension=3,
                                      style=wx.RA_SPECIFY_ROWS)
        hb3_text2 = wx.StaticBoxSizer(wx.StaticBox(pnl, 0, label=u"显示优先级"),
                                      wx.VERTICAL)
        self.hb3_v_ch3 = wx.Choice(pnl, choices=ParaEMD().LblListLcn)
        self.hb3_v_ch3.SetSelection(0)
        self.hb3_v_ch4 = wx.Choice(pnl, choices=ParaEMD().LblListLcn)
        self.hb3_v_ch4.SetSelection(1)
        self.hb3_v_ch5 = wx.Choice(pnl, choices=ParaEMD().LblListLcn)
        self.hb3_v_ch5.SetSelection(2)
        hb3_text6 = wx.StaticBoxSizer(wx.StaticBox(pnl, 0, label=u"时间选择"),
                                      wx.VERTICAL)
        self.hb3_v_ch7 = wx.Choice(pnl, choices=[])
        #self.hb3_v_ch7 = wx.ListBox(pnl, choices=[], style=wx.LB_SINGLE)
        hb3_text8 = wx.StaticBoxSizer(wx.StaticBox(pnl, 0, label=u"幅值选择"),
                                      wx.HORIZONTAL)
        self.hb3_v_lc9 = wx.TextCtrl(pnl, size=(50, 25), value="100")
        hb3_text8_line = wx.StaticText(pnl, label=u"----")
        self.hb3_v_lc11 = wx.TextCtrl(pnl, size=(50, 25), value="400")
        self.hb3_v_button6 = wx.Button(pnl, label=u"显示")

        hb3_text2.AddMany([
            (self.hb3_v_ch3, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
            (self.hb3_v_ch4, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
            (self.hb3_v_ch5, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
        ])
        hb3_text6.AddMany([
            (self.hb3_v_ch7, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
        ])
        hb3_text8.AddMany([
            (self.hb3_v_lc9, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
            (hb3_text8_line, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
            (self.hb3_v_lc11, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
        ])

        hb3_v1.AddMany([
            (self.hb3_v_box1, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
            (hb3_text2, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
            (hb3_text6, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
            (hb3_text8, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
            (self.hb3_v_button6, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
        ])
        ######################################
        # 第三层右侧 配置文件
        ######################################
        self.hb3_v_draw1 = Plot_Pnl(pnl)
        self.hb3_v_draw2 = Plot_Pnl(pnl)
        hb3_v2.AddMany([
            (self.hb3_v_draw1, 2, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
            (self.hb3_v_draw2, 1, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
        ])
        ######################################
        # 所有面板汇合
        ######################################
        h1_line = wx.StaticLine(pnl, wx.ID_ANY)
        h2_line = wx.StaticLine(pnl, wx.ID_ANY, style=wx.LI_VERTICAL)
        hb3.AddMany([
            (hb3_v1, 1, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
            (h2_line, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
            (hb3_v2, 3, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
        ])
        vb.AddMany([
            (hb1, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
            (hb2, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
            (h1_line, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
            (hb3, 1, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
        ])
        pnl.SetSizer(vb)
        self.CreateStatusBar()

        # 传面板参数
        self.left = [pnl, hb3_text6]
        self.right = [pnl, hb3_v2]
Example #6
0
    def InitUI(self):
        if self.mode == "DEBUG":
            print "In EnvironmentConditionsPanel"

        self.locale = wx.Locale(self.lang)

        self.layoutSizer = wx.BoxSizer(wx.VERTICAL)

        #Levels Txt and Ctrl
        levelsSizer = wx.BoxSizer(wx.HORIZONTAL)
        levelsTxt = wx.StaticText(self,
                                  label=self.levelsTxtLbl,
                                  style=wx.ALIGN_CENTRE_HORIZONTAL)
        self.levelsCtrl = wx.TextCtrl(self,
                                      style=wx.TE_PROCESS_ENTER,
                                      size=(100, -1))
        levelsSizer.Add(levelsTxt, 0, wx.EXPAND | wx.RIGHT | wx.TOP, 5)
        levelsSizer.Add(self.levelsCtrl, 1, wx.EXPAND | wx.LEFT, 5)

        #Cloud Cover Text and Combo
        cloudCoverSizer = wx.BoxSizer(wx.HORIZONTAL)
        cloudCoverTxt = wx.StaticText(self,
                                      label=self.cloudCoverTxtLbl,
                                      style=wx.ALIGN_CENTRE_HORIZONTAL)
        self.cloudCoverCmbo = wx.ComboBox(self,
                                          choices=self.cloudCoverList,
                                          style=wx.CB_READONLY,
                                          size=(100, -1))
        self.cloudCoverCmbo.Bind(wx.EVT_MOUSEWHEEL, self.do_nothing)
        cloudCoverSizer.Add(cloudCoverTxt, 0, wx.EXPAND | wx.RIGHT | wx.TOP, 5)
        cloudCoverSizer.Add(self.cloudCoverCmbo, 1, wx.EXPAND | wx.LEFT, 5)

        #Precipitation Text and Combo
        precipSizer = wx.BoxSizer(wx.HORIZONTAL)
        precipTxt = wx.StaticText(self,
                                  label=self.precipTxtLbl,
                                  style=wx.ALIGN_CENTRE_HORIZONTAL)
        self.precipCmbo = wx.ComboBox(self,
                                      choices=self.precipList,
                                      style=wx.CB_READONLY,
                                      size=(100, -1))
        self.precipCmbo.Bind(wx.EVT_MOUSEWHEEL, self.do_nothing)
        precipSizer.Add(precipTxt, 0, wx.EXPAND | wx.RIGHT | wx.TOP, 5)
        precipSizer.Add(self.precipCmbo, 1, wx.EXPAND | wx.LEFT, 5)

        #Wind Magnitude Text, Combo
        windMagSizer = wx.BoxSizer(wx.HORIZONTAL)
        windMagTxt = wx.StaticText(self,
                                   label=self.windMagTxtLbl,
                                   style=wx.ALIGN_CENTRE_HORIZONTAL)
        self.windMagCmbo = wx.ComboBox(self,
                                       choices=self.windMagList,
                                       style=wx.CB_READONLY,
                                       size=(100, -1))
        self.windMagCmbo.Bind(wx.EVT_MOUSEWHEEL, self.do_nothing)
        windMagSizer.Add(windMagTxt, 0, wx.EXPAND | wx.RIGHT | wx.TOP, 5)
        windMagSizer.Add(self.windMagCmbo, 1, wx.EXPAND | wx.LEFT, 5)

        #Wind Mag Speed Text and Ctrl
        windMagSpeedSizer = wx.BoxSizer(wx.HORIZONTAL)
        windMagSpeedTxt = wx.StaticText(self,
                                        label=self.windMagSpeedTxtLbl,
                                        style=wx.ALIGN_CENTRE_HORIZONTAL)
        self.windMagCtrl = MyTextCtrl(self, size=(80, -1))
        self.windMagCtrl.Bind(wx.EVT_TEXT, NumberControl.FloatNumberControl)
        self.windMagCtrl.Bind(wx.EVT_KILL_FOCUS, NumberControl.Sig3)
        windMagSpeedSizer.Add(windMagSpeedTxt, 0,
                              wx.EXPAND | wx.RIGHT | wx.TOP, 5)
        windMagSpeedSizer.Add(self.windMagCtrl, 1, wx.EXPAND | wx.LEFT, 5)

        #Wind Direction Text and Cmbo
        windDirSizer = wx.BoxSizer(wx.HORIZONTAL)
        windDirTxt = wx.StaticText(self,
                                   label=self.windDirTxtLbl,
                                   style=wx.ALIGN_CENTRE_HORIZONTAL)
        self.windDirCmbo = wx.ComboBox(self,
                                       choices=self.windDirList,
                                       style=wx.CB_READONLY,
                                       size=(100, -1))
        self.windDirCmbo.Bind(wx.EVT_MOUSEWHEEL, self.do_nothing)
        windDirSizer.Add(windDirTxt, 0, wx.EXPAND | wx.RIGHT | wx.TOP, 5)
        windDirSizer.Add(self.windDirCmbo, 1, wx.EXPAND | wx.LEFT, 5)

        #Battery Voltage Text and Ctrl
        batterySizer = wx.BoxSizer(wx.HORIZONTAL)
        batteryTxt = wx.StaticText(self,
                                   label=self.batteryVoltageTxtLbl,
                                   style=wx.ALIGN_CENTRE_HORIZONTAL)
        self.batteryCtrl = MyTextCtrl(self,
                                      style=wx.TE_PROCESS_ENTER,
                                      size=(100, -1))
        self.batteryCtrl.Bind(wx.EVT_TEXT, NumberControl.FloatNumberControl)
        self.batteryCtrl.Bind(wx.EVT_KILL_FOCUS, NumberControl.Round1)
        batterySizer.Add(batteryTxt, 0, wx.EXPAND | wx.RIGHT | wx.TOP, 5)
        batterySizer.Add(self.batteryCtrl, 1, wx.EXPAND | wx.LEFT, 5)

        #Gas Pressure Sizer
        gasPressureSizer = wx.BoxSizer(wx.HORIZONTAL)
        gasPressureV1 = wx.BoxSizer(wx.VERTICAL)
        gasPressureV2 = wx.BoxSizer(wx.VERTICAL)
        gasPressureV3 = wx.BoxSizer(wx.VERTICAL)

        gasPressV1H1 = wx.BoxSizer(wx.HORIZONTAL)
        gasPressV1H2 = wx.BoxSizer(wx.HORIZONTAL)
        gasPressV1H3 = wx.BoxSizer(wx.HORIZONTAL)
        gasPressV1H4 = wx.BoxSizer(wx.HORIZONTAL)

        gasPressV2H1 = wx.BoxSizer(wx.HORIZONTAL)
        gasPressV2H2 = wx.BoxSizer(wx.HORIZONTAL)
        gasPressV2H3 = wx.BoxSizer(wx.HORIZONTAL)
        gasPressV2H4 = wx.BoxSizer(wx.HORIZONTAL)

        gasPressV3H1 = wx.BoxSizer(wx.HORIZONTAL)
        gasPressV3H2 = wx.BoxSizer(wx.HORIZONTAL)
        gasPressV3H3 = wx.BoxSizer(wx.HORIZONTAL)
        gasPressV3H4 = wx.BoxSizer(wx.HORIZONTAL)

        gasPressureV1.Add(gasPressV1H1, 0, wx.EXPAND)
        gasPressureV1.Add(gasPressV1H2, 0, wx.EXPAND)
        gasPressureV1.Add(gasPressV1H3, 0, wx.EXPAND | wx.TOP, 5)
        gasPressureV1.Add(gasPressV1H4, 0, wx.EXPAND | wx.TOP, 5)

        gasPressureV2.Add(gasPressV2H1, 0, wx.EXPAND)
        gasPressureV2.Add(gasPressV2H2, 0, wx.EXPAND)
        gasPressureV2.Add(gasPressV2H3, 0, wx.EXPAND | wx.TOP, 5)
        gasPressureV2.Add(gasPressV2H4, 0, wx.EXPAND | wx.TOP, 5)

        gasPressureV3.Add(gasPressV3H1, 0, wx.EXPAND)
        gasPressureV3.Add(gasPressV3H2, 0, wx.EXPAND)
        gasPressureV3.Add(gasPressV3H3, 0, wx.EXPAND | wx.TOP, 5)
        gasPressureV3.Add(gasPressV3H4, 0, wx.EXPAND | wx.TOP, 5)

        gasPressureSizer.Add(gasPressureV1, 0, wx.EXPAND)
        gasPressureSizer.Add(gasPressureV2, 1, wx.EXPAND)
        gasPressureSizer.Add(gasPressureV3, 1, wx.EXPAND)

        arrivalTxt = wx.StaticText(self,
                                   label=self.arrivalLbl,
                                   style=wx.ALIGN_CENTRE_HORIZONTAL)
        departureTxt = wx.StaticText(self,
                                     label=self.departLbl,
                                     style=wx.ALIGN_CENTRE_HORIZONTAL)
        font = wx.Font(wx.FontInfo(8).FaceName("Helvetica").Bold())
        arrivalTxt.SetFont(font)
        departureTxt.SetFont(font)

        arrivalTxt.SetForegroundColour((164, 64, 43))
        departureTxt.SetForegroundColour((164, 64, 43))

        gasPressV1H1.Add((-255, -255), 1, wx.EXPAND)
        gasPressV2H1.Add(arrivalTxt, 1, wx.EXPAND)
        gasPressV3H1.Add(departureTxt, 1, wx.EXPAND)

        ###########################################

        #Gas Text and Ctrl

        gasSysTxt = wx.StaticText(
            self,
            label=self.gasSystemTxtLbl)  #, style=wx.ALIGN_CENTRE_HORIZONTAL)

        gasSysAtTxt = wx.StaticText(self, label=self.intakeTimeLbl)
        gasSysAt2Txt = wx.StaticText(self, label=self.intakeTimeLbl)
        font2 = wx.Font(wx.FontInfo(7))
        gasSysTxt.SetFont(font2)

        #v1h1
        self.gasSysCtrl = MyTextCtrl(self,
                                     style=wx.TE_PROCESS_ENTER,
                                     size=(40, -1))
        self.gasSysCtrl.Bind(wx.EVT_TEXT, NumberControl.FloatNumberControl)
        self.gasSysCtrl.Bind(wx.EVT_KILL_FOCUS, NumberControl.Sig3)
        self.gasArrTime = DropdownTime(False, parent=self, size=(-1, -1))

        #v2h1
        self.bpmrotCtrl = MyTextCtrl(self,
                                     style=wx.TE_PROCESS_ENTER,
                                     size=(40, -1))
        self.bpmrotCtrl.Bind(wx.EVT_TEXT, NumberControl.FloatNumberControl)
        self.bpmrotCtrl.Bind(wx.EVT_KILL_FOCUS, NumberControl.Sig2)
        self.bpmrotArrTime = DropdownTime(False, parent=self, size=(-1, -1))

        #v1h3
        feedTxt = wx.StaticText(
            self, label=self.feedTxtLbl)  #, style=wx.ALIGN_CENTRE_HORIZONTAL)
        feedAtTxt = wx.StaticText(self, label=self.intakeTimeLbl)
        feedAt2Txt = wx.StaticText(self, label=self.intakeTimeLbl)
        self.feedCtrl = MyTextCtrl(self,
                                   style=wx.TE_PROCESS_ENTER,
                                   size=(40, -1))
        self.feedCtrl.Bind(wx.EVT_TEXT, NumberControl.FloatNumberControl)
        self.feedCtrl.Bind(wx.EVT_KILL_FOCUS, NumberControl.Sig2)
        self.feedArrTime = DropdownTime(False, parent=self, size=(-1, -1))

        #v1h2
        self.gasSysDepCtrl = MyTextCtrl(self,
                                        style=wx.TE_PROCESS_ENTER,
                                        size=(40, -1))
        self.gasSysDepCtrl.Bind(wx.EVT_TEXT, NumberControl.FloatNumberControl)
        self.gasSysDepCtrl.Bind(wx.EVT_KILL_FOCUS, NumberControl.Sig3)

        self.gasDepTime = DropdownTime(False, parent=self, size=(-1, -1))

        #v2h2
        self.bpmrotDepCtrl = MyTextCtrl(self,
                                        style=wx.TE_PROCESS_ENTER,
                                        size=(40, -1))
        self.bpmrotDepCtrl.Bind(wx.EVT_TEXT, NumberControl.FloatNumberControl)
        self.bpmrotDepCtrl.Bind(wx.EVT_KILL_FOCUS, NumberControl.Sig2)

        self.bpmrotDepTime = DropdownTime(False, parent=self, size=(-1, -1))

        #v3h2
        self.feedDepCtrl = MyTextCtrl(self,
                                      style=wx.TE_PROCESS_ENTER,
                                      size=(40, -1))
        self.feedDepCtrl.Bind(wx.EVT_TEXT, NumberControl.FloatNumberControl)
        self.feedDepCtrl.Bind(wx.EVT_KILL_FOCUS, NumberControl.Sig2)

        self.feedDepTime = DropdownTime(False, parent=self, size=(-1, -1))

        #v0h0
        self.bpmrotCmbo = wx.ComboBox(self,
                                      choices=self.bpmrotTxtLbl,
                                      style=wx.CB_READONLY,
                                      size=(50, -1))
        self.bpmrotCmbo.Bind(wx.EVT_MOUSEWHEEL, self.do_nothing)

        gasPressV1H2.Add(gasSysTxt, 0, wx.EXPAND | wx.TOP, 20)
        gasPressV2H2.Add(self.gasSysCtrl, 0, wx.EXPAND | wx.LEFT, 5)
        gasPressV2H2.Add(gasSysAtTxt, 0, wx.LEFT, 5)
        gasPressV2H2.Add(self.gasArrTime, 0)

        gasPressV3H2.Add(self.gasSysDepCtrl, 0, wx.EXPAND | wx.LEFT, 5)
        gasPressV3H2.Add(gasSysAt2Txt, 0, wx.LEFT, 5)
        gasPressV3H2.Add(self.gasDepTime, 0)

        #Feed Ctrl
        gasPressV1H3.Add(feedTxt, 0, wx.EXPAND | wx.RIGHT | wx.TOP, 5)
        gasPressV2H3.Add(self.feedCtrl, 0, wx.EXPAND | wx.LEFT, 5)
        gasPressV2H3.Add(feedAtTxt, 0, wx.LEFT, 5)
        gasPressV2H3.Add(self.feedArrTime, 0)

        gasPressV3H3.Add(self.feedDepCtrl, 0, wx.EXPAND | wx.LEFT, 5)
        gasPressV3H3.Add(feedAt2Txt, 0, wx.LEFT, 5)
        gasPressV3H3.Add(self.feedDepTime, 0)

        #BPM/ROT Cmbo and Ctrl
        bpmrotAtTxt = wx.StaticText(self, label=self.intakeTimeLbl)
        bpmrotAt2Txt = wx.StaticText(self, label=self.intakeTimeLbl)

        gasPressV1H4.Add(self.bpmrotCmbo, 0, wx.EXPAND | wx.TOP, 10)
        gasPressV2H4.Add(self.bpmrotCtrl, 0, wx.EXPAND | wx.LEFT, 5)
        gasPressV2H4.Add(bpmrotAtTxt, 0, wx.LEFT, 5)
        gasPressV2H4.Add(self.bpmrotArrTime, 0)

        gasPressV3H4.Add(self.bpmrotDepCtrl, 0, wx.EXPAND | wx.LEFT, 5)
        gasPressV3H4.Add(bpmrotAt2Txt, 0, wx.LEFT, 5)
        gasPressV3H4.Add(self.bpmrotDepTime, 0)

        #Intake/Orifice checkboxes
        intakeOrificeSizerH = wx.BoxSizer(wx.HORIZONTAL)

        intakeSizer = wx.BoxSizer(wx.HORIZONTAL)
        self.intakeCB = wx.CheckBox(self, label=self.intakeTxtLbl)
        self.intakeCB.Bind(wx.EVT_CHECKBOX, self.OnIntakeCheck)
        intakeSizer.Add(self.intakeCB, 1, wx.EXPAND)

        intakeTimeSizer = wx.BoxSizer(wx.HORIZONTAL)
        self.intakeTimeTxt = wx.StaticText(self,
                                           label=self.intakeTimeLbl,
                                           style=wx.ALIGN_CENTRE_HORIZONTAL,
                                           size=(-1, 10))
        self.intakeTimeTxt.Hide()
        self.intakeTimeCtrl = masked.TimeCtrl(self,
                                              2,
                                              size=(-1, 10),
                                              displaySeconds=False,
                                              style=wx.TE_CENTRE,
                                              fmt24hr=True)
        self.intakeTimeCtrl.Bind(wx.EVT_KEY_DOWN, self.OnResetTime)
        self.intakeTimeCtrl.Hide()
        intakeTimeSizer.Add(self.intakeTimeTxt, 0, wx.EXPAND)
        intakeTimeSizer.Add(self.intakeTimeCtrl, 1, wx.EXPAND)

        orificeSizer = wx.BoxSizer(wx.HORIZONTAL)
        self.orificeCB = wx.CheckBox(self, label=self.orificeTxtLbl)
        self.orificeCB.Bind(wx.EVT_CHECKBOX, self.OnOrificeCheck)
        orificeSizer.Add(self.orificeCB, 1, wx.EXPAND)

        orificeTimeSizer = wx.BoxSizer(wx.HORIZONTAL)
        self.orificeTimeTxt = wx.StaticText(self,
                                            label=self.intakeTimeLbl,
                                            style=wx.ALIGN_CENTRE_HORIZONTAL,
                                            size=(-1, 10))
        self.orificeTimeTxt.Hide()
        self.orificeTimeCtrl = masked.TimeCtrl(self,
                                               2,
                                               size=(-1, 10),
                                               displaySeconds=False,
                                               style=wx.TE_CENTRE,
                                               fmt24hr=True)
        self.orificeTimeCtrl.Bind(wx.EVT_KEY_DOWN, self.OnResetTime)
        self.orificeTimeCtrl.Hide()
        orificeTimeSizer.Add(self.orificeTimeTxt, 0, wx.EXPAND)
        orificeTimeSizer.Add(self.orificeTimeCtrl, 1, wx.EXPAND)

        intakeOrificeSizerH.Add(intakeSizer, 1, wx.EXPAND)
        intakeOrificeSizerH.Add(orificeSizer, 1, wx.EXPAND)

        self.intakeOrificeTimeSizerH = wx.BoxSizer(wx.HORIZONTAL)
        self.intakeOrificeTimeSizerH.Add(intakeTimeSizer, 1, wx.EXPAND)
        self.intakeOrificeTimeSizerH.Add(orificeTimeSizer, 1, wx.EXPAND)

        #Program/Data checkboxes
        programDataSizerH = wx.BoxSizer(wx.HORIZONTAL)

        programSizer = wx.BoxSizer(wx.HORIZONTAL)
        self.programCB = wx.CheckBox(self,
                                     label=self.programTxtLbl,
                                     size=(85, -1))
        programSizer.Add(self.programCB, 1, wx.EXPAND)

        dataSizer = wx.BoxSizer(wx.HORIZONTAL)
        self.dataCB = wx.CheckBox(self, label=self.dataTxtLbl, size=(-1, -1))
        self.dataCB.Bind(wx.EVT_CHECKBOX, self.OnDownloadedData)
        dataSizer.Add(self.dataCB, 1, wx.EXPAND)

        programDataSizerH.Add(programSizer, 1, wx.EXPAND)
        programDataSizerH.Add(dataSizer, 1, wx.EXPAND)

        #Data period From/To
        dataPeriodSizer = wx.BoxSizer(wx.VERTICAL)
        dataPeriodTxt = wx.StaticText(self, label=self.dataPeriodTxtLbl)

        dataPeriodRangeSizer = wx.BoxSizer(wx.HORIZONTAL)
        dataPeriodFromTxt = wx.StaticText(self,
                                          label=self.dataPeriodFromTxtLbl,
                                          style=wx.ALIGN_CENTRE_HORIZONTAL)
        self.dataPeriodFromPicker = adv.DatePickerCtrl(
            self, style=wx.adv.DP_DROPDOWN, size=(30, -1))
        self.dataPeriodFromPicker.Enable(False)
        dataPeriodToTxt = wx.StaticText(self,
                                        label=self.dataPeriodToTxtLbl,
                                        style=wx.ALIGN_CENTRE_HORIZONTAL)
        self.dataPeriodToPicker = adv.DatePickerCtrl(self,
                                                     style=wx.adv.DP_DROPDOWN,
                                                     size=(30, -1))
        self.dataPeriodToPicker.Enable(False)

        dataPeriodRangeSizer.Add(dataPeriodFromTxt, 0,
                                 wx.EXPAND | wx.TOP | wx.RIGHT, 5)
        dataPeriodRangeSizer.Add(self.dataPeriodFromPicker, 1, wx.EXPAND)
        dataPeriodRangeSizer.Add(dataPeriodToTxt, 0,
                                 wx.EXPAND | wx.TOP | wx.RIGHT, 5)
        dataPeriodRangeSizer.Add(self.dataPeriodToPicker, 1, wx.EXPAND)

        dataPeriodSizer.Add(dataPeriodTxt, 0, wx.EXPAND)
        dataPeriodSizer.Add(dataPeriodRangeSizer, 1, wx.EXPAND)

        #Station Health Remark
        stationHealthRemarkPanel = wx.Panel(self, style=wx.NO_BORDER)
        stationRemarkSizer = wx.BoxSizer(wx.HORIZONTAL)
        stationHealthRemarkPanel.SetSizer(stationRemarkSizer)
        stationHealthTxt = wx.StaticText(stationHealthRemarkPanel,
                                         label=self.stnRemarkLbl,
                                         style=wx.ALIGN_CENTRE_HORIZONTAL)
        self.stationHealthRemarksCtrl = wx.TextCtrl(
            stationHealthRemarkPanel,
            style=wx.TE_PROCESS_ENTER | wx.TE_MULTILINE | wx.TE_BESTWRAP,
            size=(-1, -1))
        stationRemarkSizer.Add(stationHealthTxt, 0)
        stationRemarkSizer.Add(self.stationHealthRemarksCtrl, 1, wx.EXPAND)

        #Add all to layout Sizer
        self.layoutSizer.Add(levelsSizer, 0,
                             wx.EXPAND | wx.LEFT | wx.TOP | wx.RIGHT, 5)
        self.layoutSizer.Add(cloudCoverSizer, 0,
                             wx.EXPAND | wx.LEFT | wx.TOP | wx.RIGHT, 5)
        self.layoutSizer.Add(precipSizer, 0,
                             wx.EXPAND | wx.LEFT | wx.TOP | wx.RIGHT, 5)
        self.layoutSizer.Add(windMagSizer, 0,
                             wx.EXPAND | wx.LEFT | wx.TOP | wx.RIGHT, 5)
        self.layoutSizer.Add(windMagSpeedSizer, 0,
                             wx.EXPAND | wx.LEFT | wx.TOP | wx.RIGHT, 5)
        self.layoutSizer.Add(windDirSizer, 0,
                             wx.EXPAND | wx.LEFT | wx.TOP | wx.RIGHT, 5)
        self.layoutSizer.Add(batterySizer, 0,
                             wx.EXPAND | wx.LEFT | wx.TOP | wx.RIGHT, 5)

        self.layoutSizer.Add(gasPressureSizer, 1,
                             wx.EXPAND | wx.LEFT | wx.TOP | wx.RIGHT, 5)

        # self.layoutSizer.Add(gasSysSizer, 0, wx.EXPAND|wx.LEFT|wx.TOP|wx.RIGHT, 5)
        # self.layoutSizer.Add(machineSizerH, 0, wx.EXPAND|wx.LEFT|wx.TOP|wx.RIGHT, 5)
        self.layoutSizer.Add(intakeOrificeSizerH, 0,
                             wx.EXPAND | wx.LEFT | wx.TOP | wx.RIGHT, 5)
        self.layoutSizer.Add(self.intakeOrificeTimeSizerH, 0,
                             wx.EXPAND | wx.LEFT | wx.TOP | wx.RIGHT, 5)

        self.layoutSizer.Add(programDataSizerH, 0,
                             wx.EXPAND | wx.LEFT | wx.TOP | wx.RIGHT, 5)
        self.layoutSizer.Add((1, 10))
        self.layoutSizer.Add(dataPeriodSizer, 0,
                             wx.EXPAND | wx.LEFT | wx.TOP | wx.RIGHT, 5)

        self.layoutSizer.Add(stationHealthRemarkPanel, 0,
                             wx.EXPAND | wx.LEFT | wx.TOP | wx.RIGHT, 5)

        self.SetSizer(self.layoutSizer)
Example #7
0
    def drawTopPanel(self):
        # 为top面板设置一个布局管理器
        vbox = wx.BoxSizer(wx.VERTICAL)

        # 查询栏
        hbox1 = wx.BoxSizer(wx.HORIZONTAL)
        orderNo = wx.StaticText(self.top, label=u'入库单号:')
        hbox1.Add(orderNo, flag=wx.RIGHT, border=8)
        self.tc_orderNo = wx.TextCtrl(self.top, size=wx.Size(150, -1))
        hbox1.Add(self.tc_orderNo, flag=wx.RIGHT, border=8)
        orderType = wx.StaticText(self.top, label=u'入库类型:')
        hbox1.Add(orderType, flag=wx.RIGHT, border=8)
        self.choice_orderType = wx.Choice(self.top)
        hbox1.Add(self.choice_orderType, flag=wx.RIGHT, border=8)
        customerName = wx.StaticText(self.top, label=u'供应商:')
        hbox1.Add(customerName, flag=wx.RIGHT, border=8)
        self.choice_customerName = wx.Choice(self.top)
        hbox1.Add(self.choice_customerName, flag=wx.RIGHT, border=8)
        productName = wx.StaticText(self.top, label=u'产品:')
        hbox1.Add(productName, flag=wx.RIGHT, border=8)
        self.choice_productName = wx.Choice(self.top)
        hbox1.Add(self.choice_productName, flag=wx.RIGHT, border=8)
        outdate = wx.StaticText(self.top, label=u'入库日期:')
        hbox1.Add(outdate, flag=wx.RIGHT, border=8)
        self.datectl_start = adv.DatePickerCtrl(self.top,
                                                style=adv.DP_DROPDOWN
                                                | adv.DP_SHOWCENTURY
                                                | adv.DP_ALLOWNONE)
        hbox1.Add(self.datectl_start, flag=wx.RIGHT, border=8)
        todate = wx.StaticText(self.top, label=u'~')
        hbox1.Add(todate, flag=wx.RIGHT, border=8)
        self.datectl_end = adv.DatePickerCtrl(self.top,
                                              style=adv.DP_DROPDOWN
                                              | adv.DP_SHOWCENTURY
                                              | adv.DP_ALLOWNONE)
        hbox1.Add(self.datectl_end, flag=wx.RIGHT, border=8)
        self.search_button = wx.Button(self.top,
                                       wx.ID_ANY,
                                       u"搜索",
                                       size=(45, 25))
        self.search_button.SetToolTipString(u"根据条件搜索")
        self.search_button.Bind(wx.EVT_BUTTON, self.button_search_click)
        hbox1.Add(self.search_button, flag=wx.RIGHT, border=10)
        self.clear_button = wx.Button(self.top,
                                      wx.ID_ANY,
                                      u"清空",
                                      size=(45, 25))
        self.clear_button.SetToolTipString(u"清空搜索条件")
        self.clear_button.Bind(wx.EVT_BUTTON, self.button_clear_click)
        hbox1.Add(self.clear_button, flag=wx.RIGHT, border=8)

        vbox.Add(hbox1,
                 flag=wx.EXPAND | wx.LEFT | wx.RIGHT | wx.TOP,
                 border=10)

        # 操作按钮栏
        hbox2 = wx.BoxSizer(wx.HORIZONTAL)
        self.add_button = wx.Button(self.top, wx.ID_ANY, u"添加", size=(70, 25))
        self.add_button.SetToolTipString(u"添加入库单")
        self.add_button.Bind(wx.EVT_BUTTON, self.button_add_click)
        hbox2.Add(self.add_button, flag=wx.RIGHT, border=8)
        self.del_button = wx.Button(self.top, wx.ID_ANY, u"撤回", size=(70, 25))
        self.del_button.SetToolTipString(u"撤回入库单")
        self.del_button.Bind(wx.EVT_BUTTON, self.button_del_click)
        hbox2.Add(self.del_button, flag=wx.RIGHT, border=8)

        vbox.Add(hbox2,
                 flag=wx.EXPAND | wx.LEFT | wx.RIGHT | wx.TOP,
                 border=10)

        # 画表格
        self.m_grid1 = qtable.QGridTable(self.top)

        vbox.Add(self.m_grid1, 1, wx.ALL | wx.EXPAND, 5)

        self.top.SetSizer(vbox)
Example #8
0
    def InitUI(self):
        if self.mode == "DEBUG":
            print "AQUARIUS Data Extraction Tool Frame"

        self.layoutSizer = wx.BoxSizer(wx.VERTICAL)
        basePanel = wx.Panel(self)

        icon_path = self.iconName
        if hasattr(sys, '_MEIPASS'):
            icon_path = os.path.join(sys._MEIPASS, icon_path)

        #PNG Icon
        if os.path.exists(icon_path):
            png = wx.Image(icon_path, wx.BITMAP_TYPE_ANY).ConvertToBitmap()
            self.icon = wx.Icon(png)
            self.SetIcon(self.icon)

        # Path Title
        pathSizer = wx.BoxSizer(wx.HORIZONTAL)
        pathTitle = wx.StaticText(basePanel,
                                  label=self.pathTitleLbl,
                                  style=wx.ALIGN_CENTER_HORIZONTAL)
        pathTitle.SetFont(self.titleFont)
        pathSizer.Add(pathTitle, 1, wx.EXPAND | wx.LEFT, 5)
        # pathSizer.Add((-1, -1), 1, wx.EXPAND)

        # Stations
        stationSizer = wx.BoxSizer(wx.HORIZONTAL)
        stationLabel = wx.StaticText(basePanel,
                                     label=self.stationLbl,
                                     size=(self.labelWidth, -1),
                                     style=wx.ALIGN_RIGHT)
        self.stationCtrl = wx.TextCtrl(basePanel,
                                       style=wx.TE_PROCESS_ENTER
                                       | wx.TE_BESTWRAP)
        self.stationCtrl.Bind(wx.EVT_TEXT, self.OnTextTypeStation)
        self.stationCtrl.SetHint("02KF015, 01CC002, 07EF001, ....")
        stationSizer.Add(stationLabel, 0, wx.EXPAND | wx.TOP, 5)
        stationSizer.Add(self.stationCtrl, 1, wx.EXPAND | wx.LEFT, 6)

        # stationBtnSizer = wx.BoxSizer(wx.HORIZONTAL)
        self.statoinBtn = wx.Button(basePanel,
                                    label="Stations List From File",
                                    size=(-1, -1))
        self.statoinBtn.Bind(wx.EVT_BUTTON, self.OnStationBrowse)

        self.stationListHelpBtn = wx.Button(basePanel,
                                            size=(15, 15),
                                            label="!")
        self.stationListHelpBtn.SetForegroundColour('red')
        self.stationListHelpBtn.Bind(wx.EVT_BUTTON, self.OnOpenStationHelp)

        stationSizer.Add(self.statoinBtn, 0, wx.EXPAND | wx.LEFT, 6)
        stationSizer.Add(self.stationListHelpBtn, 0)

        # stationBtnSizer.Add(self.statoinBtn, 0, wx.EXPAND, 5)

        # Import list
        importSizer = wx.BoxSizer(wx.HORIZONTAL)
        importTitle = wx.StaticText(basePanel,
                                    label=self.importTitleLbl,
                                    style=wx.ALIGN_LEFT)
        importTitle.SetFont(self.titleFont)
        importSizer.Add(importTitle, 1, wx.EXPAND | wx.LEFT, 4)
        importSizer.Add((-1, -1), 1, wx.EXPAND)

        # Station Information Checkbox
        stnCkboxSizer = wx.BoxSizer(wx.HORIZONTAL)
        self.stnCkbox = wx.CheckBox(basePanel,
                                    label=self.stnCkboxLbl,
                                    style=wx.ALIGN_LEFT)
        self.stnCkbox.SetValue(True)
        stnCkboxSizer.Add(self.stnCkbox, 0, wx.EXPAND)

        # Levels Information Checkbox
        lvlCkboxSizer = wx.BoxSizer(wx.HORIZONTAL)
        self.lvlCkbox = wx.CheckBox(basePanel,
                                    label=self.lvlCkboxLbl,
                                    style=wx.ALIGN_LEFT)
        self.lvlCkbox.SetValue(True)
        lvlCkboxSizer.Add(self.lvlCkbox, 0, wx.EXPAND)

        # Rating Curve Checkbox
        rcCkboxSizer = wx.BoxSizer(wx.HORIZONTAL)
        self.rcCkbox = wx.CheckBox(basePanel,
                                   label=self.rcCkboxLbl,
                                   style=wx.ALIGN_LEFT)
        self.rcCkbox.SetValue(True)
        rcCkboxSizer.Add(self.rcCkbox, 0, wx.EXPAND)

        #Data period From/To
        dataPeriodSizer = wx.BoxSizer(wx.VERTICAL)

        dataperiodTextSizer = wx.BoxSizer(wx.HORIZONTAL)
        self.dataPeriodCkbox = wx.CheckBox(basePanel,
                                           label=self.dataPeriodTxtLbl,
                                           style=wx.ALIGN_LEFT)
        self.dataPeriodCkbox.Bind(wx.EVT_CHECKBOX, self.OnDataPeriodCheck)
        self.dataPeriodCkbox.SetValue(True)
        dataperiodTextSizer.Add(self.dataPeriodCkbox, 0, wx.EXPAND)
        dataperiodTextSizer.Add((-1, -1), 1, wx.EXPAND)

        self.dataPeriodFromTxt = wx.StaticText(basePanel,
                                               label=self.dataPeriodFromTxtLbl,
                                               size=(30, -1),
                                               style=wx.ALIGN_RIGHT)
        self.dataPeriodFromPicker = adv.DatePickerCtrl(
            basePanel, style=wx.adv.DP_DROPDOWN, size=(-1, -1))
        year = datetime.datetime.now().year - 2
        self.dataPeriodFromPicker.SetValue(wx.DateTime.FromDMY(1, 0, year))
        self.dataPeriodToTxt = wx.StaticText(basePanel,
                                             label=self.dataPeriodToTxtLbl,
                                             size=(20, -1),
                                             style=wx.ALIGN_RIGHT)
        self.dataPeriodToPicker = adv.DatePickerCtrl(basePanel,
                                                     style=wx.adv.DP_DROPDOWN,
                                                     size=(-1, -1))

        dataperiodTextSizer.Add(self.dataPeriodFromTxt, 0,
                                wx.EXPAND | wx.TOP | wx.RIGHT, 5)
        dataperiodTextSizer.Add(self.dataPeriodFromPicker, 0, wx.EXPAND)
        dataperiodTextSizer.Add(self.dataPeriodToTxt, 0,
                                wx.EXPAND | wx.TOP | wx.RIGHT, 5)
        dataperiodTextSizer.Add(self.dataPeriodToPicker, 0, wx.EXPAND)

        dataPeriodSizer.Add(dataperiodTextSizer, 0, wx.EXPAND)
        # dataPeriodSizer.Add(dataPeriodRangeSizer, 0, wx.EXPAND)
        self.includeMinMaxCkbox = wx.CheckBox(basePanel,
                                              label=self.minMaxHistLbl)
        self.includeMinMaxCkbox.Bind(wx.EVT_CHECKBOX, self.OnMinMaxCkBox)
        self.includeMinMaxCkbox.SetValue(True)

        self.minMaxSpinCtrl = wx.SpinCtrl(basePanel,
                                          min=0,
                                          max=10,
                                          initial=3,
                                          size=(40, -1))
        self.minMaxSpinCtrl.Bind(wx.EVT_KILL_FOCUS, self.OnMinMaxSpinCtrl)
        self.minMaxHintBtn = wx.Button(basePanel, size=(15, 10), label="!")
        self.minMaxHintBtn.SetForegroundColour('red')
        self.minMaxHintBtn.Bind(wx.EVT_BUTTON, self.OnMinMaxHintBtn)

        minMaxSizer = wx.BoxSizer(wx.HORIZONTAL)
        minMaxSizer.Add((-1, -1), 1, wx.EXPAND)
        minMaxSizer.Add(self.includeMinMaxCkbox, 0,
                        wx.EXPAND | wx.TOP | wx.RIGHT, 5)
        minMaxSizer.Add(self.minMaxSpinCtrl, 0, wx.EXPAND | wx.TOP, 5)
        minMaxSizer.Add(self.minMaxHintBtn, 0, wx.EXPAND | wx.TOP | wx.RIGHT,
                        5)
        dataPeriodSizer.Add(minMaxSizer, 0, wx.EXPAND)

        # Location Selector
        locSizer = wx.BoxSizer(wx.VERTICAL)
        exportSizer = wx.BoxSizer(wx.HORIZONTAL)
        browseSizer = wx.BoxSizer(wx.HORIZONTAL)
        locLabel = wx.StaticText(basePanel,
                                 label=self.pathLbl,
                                 size=(80, -1),
                                 style=wx.ALIGN_RIGHT)
        self.locText = wx.StaticText(basePanel,
                                     size=(-1, 40),
                                     label=self.path,
                                     style=wx.SIMPLE_BORDER)

        exportSubtext = wx.StaticText(basePanel,
                                      size=(-1, 35),
                                      label=self.exportSubtxtLbl)
        self.locButton = wx.Button(basePanel, label=self.browseLbl)
        self.locButton.Bind(wx.EVT_BUTTON, self.OnBrowse)

        exportSizer.Add(locLabel, 0, wx.EXPAND | wx.TOP, 0)
        exportSizer.Add(self.locText, 1, wx.EXPAND | wx.LEFT, 6)

        browseSizer.Add(exportSubtext, 1, wx.EXPAND)
        browseSizer.Add(self.locButton, 0, wx.LEFT, 6)

        locSizer.Add(exportSizer, 0, wx.EXPAND | wx.ALL, 2)
        locSizer.Add(browseSizer, 0, wx.EXPAND | wx.ALL, 2)

        #Fold panel Bar
        self.foldBool = True
        hintSizer = wx.BoxSizer(wx.VERTICAL)
        self.panel_bar = fpb.FoldPanelBar(basePanel,
                                          -1,
                                          agwStyle=fpb.FPB_VERTICAL)
        self.panel_bar.Bind(fpb.EVT_CAPTIONBAR, self.OnHint)
        fold_panel = self.panel_bar.AddFoldPanel("Show some hints")
        # thing = wx.TextCtrl(fold_panel, -1, size=(555, -1), style=wx.TE_MULTILINE)
        hintText = wx.StaticText(fold_panel,
                                 -1,
                                 size=(555, -1),
                                 label=self.hint)

        # self.panel_bar.AddFoldPanelWindow(fold_panel, thing)
        self.panel_bar.AddFoldPanelWindow(fold_panel, hintText)

        # hintSizer.Add(self.panel_bar, 1, wx.EXPAND|wx.ALL, 5)

        # #Collapsible Panel
        # hintSizer = wx.BoxSizer(wx.VERTICAL)
        # self.hintCollPane = wx.CollapsiblePane(basePanel, wx.ID_ANY, style=wx.CP_NO_TLW_RESIZE, size=(-1,40), label="Show some hints")
        # self.hintCollPane.Bind(wx.EVT_COLLAPSIBLEPANE_CHANGED, self.OnHint)
        # hintSizer.Add(self.hintCollPane, 0, wx.EXPAND|wx.ALL, 5)

        # self.win = self.hintCollPane.GetPane()
        # hintText = wx.StaticText(self.win, label=self.hint)
        # hintDetailsSizer = wx.BoxSizer(wx.VERTICAL)
        # self.win.SetSizer(hintDetailsSizer)
        # hintDetailsSizer.Add(hintText, 0, wx.EXPAND|wx.ALL, 5)
        # # hintDetailsSizer.SetSizeHints(self.win)

        # Login
        loginSizer = wx.BoxSizer(wx.HORIZONTAL)
        loginTitle = wx.StaticText(basePanel,
                                   label=self.loginTitleLbl,
                                   size=(140, -1))
        loginTitle.SetFont(self.titleFont)
        loginSizer.Add(loginTitle, 0, wx.EXPAND | wx.LEFT, 5)
        loginSizer.Add((-1, -1), 1, wx.EXPAND)

        # Username
        usernameSizer = wx.BoxSizer(wx.HORIZONTAL)
        usernameLabel = wx.StaticText(basePanel,
                                      label=self.usernameLbl,
                                      size=(self.labelWidth, -1),
                                      style=wx.ALIGN_RIGHT)
        self.usernameCtrl = wx.TextCtrl(basePanel)
        usernameSizer.Add(usernameLabel, 0, wx.EXPAND | wx.TOP, 5)
        usernameSizer.Add(self.usernameCtrl, 1, wx.EXPAND | wx.LEFT, 6)

        # Password
        passwordSizer = wx.BoxSizer(wx.HORIZONTAL)
        passwordLabel = wx.StaticText(basePanel,
                                      label=self.passwordLbl,
                                      size=(self.labelWidth, -1),
                                      style=wx.ALIGN_RIGHT)
        self.passwordCtrl = wx.TextCtrl(basePanel,
                                        style=wx.TE_PASSWORD
                                        | wx.TE_PROCESS_ENTER)
        self.passwordCtrl.Bind(wx.EVT_TEXT_ENTER, self.OnRun)
        passwordSizer.Add(passwordLabel, 0, wx.EXPAND | wx.TOP, 5)
        passwordSizer.Add(self.passwordCtrl, 1, wx.EXPAND | wx.LEFT, 6)

        # Buttons
        buttonsSizer = wx.BoxSizer(wx.HORIZONTAL)
        self.ngExportChk = wx.CheckBox(basePanel,
                                       label=self.ngExportLabel,
                                       style=wx.ALIGN_LEFT)
        self.ngExportChk.SetValue(True)
        self.runButton = wx.Button(basePanel, label=self.runButtonLbl)
        self.runButton.Bind(wx.EVT_BUTTON, self.OnRun)
        self.canButton = wx.Button(basePanel, label=self.canButtonLbl)
        self.canButton.Bind(wx.EVT_BUTTON, self.OnCancel)

        buttonsSizer.Add((-1, -1), 1, wx.EXPAND)
        buttonsSizer.Add(self.ngExportChk, 0, wx.EXPAND | wx.RIGHT, 4)
        buttonsSizer.Add(self.runButton, 0, wx.EXPAND | wx.RIGHT, 4)
        buttonsSizer.Add(self.canButton, 0, wx.EXPAND | wx.LEFT, 4)

        # Layout Sizer
        self.layoutSizer.Add(pathSizer, 0, wx.EXPAND | wx.ALL, 4)
        self.layoutSizer.Add((-1, 5), 0, wx.EXPAND)
        self.layoutSizer.Add(stationSizer, 0, wx.EXPAND | wx.ALL, 4)
        # self.layoutSizer.Add(stationBtnSizer, 0, wx.EXPAND|wx.ALL, 4)
        self.layoutSizer.Add((-1, 10), 0, wx.EXPAND)

        self.layoutSizer.Add(importSizer, 0, wx.EXPAND | wx.ALL, 4)
        self.layoutSizer.Add((-1, 1), 0, wx.EXPAND)
        self.layoutSizer.Add(stnCkboxSizer, 0, wx.EXPAND | wx.ALL, 4)
        self.layoutSizer.Add((-1, 1), 0, wx.EXPAND)
        self.layoutSizer.Add(lvlCkboxSizer, 0, wx.EXPAND | wx.ALL, 4)
        self.layoutSizer.Add((-1, 1), 0, wx.EXPAND)
        self.layoutSizer.Add(rcCkboxSizer, 0, wx.EXPAND | wx.ALL, 4)
        self.layoutSizer.Add((-1, 1), 0, wx.EXPAND)
        self.layoutSizer.Add(dataPeriodSizer, 0, wx.EXPAND | wx.ALL, 4)
        self.layoutSizer.Add((-1, 1), 0, wx.EXPAND)
        self.layoutSizer.Add(locSizer, 0, wx.EXPAND | wx.ALL, 4)

        # self.layoutSizer.Add(dataPeriodTxt, 0, wx.EXPAND)
        # self.layoutSizer.Add(dataPeriodRangeSizer, 0, wx.EXPAND)
        self.layoutSizer.Add((-1, 15), 0, wx.EXPAND)
        self.layoutSizer.Add(loginSizer, 0, wx.EXPAND | wx.ALL, 4)
        self.layoutSizer.Add(usernameSizer, 0,
                             wx.EXPAND | wx.LEFT | wx.TOP | wx.RIGHT, 4)
        self.layoutSizer.Add((-1, 5), 0, wx.EXPAND)
        self.layoutSizer.Add(passwordSizer, 0,
                             wx.EXPAND | wx.LEFT | wx.TOP | wx.RIGHT, 4)
        self.layoutSizer.Add((-1, 5), 0, wx.EXPAND)
        self.layoutSizer.Add(buttonsSizer, 0, wx.EXPAND | wx.ALL, 4)
        self.layoutSizer.Add(self.panel_bar, 1, wx.EXPAND | wx.ALL, 4)

        basePanel.SetSizer(self.layoutSizer)
        self.Bind(wx.EVT_CLOSE, self.OnCancel)
Example #9
0
    def _init_frame(self):
        # 设置面板各个功能
        pnl = wx.Panel(self)
        vb = wx.BoxSizer(wx.VERTICAL)
        hb1 = wx.BoxSizer(wx.HORIZONTAL)
        hb2 = wx.BoxSizer(wx.HORIZONTAL)
        hb2_v1 = wx.BoxSizer(wx.VERTICAL)
        hb2_h2 = wx.BoxSizer(wx.HORIZONTAL)

        ######################################
        # 第一层 配置文件
        ######################################
        text1 = wx.StaticText(pnl, wx.ID_ANY, u"风场")
        self.hb1_listc2 = wx.Choice(pnl, choices=wind_field)
        self.hb1_listc2.SetSelection(0)
        text3 = wx.StaticText(pnl, wx.ID_ANY, u"风机")
        self.hb1_textc4 = wx.TextCtrl(pnl)
        text5 = wx.StaticText(pnl, wx.ID_ANY, u"叶片ID")
        self.hb1_listc6 = wx.Choice(pnl, choices=wind_blade)
        self.hb1_listc6.SetSelection(0)
        text7 = wx.StaticText(pnl, wx.ID_ANY, u"信号类型")
        self.hb1_listc8 = wx.Choice(pnl, choices=signal_type)
        self.hb1_listc8.SetSelection(0)
        text9 = wx.StaticText(pnl, wx.ID_ANY, u"时间")
        self.hb1_time10 = adv.DatePickerCtrl(pnl, wx.ID_ANY,
                                             wx.DefaultDateTime,
                                             wx.DefaultPosition,
                                             wx.DefaultSize, adv.DP_DEFAULT)

        hb1.AddMany([
            (text1, 0, wx.ALIGN_CENTER | wx.ALL, 10),
            (self.hb1_listc2, 0, wx.ALIGN_CENTER | wx.ALL, 5),
            (text3, 0, wx.ALIGN_CENTER | wx.ALL, 5),
            (self.hb1_textc4, 0, wx.ALIGN_CENTER | wx.ALL, 5),
            (text5, 0, wx.ALIGN_CENTER | wx.ALL, 5),
            (self.hb1_listc6, 0, wx.ALIGN_CENTER | wx.ALL, 5),
            (text7, 0, wx.ALIGN_CENTER | wx.ALL, 5),
            (self.hb1_listc8, 0, wx.ALIGN_CENTER | wx.ALL, 5),
            (text9, 0, wx.ALIGN_CENTER | wx.ALL, 5),
            (self.hb1_time10, 0, wx.ALIGN_CENTER | wx.ALL, 5),
        ])

        ######################################
        # 第二层左侧 配置文件
        ######################################

        fl_list = ["IMF1", "IMF2", "IMF3"]
        self.hb2_v_box1 = wx.RadioBox(pnl,
                                      label=u"IMF分量",
                                      choices=fl_list,
                                      majorDimension=3,
                                      style=wx.RA_SPECIFY_ROWS)
        data_list = ["叶片1", "叶片2", "叶片3"]
        self.hb2_v_box2 = wx.RadioBox(pnl,
                                      label=u"显示优先级",
                                      choices=data_list,
                                      majorDimension=3,
                                      style=wx.RA_SPECIFY_ROWS)
        self.hb2_v_button1 = wx.Button(pnl, label=u"运行")
        hb2_v1.AddMany([
            (self.hb2_v_box1, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
            (self.hb2_v_box2, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
            (self.hb2_v_button1, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
        ])
        # self.hb2__box1.GetStringSelection()  # 获取单选的值
        ######################################
        # 第二层右侧 配置文件
        ######################################
        hb2_v_draw = plot.PlotCanvas(pnl)
        gc = self.test_draw(hb2_v_draw)
        hb2_v_draw.Draw(gc)
        hb2_h2.Add(hb2_v_draw, 1, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5)
        ######################################
        # 所有面板汇合
        ######################################
        h1_line = wx.StaticLine(pnl, wx.ID_ANY)
        h2_line = wx.StaticLine(pnl, wx.ID_ANY, style=wx.LI_VERTICAL)
        hb2.AddMany([
            (hb2_v1, 1, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
            (h2_line, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
            (hb2_h2, 3, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
        ])
        vb.AddMany([
            (hb1, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
            (h1_line, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
            (hb2, 1, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5),
        ])
        pnl.SetSizer(vb)
        self.CreateStatusBar()