def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=u"Clientes", pos=wx.DefaultPosition, size=wx.Size(1031, 465), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize) self.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHTTEXT)) gbSizer1 = wx.GridBagSizer(0, 0) gbSizer1.SetFlexibleDirection(wx.BOTH) gbSizer1.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) sbSizer1 = wx.StaticBoxSizer( wx.StaticBox(self, wx.ID_ANY, u"Selección"), wx.VERTICAL) gbSizer2 = wx.GridBagSizer(0, 0) gbSizer2.SetFlexibleDirection(wx.BOTH) gbSizer2.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.tc_dato_busqueda = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(400, -1), wx.TE_PROCESS_ENTER) self.tc_dato_busqueda.SetFont( wx.Font(11, 70, 90, 90, False, wx.EmptyString)) gbSizer2.Add(self.tc_dato_busqueda, wx.GBPosition(1, 0), wx.GBSpan(1, 2), wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) self.btn_buscar = wx.Button(self, wx.ID_ANY, u"Buscar", wx.DefaultPosition, wx.Size(100, 30), 0) self.btn_buscar.SetFont(wx.Font(11, 70, 90, 90, False, wx.EmptyString)) gbSizer2.Add(self.btn_buscar, wx.GBPosition(1, 2), wx.GBSpan(1, 1), wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) self.rb_codigo = wx.RadioButton(self, wx.ID_ANY, u"Buscar por Código", wx.DefaultPosition, wx.DefaultSize, 0) self.rb_codigo.SetValue(True) self.rb_codigo.SetFont(wx.Font(11, 70, 90, 90, False, wx.EmptyString)) gbSizer2.Add(self.rb_codigo, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.rb_apenom = wx.RadioButton(self, wx.ID_ANY, u"Buscar por Apellido y Nombre", wx.DefaultPosition, wx.DefaultSize, 0) self.rb_apenom.SetFont(wx.Font(11, 70, 90, 90, False, wx.EmptyString)) gbSizer2.Add(self.rb_apenom, wx.GBPosition(0, 1), wx.GBSpan(1, 1), wx.ALL, 5) sbSizer1.Add(gbSizer2, 1, wx.EXPAND, 5) gbSizer1.Add(sbSizer1, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.EXPAND | wx.TOP | wx.LEFT, 20) sbSizer2 = wx.StaticBoxSizer( wx.StaticBox(self, wx.ID_ANY, u"Resultados"), wx.VERTICAL) gbSizer3 = wx.GridBagSizer(0, 0) gbSizer3.SetFlexibleDirection(wx.BOTH) gbSizer3.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.grilla = wx.grid.Grid(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(850, 200), 0) # Grid self.grilla.CreateGrid(0, 3) self.grilla.EnableEditing(False) self.grilla.EnableGridLines(True) self.grilla.EnableDragGridSize(False) self.grilla.SetMargins(0, 0) # Columns self.grilla.SetColSize(0, 150) self.grilla.SetColSize(1, 290) self.grilla.SetColSize(2, 300) self.grilla.EnableDragColMove(False) self.grilla.EnableDragColSize(True) self.grilla.SetColLabelSize(30) self.grilla.SetColLabelValue(0, u"Código") self.grilla.SetColLabelValue(1, u"Apellido y Nombre") self.grilla.SetColLabelValue(2, u"Domicilio") self.grilla.SetColLabelAlignment(wx.ALIGN_CENTRE, wx.ALIGN_CENTRE) # Rows self.grilla.EnableDragRowSize(True) self.grilla.SetRowLabelSize(80) self.grilla.SetRowLabelAlignment(wx.ALIGN_CENTRE, wx.ALIGN_CENTRE) # Label Appearance # Cell Defaults self.grilla.SetDefaultCellFont( wx.Font(11, 70, 90, 90, False, wx.EmptyString)) self.grilla.SetDefaultCellAlignment(wx.ALIGN_CENTRE, wx.ALIGN_CENTRE) gbSizer3.Add(self.grilla, wx.GBPosition(0, 0), wx.GBSpan(4, 1), wx.ALL, 5) self.btn_agregar = wx.Button(self, wx.ID_ANY, u"Agregar", wx.DefaultPosition, wx.Size(100, 30), 0) self.btn_agregar.SetFont(wx.Font(11, 70, 90, 90, False, wx.EmptyString)) gbSizer3.Add(self.btn_agregar, wx.GBPosition(0, 1), wx.GBSpan(1, 1), wx.ALL, 5) self.btn_modificar = wx.Button(self, wx.ID_ANY, u"Modificar", wx.DefaultPosition, wx.Size(100, 30), 0) self.btn_modificar.SetFont( wx.Font(11, 70, 90, 90, False, wx.EmptyString)) gbSizer3.Add(self.btn_modificar, wx.GBPosition(1, 1), wx.GBSpan(1, 1), wx.ALL, 5) self.btn_ver = wx.Button(self, wx.ID_ANY, u"Ver", wx.DefaultPosition, wx.Size(100, 30), 0) self.btn_ver.SetFont(wx.Font(11, 70, 90, 90, False, wx.EmptyString)) gbSizer3.Add(self.btn_ver, wx.GBPosition(2, 1), wx.GBSpan(1, 1), wx.ALL, 5) self.btn_eliminar = wx.Button(self, wx.ID_ANY, u"Eliminar", wx.DefaultPosition, wx.Size(100, 30), 0) self.btn_eliminar.SetFont( wx.Font(11, 70, 90, 90, False, wx.EmptyString)) gbSizer3.Add(self.btn_eliminar, wx.GBPosition(3, 1), wx.GBSpan(1, 1), wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) sbSizer2.Add(gbSizer3, 1, wx.EXPAND, 5) gbSizer1.Add(sbSizer2, wx.GBPosition(1, 0), wx.GBSpan(1, 1), wx.EXPAND | wx.TOP | wx.LEFT, 20) self.btn_volver = wx.Button(self, wx.ID_CANCEL, u"Volver", wx.DefaultPosition, wx.Size(100, 30), 0) self.btn_volver.SetFont(wx.Font(11, 70, 90, 90, False, wx.EmptyString)) gbSizer1.Add(self.btn_volver, wx.GBPosition(2, 0), wx.GBSpan(1, 1), wx.ALIGN_RIGHT | wx.TOP | wx.BOTTOM | wx.LEFT, 15) self.SetSizer(gbSizer1) self.Layout() self.Centre(wx.BOTH)
def Redraw(self, e=None): panel = self.panel for child in panel.GetChildren(): panel.RemoveChild(child) child.Destroy() ## Parameter source selection boxleft = wx.StaticBox(panel, label="Parameter source") self.rbtnhere = wx.RadioButton(panel, -1, 'This session', style = wx.RB_GROUP) self.rbtnhere.SetValue(True) self.rbtnthere = wx.RadioButton(panel, -1, 'Other session') self.dropdown = wx.ComboBox(panel, -1, "Current page", (15, 30), wx.DefaultSize, [], wx.CB_DROPDOWN|wx.CB_READONLY) # Create the dropdownlist text2 = wx.StaticText(panel, label="""Only data sets that have the same model as the parameter source will be affected by batch modification, which includes parameter values as well as settings for fitting and background correction. To prevent batch modification of parameter values for an individual page, check its "prevent batch modification" check box.""") self.Bind(wx.EVT_RADIOBUTTON, self.OnRadioHere, self.rbtnhere) self.Bind(wx.EVT_RADIOBUTTON, self.OnRadioThere, self.rbtnthere) self.Bind(wx.EVT_COMBOBOX, self.RedrawParameterBox, self.dropdown) leftSizer = wx.StaticBoxSizer(boxleft, wx.VERTICAL) leftSizer.Add(self.rbtnhere) leftSizer.Add(self.rbtnthere) leftSizer.AddSpacer(5) leftSizer.Add(self.dropdown) leftSizer.AddSpacer(5) leftSizer.Add(text2) leftSizer.AddSpacer(5) ## Parameter selection boxright = wx.StaticBox(panel, label="Selected parameters") rightSizer = wx.StaticBoxSizer(boxright, wx.VERTICAL) self.parameter_sizer = rightSizer self.RedrawParameterBox() ## Buttons btnapply = wx.Button(panel, wx.ID_ANY, 'Apply to applicable pages') btnfit = wx.Button(panel, wx.ID_ANY, 'Fit applicable pages') # Bindings self.Bind(wx.EVT_BUTTON, self.OnApply, btnapply) self.Bind(wx.EVT_BUTTON, self.OnFit, btnfit) ## Sizers sizer_bag = wx.GridBagSizer(hgap=5, vgap=5) sizer_bag.Add(leftSizer, (0,0)) sizer_bag.Add(rightSizer, (0,1)) horsizer = wx.BoxSizer(wx.HORIZONTAL) horsizer.Add(btnapply) horsizer.Add(btnfit) sizer_bag.Add(horsizer, (1,0), span=wx.GBSpan(1,2)) panel.SetSizer(sizer_bag) sizer_bag.Fit(panel) self.SetMinSize(sizer_bag.GetMinSizeTuple()) # Check if we even have pages. self.OnPageChanged() panel.Layout() sizer_bag.Fit(self) self.mastersizer = sizer_bag self.mastersizer.Fit(self)
def makePanel(self): panel = wx.Panel(self, -1, size=(-1, -1)) mainSizer = wx.BoxSizer(wx.VERTICAL) select_label = wx.StaticText(panel, wx.ID_ANY, u"Select:") self.text_select_value = makeCheckbox(panel, u"") self.text_select_value.Bind(wx.EVT_CHECKBOX, self.onApply) filename_label = wx.StaticText(panel, wx.ID_ANY, u"Filename:") self.text_filename_value = wx.TextCtrl(panel, wx.ID_ANY, u"", style=wx.TE_READONLY) ion_label = wx.StaticText(panel, wx.ID_ANY, u"Ion:") self.text_ion_value = wx.TextCtrl(panel, wx.ID_ANY, u"", style=wx.TE_READONLY) label_label = wx.StaticText(panel, wx.ID_ANY, u"Label:", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_LEFT) self.text_label_value = wx.TextCtrl(panel, -1, "", size=(90, -1)) self.text_label_value.SetValue(self.itemInfo['label']) self.text_label_value.Bind(wx.EVT_TEXT, self.onApply) charge_label = wx.StaticText(panel, wx.ID_ANY, u"Charge:") self.text_charge_value = wx.TextCtrl(panel, -1, "", size=(-1, -1), validator=validator('intPos')) self.text_charge_value.Bind(wx.EVT_TEXT, self.onApply) min_threshold_label = wx.StaticText(panel, wx.ID_ANY, u"Min threshold:") self.text_min_threshold_value = wx.SpinCtrlDouble(panel, wx.ID_ANY, value="1", min=0.0, max=1.0, initial=1.0, inc=0.05, size=(60, -1)) self.text_min_threshold_value.SetValue(self.itemInfo['min_threshold']) self.text_min_threshold_value.Bind(wx.EVT_SPINCTRLDOUBLE, self.onApply) max_threshold_label = wx.StaticText(panel, wx.ID_ANY, u"Max threshold:") self.text_max_threshold_value = wx.SpinCtrlDouble(panel, wx.ID_ANY, value="1", min=0.0, max=1.0, initial=1.0, inc=0.05, size=(60, -1)) self.text_max_threshold_value.SetValue(self.itemInfo['max_threshold']) self.text_max_threshold_value.Bind(wx.EVT_SPINCTRLDOUBLE, self.onApply) mask_label = wx.StaticText(panel, wx.ID_ANY, u"Mask:") self.text_mask_value = wx.SpinCtrlDouble(panel, wx.ID_ANY, value="1", min=0.0, max=1.0, initial=1.0, inc=0.05, size=(60, -1)) self.text_mask_value.SetValue(self.itemInfo['mask']) self.text_mask_value.Bind(wx.EVT_SPINCTRLDOUBLE, self.onApply) transparency_label = wx.StaticText(panel, wx.ID_ANY, u"Transparency:") self.text_transparency_value = wx.SpinCtrlDouble(panel, wx.ID_ANY, value="1", min=0.0, max=1.0, initial=1.0, inc=0.05, size=(60, -1)) self.text_transparency_value.Bind(wx.EVT_SPINCTRLDOUBLE, self.onApply) colormap_label = wx.StaticText(panel, -1, "Colormap:") self.text_colormap_value = wx.Choice(panel, -1, choices=self.config.cmaps2, size=(-1, -1)) self.text_colormap_value.Bind(wx.EVT_CHOICE, self.onApply) self.text_restrictColormap_value = makeCheckbox(panel, u"") self.text_restrictColormap_value.Bind(wx.EVT_CHECKBOX, self.onRestrictCmaps) color_label = wx.StaticText(panel, -1, "Color:") self.text_color_value = wx.Button(panel, wx.ID_ANY, u"", wx.DefaultPosition, wx.Size(26, 26), 0) self.text_color_value.SetBackgroundColour(self.itemInfo['color']) self.text_color_value.Bind(wx.EVT_BUTTON, self.OnAssignColor) horizontal_line = wx.StaticLine(panel, -1, style=wx.LI_HORIZONTAL) self.showBtn = wx.Button(panel, wx.ID_OK, "Show", size=(-1, 22)) self.previousBtn = wx.Button(panel, wx.ID_OK, "Previous", size=(-1, 22)) self.nextBtn = wx.Button(panel, wx.ID_OK, "Next", size=(-1, 22)) self.cancelBtn = wx.Button(panel, wx.ID_OK, "Close", size=(-1, 22)) self.showBtn.Bind(wx.EVT_BUTTON, self.onShow) self.nextBtn.Bind(wx.EVT_BUTTON, self.onGetNext) self.previousBtn.Bind(wx.EVT_BUTTON, self.onGetPrevious) self.cancelBtn.Bind(wx.EVT_BUTTON, self.onClose) btn_grid = wx.GridBagSizer(2, 2) n = 0 btn_grid.Add(self.showBtn, (n, 0), wx.GBSpan(1, 1)) btn_grid.Add(self.previousBtn, (n, 1), wx.GBSpan(1, 1)) btn_grid.Add(self.nextBtn, (n, 2), wx.GBSpan(1, 1)) btn_grid.Add(self.cancelBtn, (n, 3), wx.GBSpan(1, 1)) # pack elements grid = wx.GridBagSizer(2, 2) n = 0 grid.Add(select_label, (n, 0), wx.GBSpan(1, 1), flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT) grid.Add(self.text_select_value, (n, 1), wx.GBSpan(1, 1), flag=wx.EXPAND) n = n + 1 grid.Add(filename_label, (n, 0), wx.GBSpan(1, 1), flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT) grid.Add(self.text_filename_value, (n, 1), wx.GBSpan(1, 2), flag=wx.EXPAND) n = n + 1 grid.Add(ion_label, (n, 0), wx.GBSpan(1, 1), flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT) grid.Add(self.text_ion_value, (n, 1), wx.GBSpan(1, 2), flag=wx.EXPAND) n = n + 1 grid.Add(label_label, (n, 0), wx.GBSpan(1, 1), flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT) grid.Add(self.text_label_value, (n, 1), wx.GBSpan(1, 2), flag=wx.EXPAND) n = n + 1 grid.Add(charge_label, (n, 0), wx.GBSpan(1, 1), flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT) grid.Add(self.text_charge_value, (n, 1), wx.GBSpan(1, 1), flag=wx.EXPAND) n = n + 1 grid.Add(min_threshold_label, (n, 0), wx.GBSpan(1, 1), flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT) grid.Add(self.text_min_threshold_value, (n, 1), wx.GBSpan(1, 1), flag=wx.EXPAND) n = n + 1 grid.Add(max_threshold_label, (n, 0), wx.GBSpan(1, 1), flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT) grid.Add(self.text_max_threshold_value, (n, 1), wx.GBSpan(1, 1), flag=wx.EXPAND) n = n + 1 grid.Add(colormap_label, (n, 0), wx.GBSpan(1, 1), flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT) grid.Add(self.text_colormap_value, (n, 1), wx.GBSpan(1, 1), flag=wx.EXPAND) grid.Add(self.text_restrictColormap_value, (n, 2), wx.GBSpan(1, 1), flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL) n = n + 1 grid.Add(color_label, (n, 0), wx.GBSpan(1, 1), flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT) grid.Add(self.text_color_value, (n, 1), wx.GBSpan(1, 1), flag=wx.EXPAND) n = n + 1 grid.Add(mask_label, (n, 0), wx.GBSpan(1, 1), flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT) grid.Add(self.text_mask_value, (n, 1), wx.GBSpan(1, 1), flag=wx.EXPAND) n = n + 1 grid.Add(transparency_label, (n, 0), wx.GBSpan(1, 1), flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT) grid.Add(self.text_transparency_value, (n, 1), wx.GBSpan(1, 1), flag=wx.EXPAND) n = n + 1 grid.Add(horizontal_line, (n, 0), wx.GBSpan(1, 3), flag=wx.EXPAND) n = n + 1 grid.Add(btn_grid, (n, 0), wx.GBSpan(1, 3), flag=wx.EXPAND) mainSizer.Add(grid, 0, wx.EXPAND, 10) # fit layout mainSizer.Fit(panel) panel.SetSizerAndFit(mainSizer) self.enableDisableBoxes(evt=None) return panel
def test_gbsizer_span3(self): s1 = wx.GBSpan(3, 4) self.assertTrue(s1 == (3, 4)) self.assertTrue(s1.Get() == (3, 4)) s1.Set(5, 6) self.assertTrue(s1 == (5, 6))
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=u"脊柱侧凸预防干预信息系统", pos=wx.DefaultPosition, size=wx.Size(800, 600), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize) self.stbStatus = self.CreateStatusBar(1, wx.ST_SIZEGRIP, wx.ID_ANY) self.m_menubar1 = wx.MenuBar(0) self.fileMenu = wx.Menu() self.m_menubar1.Append(self.fileMenu, u"文件") self.SetMenuBar(self.m_menubar1) bSizer1 = wx.BoxSizer(wx.HORIZONTAL) self.patientDataTable = wx.grid.Grid( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.HSCROLL | wx.RAISED_BORDER | wx.VSCROLL) # Grid self.patientDataTable.CreateGrid(5, 7) self.patientDataTable.EnableEditing(False) self.patientDataTable.EnableGridLines(True) self.patientDataTable.EnableDragGridSize(False) self.patientDataTable.SetMargins(0, 0) # Columns self.patientDataTable.EnableDragColMove(False) self.patientDataTable.EnableDragColSize(True) self.patientDataTable.SetColLabelSize(30) self.patientDataTable.SetColLabelAlignment(wx.ALIGN_CENTRE, wx.ALIGN_CENTRE) # Rows self.patientDataTable.AutoSizeRows() self.patientDataTable.EnableDragRowSize(True) self.patientDataTable.SetRowLabelSize(80) self.patientDataTable.SetRowLabelAlignment(wx.ALIGN_CENTRE, wx.ALIGN_CENTRE) # Label Appearance # Cell Defaults self.patientDataTable.SetDefaultCellFont( wx.Font(wx.NORMAL_FONT.GetPointSize(), 75, 90, 90, False, wx.EmptyString)) self.patientDataTable.SetDefaultCellAlignment(wx.ALIGN_LEFT, wx.ALIGN_TOP) bSizer1.Add(self.patientDataTable, 1, wx.ALL | wx.EXPAND, 0) self.operationPanel = wx.Panel(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) self.operationPanel.SetMinSize(wx.Size(250, -1)) self.operationPanel.SetMaxSize(wx.Size(600, -1)) gbSizer1 = wx.GridBagSizer(0, 0) gbSizer1.SetFlexibleDirection(wx.HORIZONTAL) gbSizer1.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.lblSchool = wx.StaticText(self.operationPanel, wx.ID_ANY, u"学校:", wx.DefaultPosition, wx.DefaultSize, 0) self.lblSchool.Wrap(-1) gbSizer1.Add(self.lblSchool, wx.GBPosition(1, 0), wx.GBSpan(1, 1), wx.ALL, 5) district_choiceChoices = [] self.district_choice = wx.Choice(self.operationPanel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, district_choiceChoices, 0) self.district_choice.SetSelection(0) gbSizer1.Add(self.district_choice, wx.GBPosition(0, 1), wx.GBSpan(1, 1), wx.ALL, 5) school_choiceChoices = [] self.school_choice = wx.Choice(self.operationPanel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, school_choiceChoices, 0) self.school_choice.SetSelection(0) gbSizer1.Add(self.school_choice, wx.GBPosition(1, 1), wx.GBSpan(1, 2), wx.ALL, 5) self.lblClass = wx.StaticText(self.operationPanel, wx.ID_ANY, u"班级:", wx.Point(-1, -1), wx.DefaultSize, 0) self.lblClass.Wrap(-1) gbSizer1.Add(self.lblClass, wx.GBPosition(3, 0), wx.GBSpan(1, 1), wx.ALL, 5) class_choiceChoices = [] self.class_choice = wx.Choice(self.operationPanel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, class_choiceChoices, 0) self.class_choice.SetSelection(0) gbSizer1.Add(self.class_choice, wx.GBPosition(3, 1), wx.GBSpan(1, 2), wx.ALL, 5) self.lblGrade = wx.StaticText(self.operationPanel, wx.ID_ANY, u"年级:", wx.DefaultPosition, wx.DefaultSize, 0) self.lblGrade.Wrap(-1) gbSizer1.Add(self.lblGrade, wx.GBPosition(2, 0), wx.GBSpan(1, 1), wx.ALL, 5) grade_choiceChoices = [] self.grade_choice = wx.Choice(self.operationPanel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, grade_choiceChoices, 0) self.grade_choice.SetSelection(0) gbSizer1.Add(self.grade_choice, wx.GBPosition(2, 1), wx.GBSpan(1, 2), wx.ALL, 5) self.lblName = wx.StaticText(self.operationPanel, wx.ID_ANY, u"姓名:", wx.DefaultPosition, wx.DefaultSize, 0) self.lblName.Wrap(-1) gbSizer1.Add(self.lblName, wx.GBPosition(4, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.txtName = wx.TextCtrl(self.operationPanel, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.txtName, wx.GBPosition(4, 1), wx.GBSpan(1, 1), wx.ALL | wx.EXPAND, 5) self.btnSearch = wx.Button(self.operationPanel, wx.ID_ANY, u"查找", wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.btnSearch, wx.GBPosition(5, 1), wx.GBSpan(1, 1), wx.ALL, 5) self.btnExport = wx.Button(self.operationPanel, wx.ID_ANY, u"导出当前数据", wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.btnExport, wx.GBPosition(5, 2), wx.GBSpan(1, 1), wx.ALL, 5) self.cbxUnchecked = wx.CheckBox(self.operationPanel, wx.ID_ANY, u"只显示未检查病人", wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.cbxUnchecked, wx.GBPosition(6, 1), wx.GBSpan(1, 2), wx.ALL, 5) self.cbxChecked = wx.CheckBox(self.operationPanel, wx.ID_ANY, u"只显示已检查病人", wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.cbxChecked, wx.GBPosition(7, 1), wx.GBSpan(1, 2), wx.ALL, 5) self.btnImport = wx.Button(self.operationPanel, wx.ID_ANY, u"导入数据", wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.btnImport, wx.GBPosition(8, 0), wx.GBSpan(1, 2), wx.ALL, 5) self.btnShowAll = wx.Button(self.operationPanel, wx.ID_ANY, u"显示所有病人", wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.btnShowAll, wx.GBPosition(8, 2), wx.GBSpan(1, 1), wx.ALL, 5) self.lblDistrict = wx.StaticText(self.operationPanel, wx.ID_ANY, u"区域:", wx.DefaultPosition, wx.DefaultSize, 0) self.lblDistrict.Wrap(-1) gbSizer1.Add(self.lblDistrict, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.ALL, 5) gbSizer1.AddGrowableCol(1) self.operationPanel.SetSizer(gbSizer1) self.operationPanel.Layout() gbSizer1.Fit(self.operationPanel) bSizer1.Add(self.operationPanel, 0, wx.ALIGN_RIGHT | wx.ALL | wx.EXPAND, 0) self.SetSizer(bSizer1) self.Layout() self.Centre(wx.BOTH) # Connect Events self.patientDataTable.Bind(wx.grid.EVT_GRID_SELECT_CELL, self.onRowSelect) self.district_choice.Bind(wx.EVT_CHOICE, self.choose_district) self.school_choice.Bind(wx.EVT_CHOICE, self.choose_school) self.class_choice.Bind(wx.EVT_CHOICE, self.choose_class) self.grade_choice.Bind(wx.EVT_CHOICE, self.choose_grade) self.btnSearch.Bind(wx.EVT_BUTTON, self.onSearchClick) self.btnExport.Bind(wx.EVT_BUTTON, self.onExportClick) self.cbxUnchecked.Bind(wx.EVT_CHECKBOX, self.onShowUncheckedOnly) self.cbxChecked.Bind(wx.EVT_CHECKBOX, self.onShowCheckedOnly) self.btnImport.Bind(wx.EVT_BUTTON, self.import_data) self.btnShowAll.Bind(wx.EVT_BUTTON, self.onShowAll)
def __init__(self, parent): wx.Dialog.__init__(self, parent, id=wx.ID_ANY, title=u"Modificar datos de deposito", pos=wx.DefaultPosition, size=wx.Size(400, 225), style=wx.DEFAULT_DIALOG_STYLE) self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize) self.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHTTEXT)) gbSizer1 = wx.GridBagSizer(0, 0) gbSizer1.SetFlexibleDirection(wx.BOTH) gbSizer1.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.m_staticText1 = wx.StaticText(self, wx.ID_ANY, u"Campaña:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText1.Wrap(-1) self.m_staticText1.SetFont( wx.Font(12, 70, 90, 90, False, wx.EmptyString)) gbSizer1.Add(self.m_staticText1, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.TOP | wx.BOTTOM | wx.LEFT, 20) self.st_campania = wx.StaticText(self, wx.ID_ANY, u"00-0000", wx.DefaultPosition, wx.DefaultSize, 0) self.st_campania.Wrap(-1) self.st_campania.SetFont(wx.Font(12, 70, 90, 92, False, wx.EmptyString)) gbSizer1.Add(self.st_campania, wx.GBPosition(0, 1), wx.GBSpan(1, 1), wx.ALIGN_CENTER_VERTICAL | wx.ALL, 5) sbSizer1 = wx.StaticBoxSizer( wx.StaticBox(self, wx.ID_ANY, wx.EmptyString), wx.VERTICAL) gbSizer2 = wx.GridBagSizer(0, 0) gbSizer2.SetFlexibleDirection(wx.BOTH) gbSizer2.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.m_staticText3 = wx.StaticText(self, wx.ID_ANY, u"Número:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText3.Wrap(-1) self.m_staticText3.SetFont( wx.Font(11, 70, 90, 90, False, wx.EmptyString)) gbSizer2.Add(self.m_staticText3, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.TOP | wx.RIGHT | wx.LEFT, 5) self.m_staticText4 = wx.StaticText(self, wx.ID_ANY, u"Monto:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText4.Wrap(-1) self.m_staticText4.SetFont( wx.Font(11, 70, 90, 90, False, wx.EmptyString)) gbSizer2.Add(self.m_staticText4, wx.GBPosition(0, 1), wx.GBSpan(1, 1), wx.TOP | wx.RIGHT | wx.LEFT, 5) self.m_staticText5 = wx.StaticText(self, wx.ID_ANY, u"Fecha:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText5.Wrap(-1) self.m_staticText5.SetFont( wx.Font(11, 70, 90, 90, False, wx.EmptyString)) gbSizer2.Add(self.m_staticText5, wx.GBPosition(0, 2), wx.GBSpan(1, 1), wx.TOP | wx.RIGHT | wx.LEFT, 5) self.tc_numero = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_CENTRE | wx.TE_READONLY) self.tc_numero.SetFont(wx.Font(11, 70, 90, 90, False, wx.EmptyString)) gbSizer2.Add(self.tc_numero, wx.GBPosition(1, 0), wx.GBSpan(1, 1), wx.BOTTOM | wx.RIGHT | wx.LEFT, 5) self.tc_monto = wx.TextCtrl(self, wx.ID_ANY, u"0.00", wx.DefaultPosition, wx.DefaultSize, wx.TE_RIGHT) self.tc_monto.SetFont(wx.Font(11, 70, 90, 90, False, wx.EmptyString)) gbSizer2.Add(self.tc_monto, wx.GBPosition(1, 1), wx.GBSpan(1, 1), wx.BOTTOM | wx.RIGHT | wx.LEFT, 5) self.tc_fecha = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) self.tc_fecha.SetMaxLength(11) self.tc_fecha.SetFont(wx.Font(11, 70, 90, 90, False, wx.EmptyString)) gbSizer2.Add( self.tc_fecha, wx.GBPosition(1, 2), wx.GBSpan(1, 1), wx.BOTTOM | wx.RIGHT | wx.LEFT | wx.ALIGN_CENTER_HORIZONTAL, 5) sbSizer1.Add(gbSizer2, 1, wx.EXPAND, 5) gbSizer1.Add(sbSizer1, wx.GBPosition(1, 0), wx.GBSpan(1, 3), wx.EXPAND | wx.LEFT, 20) self.btn_aceptar = wx.Button(self, wx.ID_OK, u"Aceptar", wx.DefaultPosition, wx.Size(100, 30), 0) self.btn_aceptar.SetFont(wx.Font(11, 70, 90, 90, False, wx.EmptyString)) gbSizer1.Add(self.btn_aceptar, wx.GBPosition(2, 1), wx.GBSpan(1, 1), wx.ALL | wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL, 5) self.btn_cancelar = wx.Button(self, wx.ID_CANCEL, u"Cancelar", wx.DefaultPosition, wx.Size(100, 30), 0) self.btn_cancelar.SetFont( wx.Font(11, 70, 90, 90, False, wx.EmptyString)) gbSizer1.Add(self.btn_cancelar, wx.GBPosition(2, 2), wx.GBSpan(1, 1), wx.ALIGN_RIGHT | wx.TOP | wx.BOTTOM | wx.LEFT, 20) self.SetSizer(gbSizer1) self.Layout() self.Centre(wx.BOTH)
def __init__(self, parent, port, debug=False): wx.Frame.__init__(self, parent, -1, "Live GaitCheck", style=wx.DEFAULT_FRAME_STYLE & ~(wx.RESIZE_BORDER | wx.MAXIMIZE_BOX)) self.port = port self.servo_mapping = { 'LF Coxa': Servo(10, -1), 'LF Femur': Servo(11, 1), 'LF Tibia': Servo(12, 1, 819), 'RF Coxa': Servo(1, 1), 'RF Femur': Servo(2, 1), 'RF Tibia': Servo(3, 1, 819), 'LR Coxa': Servo(7, 1), 'LR Femur': Servo(8, 1), 'LR Tibia': Servo(9, 1, 819), 'RR Coxa': Servo(4, -1), 'RR Femur': Servo(5, 1), 'RR Tibia': Servo(6, 1, 819), } sizer = wx.GridBagSizer(10, 10) self.drive = wx.Panel(self, size=(width, width - 20)) self.drive.SetBackgroundColour('WHITE') self.drive.Bind(wx.EVT_MOTION, self.onMove) wx.StaticLine(self.drive, -1, (width / 2, 0), (1, width), style=wx.LI_VERTICAL) wx.StaticLine(self.drive, -1, (0, width / 2), (width, 1)) sizer.Add(self.drive, (0, 0), wx.GBSpan(2, 1), wx.EXPAND | wx.ALL, 5) self.forward = 0 self.turn = 0 # Selection for horizontal movement horiz = wx.StaticBox(self, -1, 'Horizontal Movement') horiz.SetFont(wx.Font(10, wx.DEFAULT, wx.NORMAL, wx.BOLD)) horizBox = wx.StaticBoxSizer(horiz, orient=wx.VERTICAL) self.selTurn = wx.RadioButton(self, -1, 'Turn', style=wx.RB_GROUP) horizBox.Add(self.selTurn) self.selStrafe = wx.RadioButton(self, -1, 'Strafe') horizBox.Add(self.selStrafe) sizer.Add(horizBox, (0, 1), wx.GBSpan(1, 1), wx.EXPAND | wx.TOP | wx.RIGHT, 5) # Body rotations body = wx.StaticBox(self, -1, 'Body Movement') body.SetFont(wx.Font(10, wx.DEFAULT, wx.NORMAL, wx.BOLD)) bodyBox = wx.StaticBoxSizer(body, orient=wx.VERTICAL) bodySizer = wx.GridBagSizer(5, 5) bodySizer.Add(wx.StaticText(self, -1, "Pan:"), (0, 0), wx.GBSpan(1, 1), wx.ALIGN_CENTER_VERTICAL) self.pan = wx.Slider(self, -1, 0, -100, 100, wx.DefaultPosition, (200, -1), wx.SL_HORIZONTAL | wx.SL_LABELS) bodySizer.Add(self.pan, (0, 1)) bodySizer.Add(wx.StaticText(self, -1, "Tilt:"), (1, 0), wx.GBSpan(1, 1), wx.ALIGN_CENTER_VERTICAL) self.tilt = wx.Slider(self, -1, 0, -100, 100, wx.DefaultPosition, (200, -1), wx.SL_HORIZONTAL | wx.SL_LABELS) bodySizer.Add(self.tilt, (1, 1)) bodySizer.Add(wx.StaticText(self, -1, "Roll:"), (2, 0), wx.GBSpan(1, 1), wx.ALIGN_CENTER_VERTICAL) self.roll = wx.Slider(self, -1, 0, -100, 100, wx.DefaultPosition, (200, -1), wx.SL_HORIZONTAL | wx.SL_LABELS) self.roll.Disable() bodySizer.Add(self.roll, (2, 1)) bodyBox.Add(bodySizer) sizer.Add(bodyBox, (1, 1), wx.GBSpan(1, 1), wx.EXPAND | wx.BOTTOM | wx.RIGHT, 5) # timer for output self.timer = wx.Timer(self, self.TIMER_ID) self.timer.Start(20) wx.EVT_CLOSE(self, self.onClose) wx.EVT_TIMER(self, self.TIMER_ID, self.onTimer) self.SetSizerAndFit(sizer) self.Show(True) self.gait = gaits.GaitRipple() class FakeGait(object): def __init__(self): self.data = [gaits.LegGait(0, 0, 0, 0) for x in range(4)] def gen(self): return self.data def advance_time(self, time): pass def set_speed(self, foo): pass #self.gait = FakeGait() self.solver = gaits.Solver(self.gait)
def __init__( self, parent ): wx.Dialog.__init__ ( self, parent, id = wx.ID_ANY, title = u"Печать", pos = wx.DefaultPosition, size = wx.Size( 633,401 ), style = wx.DEFAULT_DIALOG_STYLE ) self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize ) bSizer1 = wx.BoxSizer( wx.VERTICAL ) self.option_notebook = wx.Notebook( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0 ) option_notebookImageSize = wx.Size( 16,16 ) option_notebookIndex = 0 option_notebookImages = wx.ImageList( option_notebookImageSize.GetWidth(), option_notebookImageSize.GetHeight() ) self.option_notebook.AssignImageList( option_notebookImages ) self.option_panel = wx.Panel( self.option_notebook, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) self.option_panel.SetFont( wx.Font( wx.NORMAL_FONT.GetPointSize(), 70, 90, 90, False, wx.EmptyString ) ) bSizer4 = wx.BoxSizer( wx.VERTICAL ) bSizer9 = wx.BoxSizer( wx.HORIZONTAL ) self.m_staticText8 = wx.StaticText( self.option_panel, wx.ID_ANY, u"Принтер:", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText8.Wrap( -1 ) self.m_staticText8.SetFont( wx.Font( 14, 70, 90, 90, False, wx.EmptyString ) ) bSizer9.Add( self.m_staticText8, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.printer_comboBox = wx.combo.BitmapComboBox( self.option_panel, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, "", wx.CB_READONLY ) self.printer_comboBox.SetFont( wx.Font( 14, 70, 90, 90, False, wx.EmptyString ) ) bSizer9.Add( self.printer_comboBox, 1, wx.ALL|wx.ALIGN_CENTER_VERTICAL|wx.EXPAND, 5 ) bSizer4.Add( bSizer9, 0, wx.EXPAND, 5 ) bSizer5 = wx.BoxSizer( wx.HORIZONTAL ) self.m_staticText1 = wx.StaticText( self.option_panel, wx.ID_ANY, u"Бумага:", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText1.Wrap( -1 ) self.m_staticText1.SetFont( wx.Font( 14, 70, 90, 90, False, wx.EmptyString ) ) bSizer5.Add( self.m_staticText1, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.paper_comboBox = wx.combo.BitmapComboBox( self.option_panel, wx.ID_ANY, u"Combo!", wx.DefaultPosition, wx.DefaultSize, "", wx.CB_READONLY ) self.paper_comboBox.SetSelection( 0 ) self.paper_comboBox.SetFont( wx.Font( 14, 70, 90, 90, False, wx.EmptyString ) ) bSizer5.Add( self.paper_comboBox, 1, wx.ALL|wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 5 ) bSizer4.Add( bSizer5, 0, wx.EXPAND|wx.ALL, 5 ) bSizer6 = wx.BoxSizer( wx.HORIZONTAL ) self.m_staticText6 = wx.StaticText( self.option_panel, wx.ID_ANY, u"Диапазон:", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText6.Wrap( -1 ) self.m_staticText6.SetFont( wx.Font( 14, 70, 90, 90, False, wx.EmptyString ) ) bSizer6.Add( self.m_staticText6, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.pages_textCtrl = wx.TextCtrl( self.option_panel, wx.ID_ANY, u"1-9999", wx.DefaultPosition, wx.DefaultSize, 0 ) self.pages_textCtrl.SetFont( wx.Font( 14, 70, 90, 90, False, wx.EmptyString ) ) bSizer6.Add( self.pages_textCtrl, 1, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) bSizer4.Add( bSizer6, 0, wx.EXPAND, 5 ) bSizer7 = wx.BoxSizer( wx.HORIZONTAL ) self.m_staticText7 = wx.StaticText( self.option_panel, wx.ID_ANY, u"Копий:", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText7.Wrap( -1 ) self.m_staticText7.SetFont( wx.Font( 14, 70, 90, 90, False, wx.EmptyString ) ) bSizer7.Add( self.m_staticText7, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.copies_spinCtrl = wx.SpinCtrl( self.option_panel, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 1, 10, 1 ) self.copies_spinCtrl.SetFont( wx.Font( 14, 70, 90, 90, False, wx.EmptyString ) ) bSizer7.Add( self.copies_spinCtrl, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) bSizer4.Add( bSizer7, 0, wx.EXPAND, 5 ) bSizer8 = wx.BoxSizer( wx.HORIZONTAL ) page_radioBoxChoices = [ u"Все", u"Нечетные", u"Четные" ] self.page_radioBox = wx.RadioBox( self.option_panel, wx.ID_ANY, u"Страницы", wx.DefaultPosition, wx.DefaultSize, page_radioBoxChoices, 1, wx.RA_SPECIFY_ROWS ) self.page_radioBox.SetSelection( 0 ) self.page_radioBox.SetFont( wx.Font( 14, 70, 90, 90, False, wx.EmptyString ) ) bSizer8.Add( self.page_radioBox, 0, wx.ALL, 5 ) bSizer4.Add( bSizer8, 0, wx.EXPAND, 5 ) self.option_panel.SetSizer( bSizer4 ) self.option_panel.Layout() bSizer4.Fit( self.option_panel ) self.option_notebook.AddPage( self.option_panel, u"Параметры печати", True ) self.border_panel = wx.Panel( self.option_notebook, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) gbSizer1 = wx.GridBagSizer( 0, 0 ) gbSizer1.SetFlexibleDirection( wx.BOTH ) gbSizer1.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED ) self.m_bitmap1 = wx.StaticBitmap( self.border_panel, wx.ID_ANY, wx.ArtProvider.GetBitmap( wx.ART_NORMAL_FILE, wx.ART_CMN_DIALOG ), wx.DefaultPosition, wx.Size( 128,128 ), 0 ) gbSizer1.Add( self.m_bitmap1, wx.GBPosition( 2, 2 ), wx.GBSpan( 2, 2 ), wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 ) self.left_spinCtrl = wx.SpinCtrl( self.border_panel, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 100, 0 ) self.left_spinCtrl.SetFont( wx.Font( 14, 70, 90, 90, False, wx.EmptyString ) ) gbSizer1.Add( self.left_spinCtrl, wx.GBPosition( 3, 1 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 ) self.left_text = wx.StaticText( self.border_panel, wx.ID_ANY, u"Слева (мм):", wx.DefaultPosition, wx.DefaultSize, 0 ) self.left_text.Wrap( -1 ) self.left_text.SetFont( wx.Font( 14, 70, 90, 90, False, wx.EmptyString ) ) gbSizer1.Add( self.left_text, wx.GBPosition( 2, 1 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.ALIGN_BOTTOM, 5 ) self.right_text = wx.StaticText( self.border_panel, wx.ID_ANY, u"Справа (мм):", wx.DefaultPosition, wx.DefaultSize, 0 ) self.right_text.Wrap( -1 ) self.right_text.SetFont( wx.Font( 14, 70, 90, 90, False, wx.EmptyString ) ) gbSizer1.Add( self.right_text, wx.GBPosition( 2, 4 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.ALIGN_BOTTOM, 5 ) self.right_spinCtrl = wx.SpinCtrl( self.border_panel, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 100, 0 ) self.right_spinCtrl.SetFont( wx.Font( 14, 70, 90, 90, False, wx.EmptyString ) ) gbSizer1.Add( self.right_spinCtrl, wx.GBPosition( 3, 4 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 ) self.top_text = wx.StaticText( self.border_panel, wx.ID_ANY, u"Сверху (мм):", wx.DefaultPosition, wx.DefaultSize, 0 ) self.top_text.Wrap( -1 ) self.top_text.SetFont( wx.Font( 14, 70, 90, 90, False, wx.EmptyString ) ) gbSizer1.Add( self.top_text, wx.GBPosition( 1, 2 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.top_spinCtrl = wx.SpinCtrl( self.border_panel, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 10, 0 ) self.top_spinCtrl.SetFont( wx.Font( 14, 70, 90, 90, False, wx.EmptyString ) ) gbSizer1.Add( self.top_spinCtrl, wx.GBPosition( 1, 3 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.m_staticText5 = wx.StaticText( self.border_panel, wx.ID_ANY, u"Снизу (мм):", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText5.Wrap( -1 ) self.m_staticText5.SetFont( wx.Font( 14, 70, 90, 90, False, wx.EmptyString ) ) gbSizer1.Add( self.m_staticText5, wx.GBPosition( 4, 2 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.bottom_spinCtrl = wx.SpinCtrl( self.border_panel, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 10, 0 ) self.bottom_spinCtrl.SetFont( wx.Font( 14, 70, 90, 90, False, wx.EmptyString ) ) gbSizer1.Add( self.bottom_spinCtrl, wx.GBPosition( 4, 3 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.border_panel.SetSizer( gbSizer1 ) self.border_panel.Layout() gbSizer1.Fit( self.border_panel ) self.option_notebook.AddPage( self.border_panel, u"Поля", False ) bSizer1.Add( self.option_notebook, 1, wx.EXPAND |wx.ALL, 5 ) bSizer2 = wx.BoxSizer( wx.HORIZONTAL ) self.cancel_button = wx.Button( self, wx.ID_ANY, u"Отмена", wx.DefaultPosition, wx.DefaultSize, 0 ) self.cancel_button.SetFont( wx.Font( 14, 70, 90, 90, False, wx.EmptyString ) ) bSizer2.Add( self.cancel_button, 0, wx.ALL, 5 ) self.preview_button = wx.Button( self, wx.ID_ANY, u"Предварительный просмотр ...", wx.DefaultPosition, wx.DefaultSize, 0 ) self.preview_button.SetFont( wx.Font( 14, 70, 90, 90, False, wx.EmptyString ) ) bSizer2.Add( self.preview_button, 0, wx.ALL, 5 ) self.ok_button = wx.Button( self, wx.ID_ANY, u"Печать", wx.DefaultPosition, wx.DefaultSize, 0 ) self.ok_button.SetFont( wx.Font( 14, 70, 90, 90, False, wx.EmptyString ) ) bSizer2.Add( self.ok_button, 0, wx.ALL|wx.EXPAND, 5 ) bSizer1.Add( bSizer2, 0, wx.ALIGN_RIGHT|wx.ALL, 5 ) self.SetSizer( bSizer1 ) self.Layout() self.Centre( wx.BOTH ) # Connect Events self.cancel_button.Bind( wx.EVT_BUTTON, self.onCanceButtonClick ) self.preview_button.Bind( wx.EVT_BUTTON, self.onPreviewButtonClick ) self.ok_button.Bind( wx.EVT_BUTTON, self.onOKButtonClick )
def __init__(self, parent): wx.Dialog.__init__(self, parent, id=wx.ID_ANY, title=u"Apertura de Caja", pos=wx.DefaultPosition, size=wx.Size(558, 258), style=wx.DEFAULT_DIALOG_STYLE) self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize) self.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHTTEXT)) gbSizer1 = wx.GridBagSizer(0, 0) gbSizer1.SetFlexibleDirection(wx.BOTH) gbSizer1.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) sbSizer1 = wx.StaticBoxSizer( wx.StaticBox(self, wx.ID_ANY, wx.EmptyString), wx.VERTICAL) gbSizer2 = wx.GridBagSizer(0, 0) gbSizer2.SetFlexibleDirection(wx.BOTH) gbSizer2.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.m_staticText1 = wx.StaticText(self, wx.ID_ANY, u"Campaña:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText1.Wrap(-1) self.m_staticText1.SetFont( wx.Font(11, 70, 90, 90, False, wx.EmptyString)) gbSizer2.Add(self.m_staticText1, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.st_campania = wx.StaticText(self, wx.ID_ANY, u"0000-00", wx.DefaultPosition, wx.DefaultSize, 0) self.st_campania.Wrap(-1) self.st_campania.SetFont(wx.Font(11, 70, 90, 90, False, wx.EmptyString)) gbSizer2.Add(self.st_campania, wx.GBPosition(0, 1), wx.GBSpan(1, 1), wx.ALL, 5) self.m_staticText3 = wx.StaticText(self, wx.ID_ANY, u"Inicio de campaña", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText3.Wrap(-1) self.m_staticText3.SetFont( wx.Font(11, 70, 90, 90, False, wx.EmptyString)) gbSizer2.Add(self.m_staticText3, wx.GBPosition(0, 2), wx.GBSpan(1, 1), wx.LEFT | wx.ALIGN_CENTER_VERTICAL, 100) self.st_fecha_camp = wx.StaticText(self, wx.ID_ANY, u"00/00/0000", wx.DefaultPosition, wx.DefaultSize, 0) self.st_fecha_camp.Wrap(-1) self.st_fecha_camp.SetFont( wx.Font(11, 70, 90, 90, False, wx.EmptyString)) gbSizer2.Add(self.st_fecha_camp, wx.GBPosition(0, 3), wx.GBSpan(1, 1), wx.ALL, 5) sbSizer1.Add(gbSizer2, 1, wx.EXPAND, 5) gbSizer1.Add(sbSizer1, wx.GBPosition(0, 0), wx.GBSpan(1, 5), wx.EXPAND | wx.TOP | wx.LEFT, 20) sbSizer2 = wx.StaticBoxSizer( wx.StaticBox(self, wx.ID_ANY, wx.EmptyString), wx.VERTICAL) gbSizer3 = wx.GridBagSizer(0, 0) gbSizer3.SetFlexibleDirection(wx.BOTH) gbSizer3.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.m_staticText5 = wx.StaticText(self, wx.ID_ANY, u"Hoy es:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText5.Wrap(-1) self.m_staticText5.SetFont( wx.Font(11, 70, 90, 92, False, wx.EmptyString)) gbSizer3.Add(self.m_staticText5, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.st_fecha_caja = wx.StaticText(self, wx.ID_ANY, u"00/00/0000", wx.DefaultPosition, wx.DefaultSize, 0) self.st_fecha_caja.Wrap(-1) self.st_fecha_caja.SetFont( wx.Font(11, 70, 90, 92, False, wx.EmptyString)) gbSizer3.Add(self.st_fecha_caja, wx.GBPosition(0, 1), wx.GBSpan(1, 1), wx.ALL, 5) self.m_staticText8 = wx.StaticText(self, wx.ID_ANY, u"N° de caja:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText8.Wrap(-1) self.m_staticText8.SetFont( wx.Font(11, 70, 90, 92, False, wx.EmptyString)) gbSizer3.Add(self.m_staticText8, wx.GBPosition(0, 2), wx.GBSpan(1, 1), wx.LEFT | wx.ALIGN_CENTER_VERTICAL, 40) self.st_num_caja = wx.StaticText(self, wx.ID_ANY, u"0", wx.DefaultPosition, wx.DefaultSize, 0) self.st_num_caja.Wrap(-1) self.st_num_caja.SetFont(wx.Font(11, 70, 90, 92, False, wx.EmptyString)) gbSizer3.Add(self.st_num_caja, wx.GBPosition(0, 3), wx.GBSpan(1, 1), wx.ALL, 5) self.m_staticText7 = wx.StaticText(self, wx.ID_ANY, u"Monto inicial:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText7.Wrap(-1) self.m_staticText7.SetFont( wx.Font(11, 70, 90, 90, False, wx.EmptyString)) gbSizer3.Add(self.m_staticText7, wx.GBPosition(1, 0), wx.GBSpan(1, 1), wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) self.tc_monto = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_RIGHT) self.tc_monto.SetFont(wx.Font(11, 70, 90, 90, False, wx.EmptyString)) self.tc_monto.SetToolTipString(u"Ej: 298.60") gbSizer3.Add(self.tc_monto, wx.GBPosition(1, 1), wx.GBSpan(1, 1), wx.ALL, 5) sbSizer2.Add(gbSizer3, 1, wx.EXPAND, 5) gbSizer1.Add(sbSizer2, wx.GBPosition(1, 0), wx.GBSpan(1, 5), wx.EXPAND | wx.TOP | wx.LEFT, 20) self.btn_aceptar = wx.Button(self, wx.ID_OK, u"Aceptar", wx.DefaultPosition, wx.Size(100, 30), 0) self.btn_aceptar.SetFont(wx.Font(11, 70, 90, 92, False, wx.EmptyString)) gbSizer1.Add(self.btn_aceptar, wx.GBPosition(2, 3), wx.GBSpan(1, 1), wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) self.btn_cancelar = wx.Button(self, wx.ID_CANCEL, u"Cancelar", wx.DefaultPosition, wx.Size(100, 30), 0) self.btn_cancelar.SetFont( wx.Font(11, 70, 90, 90, False, wx.EmptyString)) gbSizer1.Add(self.btn_cancelar, wx.GBPosition(2, 4), wx.GBSpan(1, 1), wx.TOP | wx.BOTTOM | wx.LEFT, 20) self.SetSizer(gbSizer1) self.Layout() self.Centre(wx.BOTH)
def arrangeExpanded(self): self.frm.SetSizer(wx.GridBagSizer(vgap=0, hgap=10), deleteOld=True) sz = self.frm.Sizer sz.SetEmptyCellSize(wx.Size(0, 0)) szOpts = [([self.optBox, (0, 0)], { "flag": wx.EXPAND | wx.TOP | wx.BOTTOM | wx.LEFT, "span": wx.GBSpan(2, 1), "border": 5 }), ([self.rewLbl, (0, 1)], { "flag": wx.EXPAND }), ([self.catLbl, (0, 2)], { "flag": wx.EXPAND }), ([self.rulLbl, (0, 3)], { "flag": wx.EXPAND }), ([self.ilxLbl, (0, 4)], { "flag": wx.EXPAND }), ([self.olxLbl, (0, 5)], { "flag": wx.EXPAND }), ([self.rewTxt, (1, 1)], { "flag": wx.EXPAND, "span": (3, 1) }), ([self.catTxt, (1, 2)], { "flag": wx.EXPAND, "span": (3, 1) }), ([self.rulTxt, (1, 3)], { "flag": wx.EXPAND, "span": (3, 1) }), ([self.ilxTxt, (1, 4)], { "flag": wx.EXPAND, "span": (3, 1) }), ([self.olxTxt, (1, 5)], { "flag": wx.EXPAND, "span": (3, 1) }), ([self.appBtn, (3, 0)], { "flag": wx.EXPAND | wx.TOP | wx.BOTTOM | wx.LEFT, "border": 5 })] for args, kwargs in szOpts: sz.Add(*args, **kwargs) for widget in [ self.rewTxt, self.catTxt, self.rulTxt, self.ilxTxt, self.olxTxt ]: widget.SetMinSize(wx.Size(140, 224)) # all columns except the first should resize for c in range(1, 6): sz.AddGrowableCol(c, proportion=1) # rows 2 and 3 should resize sz.AddGrowableRow(2, proportion=2) sz.AddGrowableRow(3, proportion=1) # pack the options into the options panel # use a Sizer inside a Sizer because border self.optBox.SetSizer(wx.BoxSizer()) self.optSiz = wx.BoxSizer(wx.VERTICAL) self.optBox.Sizer.Add(self.optSiz, flag=wx.ALL, border=10) for optWidget in ([wx.Size(0, 5)] + list(self.optBox.GetChildren()) + [wx.Size(0, 5)]): self.optSiz.Add(optWidget, flag=wx.EXPAND | wx.BOTTOM, border=5) szOfmEnt = self.optSiz.GetItem(self.ofmEnt) szOfmEnt.SetFlag(wx.EXPAND | wx.BOTTOM | wx.LEFT | wx.RIGHT) # a bit offset
def __init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.Size(500, 300), style=wx.TAB_TRAVERSAL, name=wx.EmptyString): wx.Panel.__init__(self, parent, id=id, pos=pos, size=size, style=style, name=name) bSizer3 = wx.BoxSizer(wx.VERTICAL) self.m_staticText29 = wx.StaticText(self, wx.ID_ANY, u"Thêm Kho hàng", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText29.Wrap(-1) self.m_staticText29.SetFont( wx.Font(9, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, "Arial")) bSizer3.Add(self.m_staticText29, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5) gbSizer11 = wx.GridBagSizer(0, 0) gbSizer11.SetFlexibleDirection(wx.BOTH) gbSizer11.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.m_staticText30 = wx.StaticText(self, wx.ID_ANY, u"Tên Kho hàng", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText30.Wrap(-1) gbSizer11.Add(self.m_staticText30, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.txt_tenkhohang = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gbSizer11.Add(self.txt_tenkhohang, wx.GBPosition(0, 1), wx.GBSpan(1, 1), wx.ALL, 5) self.m_staticText31 = wx.StaticText(self, wx.ID_ANY, u"Địa chỉ", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText31.Wrap(-1) gbSizer11.Add(self.m_staticText31, wx.GBPosition(1, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.txt_diachi = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gbSizer11.Add(self.txt_diachi, wx.GBPosition(1, 1), wx.GBSpan(1, 1), wx.ALL, 5) self.them_khohang = wx.Button(self, wx.ID_ANY, u"Thêm", wx.DefaultPosition, wx.DefaultSize, 0) gbSizer11.Add(self.them_khohang, wx.GBPosition(2, 0), wx.GBSpan(1, 1), wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5) bSizer3.Add(gbSizer11, 1, wx.EXPAND, 5) self.SetSizer(bSizer3) self.Layout() # Connect Events self.them_khohang.Bind(wx.EVT_BUTTON, self.them_khohang_click)
def __init__(self, parent): # IMPORT SETTING # LOAD DATABASE SETTING FROM CONFIG.txt config = ConfigParser.ConfigParser() config.readfp(open(r'config.txt')) self.Hi = config.get('OneImage Configuration', 'BigValCoordinate') self.Lo = config.get('OneImage Configuration', 'LowValCoordinate') wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString, pos=wx.DefaultPosition, size=wx.Size(336, 315), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) gSizer1 = wx.GridSizer(1, 1, 0, 0) self.Pnl_Cam = wx.Panel(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(-1, -1), wx.TAB_TRAVERSAL) self.Pnl_Cam.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_BTNHIGHLIGHT)) fgSizer1 = wx.FlexGridSizer(3, 1, 0, 0) fgSizer1.SetFlexibleDirection(wx.BOTH) fgSizer1.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.Lbl_Jdl_Cam = wx.StaticText(self.Pnl_Cam, wx.ID_ANY, u"MANUAL ROTATE PROCEDURE", wx.DefaultPosition, wx.DefaultSize, 0) self.Lbl_Jdl_Cam.SetFont(wx.Font(16, 74, 90, 92, False, "Calibri")) self.Lbl_Jdl_Cam.SetBackgroundColour(wx.Colour(255, 255, 128)) self.Lbl_Jdl_Cam.Wrap(-1) fgSizer1.Add(self.Lbl_Jdl_Cam, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5) fgSizer2 = wx.FlexGridSizer(3, 1, 0, 0) fgSizer2.SetFlexibleDirection(wx.BOTH) fgSizer2.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.Lbl_Info_Cam = wx.StaticText( self.Pnl_Cam, wx.ID_ANY, u"*Please see the camera view on the other screen \n" u"*Use RIGHT ARROW TO PLUS \n" u"*Use LEFT ARROW TO MINUS \n", wx.DefaultPosition, wx.DefaultSize, 0) self.Lbl_Info_Cam.Wrap(-1) fgSizer2.Add(self.Lbl_Info_Cam, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5) gSizer6 = wx.GridSizer(0, 2, 0, 0) self.Cmd_Cam_UpSet = wx.Button(self.Pnl_Cam, wx.ID_ANY, u"SET UPPER VALUE", wx.DefaultPosition, wx.DefaultSize, 0) gSizer6.Add(self.Cmd_Cam_UpSet, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5) self.Cmd_Cam_LoSet = wx.Button(self.Pnl_Cam, wx.ID_ANY, u"SET LOWER VALUE", wx.DefaultPosition, wx.DefaultSize, 0) gSizer6.Add(self.Cmd_Cam_LoSet, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5) fgSizer2.Add(gSizer6, 1, wx.EXPAND, 5) fgSizer3 = wx.FlexGridSizer(0, 3, 0, 0) fgSizer3.SetFlexibleDirection(wx.BOTH) fgSizer3.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) gbSizer2 = wx.GridBagSizer(0, 0) gbSizer2.SetFlexibleDirection(wx.BOTH) gbSizer2.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.Lbl_Cam_Plus = wx.StaticText(self.Pnl_Cam, wx.ID_ANY, u"PLUS", wx.DefaultPosition, wx.DefaultSize, 0) self.Lbl_Cam_Plus.Wrap(-1) gbSizer2.Add(self.Lbl_Cam_Plus, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5) self.Cmd_Cam_Plus = wx.Button(self.Pnl_Cam, wx.ID_ANY, u"+", wx.DefaultPosition, wx.DefaultSize, 0) gbSizer2.Add(self.Cmd_Cam_Plus, wx.GBPosition(1, 0), wx.GBSpan(1, 1), wx.ALL, 5) fgSizer3.Add(gbSizer2, 1, wx.EXPAND, 5) gbSizer4 = wx.GridBagSizer(0, 0) gbSizer4.SetFlexibleDirection(wx.BOTH) gbSizer4.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.Lbl_Val_Used = wx.StaticText(self.Pnl_Cam, wx.ID_ANY, u"Value Used", wx.DefaultPosition, wx.DefaultSize, 0) self.Lbl_Val_Used.Wrap(-1) gbSizer4.Add(self.Lbl_Val_Used, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5) Cmb_Cam_ValueChoicess = ['10', '100', '1000'] self.Cmb_Cam_Value = wx.ComboBox(parent=self.Pnl_Cam, id=wx.ID_ANY, value=u"-- Value --", pos=wx.DefaultPosition, size=wx.Size(100, 30), choices=Cmb_Cam_ValueChoicess) gbSizer4.Add(self.Cmb_Cam_Value, wx.GBPosition(1, 0), wx.GBSpan(1, 1), wx.ALL, 5) fgSizer3.Add(gbSizer4, 1, wx.EXPAND, 5) gbSizer5 = wx.GridBagSizer(0, 0) gbSizer5.SetFlexibleDirection(wx.BOTH) gbSizer5.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.Lbl_Cam_Min = wx.StaticText(self.Pnl_Cam, wx.ID_ANY, u"MINUS", wx.DefaultPosition, wx.DefaultSize, 0) self.Lbl_Cam_Min.Wrap(-1) gbSizer5.Add(self.Lbl_Cam_Min, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5) self.Cmd_Cam_Min = wx.Button(self.Pnl_Cam, wx.ID_ANY, u"-", wx.DefaultPosition, wx.DefaultSize, 0) gbSizer5.Add(self.Cmd_Cam_Min, wx.GBPosition(1, 0), wx.GBSpan(1, 1), wx.ALL, 5) fgSizer3.Add(gbSizer5, 1, wx.EXPAND, 5) fgSizer2.Add(fgSizer3, 1, wx.EXPAND, 5) fgSizer1.Add(fgSizer2, 1, wx.EXPAND, 5) gSizer3 = wx.GridSizer(1, 2, 0, 0) self.Cmd_Cam_Confirm = wx.Button(self.Pnl_Cam, wx.ID_ANY, u"Confirm", wx.DefaultPosition, wx.DefaultSize, 0) gSizer3.Add(self.Cmd_Cam_Confirm, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5) self.Cmd_Cam_Exit = wx.Button(self.Pnl_Cam, wx.ID_ANY, u"EXIT", wx.DefaultPosition, wx.DefaultSize, 0) gSizer3.Add(self.Cmd_Cam_Exit, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5) fgSizer1.Add(gSizer3, 1, wx.EXPAND, 5) self.Pnl_Cam.SetSizer(fgSizer1) self.Pnl_Cam.Layout() fgSizer1.Fit(self.Pnl_Cam) gSizer1.Add(self.Pnl_Cam, 1, wx.EXPAND | wx.ALL, 5) self.SetSizer(gSizer1) self.Layout() self.Centre(wx.BOTH) #self.SetWindowStyle(wx.STAY_ON_TOP) self.Show() # Connect Events self.Cmd_Cam_UpSet.Bind(wx.EVT_BUTTON, lambda x: self.CamPulseGO(3)) self.Cmd_Cam_LoSet.Bind(wx.EVT_BUTTON, lambda x: self.CamPulseGO(4)) self.Cmd_Cam_Plus.Bind(wx.EVT_BUTTON, lambda x: self.CamPulseGO(1)) self.Cmd_Cam_Min.Bind(wx.EVT_BUTTON, lambda x: self.CamPulseGO(2)) self.Cmd_Cam_Confirm.Bind(wx.EVT_BUTTON, lambda x: self.CamFrameAct(1)) self.Cmd_Cam_Exit.Bind(wx.EVT_BUTTON, lambda x: self.CamFrameAct(2))
def create_widgets(self, parent, title): """ Create GUI widgets """ wx.Frame.__init__(self, parent, title=title, size=(500, 400)) self.parser = None self.SetIcon(wx.Icon("icon.png")) self.SetMinSize(wx.Size(420, 420)) self.SetMaxSize(wx.Size(700, 100000)) outer_sizer = wx.BoxSizer(wx.VERTICAL) # ---------- START OF SETTINGS PANE ---------- # # Settings pane, with labels on left and controls on right self.settings_frame = wx.Panel(self) settings_sizer = wx.GridBagSizer(vgap=0, hgap=0) # Sizer flags and args, with standard spacing to avoid repeating # them everywhere setting_sizer_args = dict(flag=wx.EXPAND | wx.ALL, border=10) # Browser selection label_browser_choice = wx.StaticText(self.settings_frame, label="Browser and Version", style=wx.ALIGN_LEFT) # Use this to force a width of the label column label_browser_choice.SetMinSize((LABEL_COLUMN_WIDTH, 0)) settings_sizer.Add(label_browser_choice, wx.GBPosition(0, 0), **setting_sizer_args) # Browser/version dropdown self.setting_browser_choice = wx.Choice( self.settings_frame, choices=["Firefox v3+", "CSV file"]) self.setting_browser_choice.SetSelection(0) self.setting_browser_choice.Bind(wx.EVT_CHOICE, self.on_select_browser) settings_sizer.Add(self.setting_browser_choice, wx.GBPosition(0, 1), **setting_sizer_args) # Browser-specific instructions self.browser_instructions = wx.TextCtrl(self.settings_frame, value="", style=TEXTCTRL_DISPLAY_STYLES, size=(-1, 100)) settings_sizer.Add(self.browser_instructions, wx.GBPosition(1, 0), wx.GBSpan(1, 2), **setting_sizer_args) settings_sizer.AddGrowableRow(1) # File selection label_file_input = wx.StaticText(self.settings_frame, label="Input File", style=wx.ALIGN_LEFT) settings_sizer.Add(label_file_input, wx.GBPosition(2, 0), **setting_sizer_args) setting_file_input_container = wx.Panel(self.settings_frame) setting_file_input_container_sizer = wx.GridBagSizer(vgap=0, hgap=10) self.setting_file_input = wx.TextCtrl(setting_file_input_container, value="") self.setting_file_input_browse = wx.Button( setting_file_input_container, label="Browse") self.setting_file_input_browse.Bind(wx.EVT_BUTTON, self.on_browse_path) # Browse path and button together setting_file_input_container_sizer.Add(self.setting_file_input, wx.GBPosition(0, 0), flag=wx.EXPAND | wx.HORIZONTAL) setting_file_input_container_sizer.Add(self.setting_file_input_browse, wx.GBPosition(0, 1)) # Allow the input textbox to expand setting_file_input_container_sizer.AddGrowableCol(0) setting_file_input_container.SetSizer( setting_file_input_container_sizer) settings_sizer.Add(setting_file_input_container, wx.GBPosition(2, 1), **setting_sizer_args) # Submit button self.setting_process = wx.Button(self.settings_frame, label="Process") settings_sizer.Add(self.setting_process, wx.GBPosition(3, 0), wx.GBSpan(1, 2), **setting_sizer_args) self.setting_process.Bind(wx.EVT_BUTTON, self.on_process) settings_sizer.AddGrowableCol(1) self.settings_frame.SetSizer(settings_sizer) outer_sizer.Add(self.settings_frame, wx.SizerFlags().Expand()) # ---------- END OF SETTINGS PANE ---------- # separator = wx.StaticLine(self, style=wx.LI_HORIZONTAL) outer_sizer.Add(separator, wx.SizerFlags().Expand()) # ---------- START OF OUTPUT PANE ---------- # # Output viewing self.output_frame = wx.Panel(self) output_sizer = wx.GridBagSizer(vgap=0, hgap=0) # Convert to .csv button self.setting_csv_button = wx.Button(self.output_frame, label="Output to .csv") output_sizer.Add(self.setting_csv_button, wx.GBPosition(0, 0), wx.GBSpan(1, 2), **setting_sizer_args) self.setting_csv_button.Bind(wx.EVT_BUTTON, self.on_export_csv) # Label for the domain to view label_view_domain = wx.StaticText(self.output_frame, label="Domain", style=wx.ALIGN_LEFT) # Forces the width of the label column label_view_domain.SetMinSize((LABEL_COLUMN_WIDTH, 0)) output_sizer.Add(label_view_domain, wx.GBPosition(1, 0), **setting_sizer_args) # Combobox for the setting for the domain to view self.setting_view_domain = wx.ComboBox(self.output_frame, choices=[]) self.setting_view_domain.Bind(wx.EVT_COMBOBOX, self.on_select_domain) output_sizer.Add(self.setting_view_domain, wx.GBPosition(1, 1), **setting_sizer_args) # Textbox which displays the output of the domain info self.domain_info = wx.TextCtrl(self.output_frame, value="", style=TEXTCTRL_DISPLAY_STYLES, size=(-1, 200)) output_sizer.Add(self.domain_info, wx.GBPosition(2, 0), wx.GBSpan(1, 2), **setting_sizer_args) self.output_frame.SetSizer(output_sizer) outer_sizer.Add(self.output_frame, 1, wx.EXPAND | wx.ALL) # Hints to user that output controls cannot be used until file is opened self.output_frame.Enable(False) output_sizer.AddGrowableCol(1) # ---------- END OF OUTPUT PANE ---------- # self.SetSizer(outer_sizer) self.status_bar = self.CreateStatusBar( ) # A StatusBar in the bottom of the window self.status_bar.SetStatusText('Ready') # Setting up the menu. filemenu = wx.Menu() # wx.ID_ABOUT and wx.ID_EXIT are standard ids provided by wxWidgets. menu_about = filemenu.Append(wx.ID_ABOUT, "&About", " Information about this program") menu_exit = filemenu.Append(wx.ID_EXIT, "E&xit", " Terminate the program") # Creating the menu_bar. menu_bar = wx.MenuBar() menu_bar.Append(filemenu, "&File") self.SetMenuBar(menu_bar) # Set events. self.Bind(wx.EVT_MENU, self.on_about, menu_about) self.Bind(wx.EVT_MENU, self.on_exit, menu_exit) self.Show(True) # Initialise the browser instruction text to the current selection self.update_browser()
def __init__(self, parent): wx.Dialog.__init__(self, parent, id=wx.ID_ANY, title=u"dcd文件生成工具", pos=wx.DefaultPosition, size=wx.Size(644, 366), style=wx.DEFAULT_DIALOG_STYLE) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) gbSizer1 = wx.GridBagSizer(9, 4) gbSizer1.SetFlexibleDirection(wx.BOTH) gbSizer1.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.m_button_browse_dcd_cfg_file = wx.Button(self, wx.ID_ANY, u"浏览...", wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.m_button_browse_dcd_cfg_file, wx.GBPosition(1, 3), wx.GBSpan(1, 1), wx.ALL, 5) self.m_button_brow_save_dcd_file = wx.Button(self, wx.ID_ANY, u"浏览...", wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.m_button_brow_save_dcd_file, wx.GBPosition(3, 3), wx.GBSpan(1, 1), wx.ALL, 5) self.m_staticText_sel_dcd_cfg_file = wx.StaticText( self, wx.ID_ANY, u"请选择dcd配置文件:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_sel_dcd_cfg_file.Wrap(-1) gbSizer1.Add(self.m_staticText_sel_dcd_cfg_file, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.m_staticText_dcd_file = wx.StaticText(self, wx.ID_ANY, u"请选择要生成的dcd文件路径:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_dcd_file.Wrap(-1) gbSizer1.Add(self.m_staticText_dcd_file, wx.GBPosition(2, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.m_button_mk_dcd = wx.Button(self, wx.ID_ANY, u"生成", wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.m_button_mk_dcd, wx.GBPosition(4, 0), wx.GBSpan(1, 4), wx.ALL | wx.EXPAND, 5) self.m_staticText_space_r0_c1 = wx.StaticText(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_space_r0_c1.Wrap(-1) self.m_staticText_space_r0_c1.SetMinSize(wx.Size(250, -1)) gbSizer1.Add(self.m_staticText_space_r0_c1, wx.GBPosition(0, 1), wx.GBSpan(1, 1), wx.ALL, 5) self.m_staticText_space_r2_c1 = wx.StaticText(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_space_r2_c1.Wrap(-1) gbSizer1.Add(self.m_staticText_space_r2_c1, wx.GBPosition(2, 1), wx.GBSpan(1, 1), wx.ALL, 5) self.m_staticText_space_r0_c3 = wx.StaticText(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_space_r0_c3.Wrap(-1) gbSizer1.Add(self.m_staticText_space_r0_c3, wx.GBPosition(0, 3), wx.GBSpan(1, 1), wx.ALL, 5) self.m_staticText_space_r0_c2 = wx.StaticText(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_space_r0_c2.Wrap(-1) gbSizer1.Add(self.m_staticText_space_r0_c2, wx.GBPosition(0, 2), wx.GBSpan(1, 1), wx.ALL, 5) self.m_staticText_space_r2_c2 = wx.StaticText(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_space_r2_c2.Wrap(-1) gbSizer1.Add(self.m_staticText_space_r2_c2, wx.GBPosition(2, 2), wx.GBSpan(1, 1), wx.ALL, 5) self.m_textCtrl_dcd_cfg_file = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_READONLY) gbSizer1.Add(self.m_textCtrl_dcd_cfg_file, wx.GBPosition(1, 0), wx.GBSpan(1, 2), wx.ALL | wx.EXPAND, 5) self.m_textCtrl_dcd_file = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_READONLY) gbSizer1.Add(self.m_textCtrl_dcd_file, wx.GBPosition(3, 0), wx.GBSpan(1, 2), wx.ALL | wx.EXPAND, 5) self.m_staticText_log = wx.StaticText(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 | wx.STATIC_BORDER) self.m_staticText_log.Wrap(-1) gbSizer1.Add(self.m_staticText_log, wx.GBPosition(5, 0), wx.GBSpan(4, 4), wx.EXPAND | wx.ALL, 5) self.SetSizer(gbSizer1) self.Layout() self.Centre(wx.BOTH) # Connect Events self.m_button_browse_dcd_cfg_file.Bind( wx.EVT_BUTTON, self.OnButtonClickBrowseDCDCfgFile) self.m_button_brow_save_dcd_file.Bind(wx.EVT_BUTTON, self.OnButtonClickBrowseDCDFile) self.m_button_mk_dcd.Bind(wx.EVT_BUTTON, self.OnButtonClickMkDCDFile)
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=u"入库管理", pos=wx.DefaultPosition, size=wx.Size(479, 312), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) bSizer2 = wx.BoxSizer(wx.VERTICAL) gbSizer1 = wx.GridBagSizer(0, 0) gbSizer1.SetFlexibleDirection(wx.BOTH) gbSizer1.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.m_textCtrl2 = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(150, 30), 0) gbSizer1.Add(self.m_textCtrl2, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.预入库 = wx.Button(self, wx.ID_ANY, u"预入库", wx.DefaultPosition, wx.DefaultSize, 0) self.预入库.SetDefault() gbSizer1.Add(self.预入库, wx.GBPosition(0, 1), wx.GBSpan(1, 1), wx.ALL, 5) self.m_bpButton1 = wx.BitmapButton(self, wx.ID_ANY, wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize, wx.BU_AUTODRAW | 0) gbSizer1.Add(self.m_bpButton1, wx.GBPosition(0, 2), wx.GBSpan(1, 1), wx.ALL, 5) self.m_bpButton3 = wx.BitmapButton(self, wx.ID_ANY, wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize, wx.BU_AUTODRAW | 0) gbSizer1.Add(self.m_bpButton3, wx.GBPosition(0, 4), wx.GBSpan(1, 1), wx.ALL, 5) self.m_bpButton2 = wx.BitmapButton(self, wx.ID_ANY, wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize, wx.BU_AUTODRAW | 0) gbSizer1.Add(self.m_bpButton2, wx.GBPosition(0, 3), wx.GBSpan(1, 1), wx.ALL, 5) bSizer2.Add(gbSizer1, 1, wx.EXPAND, 5) self.预入库明细 = wx.grid.Grid(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) # Grid self.预入库明细.CreateGrid(9, 5) self.预入库明细.EnableEditing(False) self.预入库明细.EnableGridLines(True) self.预入库明细.SetGridLineColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_SCROLLBAR)) self.预入库明细.EnableDragGridSize(False) self.预入库明细.SetMargins(0, 0) # Columns self.预入库明细.EnableDragColMove(False) self.预入库明细.EnableDragColSize(True) self.预入库明细.SetColLabelSize(30) self.预入库明细.SetColLabelAlignment(wx.ALIGN_CENTER, wx.ALIGN_CENTER) # Rows self.预入库明细.EnableDragRowSize(True) self.预入库明细.SetRowLabelSize(50) self.预入库明细.SetRowLabelAlignment(wx.ALIGN_CENTER, wx.ALIGN_CENTER) # Label Appearance # Cell Defaults self.预入库明细.SetDefaultCellAlignment(wx.ALIGN_LEFT, wx.ALIGN_TOP) bSizer2.Add(self.预入库明细, 0, wx.ALL, 5) self.预入库明细.SetCellValue() self.SetSizer(bSizer2) self.Layout() self.Centre(wx.BOTH)
def __init__(self, parent): """Constructor""" wx.Panel.__init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.Size(-1, -1), style=wx.TAB_TRAVERSAL) # 定一个网格布局,两行一列 gbSizer1 = wx.GridBagSizer(0, 0) gbSizer1.SetFlexibleDirection(wx.BOTH) gbSizer1.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) # 生成一个列表 self.booknamelist = wx.ListCtrl(self, -1, size=(-1, 600), style=wx.LC_REPORT | wx.LC_HRULES | wx.LC_VRULES) # | wx.LC_SINGLE_SEL # 列表有散列,分别是书本ID,书名,添加日期 self.booknamelist.InsertColumn(0, "书名") self.chapterlist = wx.ListCtrl(self, -1, size=(-1, 600), name="最新章节", style=wx.LC_REPORT | wx.LC_HRULES | wx.LC_VRULES) # | wx.LC_SINGLE_SEL self.chapterlist.InsertColumn(0, "最新章节") self.isupdatalist = wx.ListCtrl(self, -1, size=(-1, 600), style=wx.LC_REPORT | wx.LC_HRULES | wx.LC_VRULES) # | wx.LC_SINGLE_SEL self.isupdatalist.InsertColumn(0, "是否更新") # 设置各列的宽度 self.booknamelist.SetColumnWidth(0, 100) # 设置每一列的宽度 self.chapterlist.SetColumnWidth(0, 230) self.isupdatalist.SetColumnWidth(0, 92) gbSizer1.AddMany([(self.booknamelist, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.ALL, 5), (self.chapterlist, wx.GBPosition(0, 1), wx.GBSpan(1, 1), wx.ALL, 5), (self.isupdatalist, wx.GBPosition(0, 2), wx.GBSpan(1, 1), wx.ALL, 5) ]) self.SetSizer(gbSizer1) self.parent123 = self.GetParent() self.BookShelfInfo = GetBookShelfInfo(GetWebCon(web_BookShelf)) bookin = [] for i in range(len(self.BookShelfInfo[0])): bookin.append( [list(self.BookShelfInfo[0].keys())[i], list(self.BookShelfInfo[1].keys())[i], self.BookShelfInfo[2][i], self.BookShelfInfo[3][i]]) for i in range(len(self.BookShelfInfo[0])): self.booknamelist.InsertItem(self.booknamelist.GetItemCount(), list(self.BookShelfInfo[0].keys())[i]) self.chapterlist.InsertItem(self.chapterlist.GetItemCount(), list(self.BookShelfInfo[1].keys())[i]) self.isupdatalist.InsertItem(self.isupdatalist.GetItemCount(), str(self.BookShelfInfo[3][i])) self.Layout() # 文件操作 fo = open("Marks.txt", "w") for numData in range(len(self.BookShelfInfo[0])): fo.write(bookin[numData][0] + "-" + bookin[numData][1] + "-" + bookin[numData][2] + "-" + str( bookin[numData][3]) + "\n") fo.close() # 把章节存到文件中 for idBook in list(self.BookShelfInfo[0].values()): pathBook="./books/"+str(idBook)+".txt" fBook=open(pathBook,"r") size = os.path.getsize(pathBook) if size == 0: print('文件是空的') fBook = open(pathBook, "w") dictChapters = GetMulu2(str(idBook)) Chapters = list(dictChapters.keys()) idchapter = list(dictChapters.values()) for numChapter in range(len(Chapters)): fBook.write(Chapters[len(Chapters)-numChapter]+"-"+idchapter[len(Chapters)-numChapter]+"\n") else: lineChapters = fBook.readlines() arry_chapters = lineChapters[0].split("-") updataChapter=list(self.BookShelfInfo[1].keys())[list(self.BookShelfInfo[0].values()).index(str(idBook))] if arry_chapters[0]!=updataChapter: fBook = open(pathBook, "a+") fBook.write(updataChapter + "-" + self.BookShelfInfo[1][updataChapter] + "\n") fBook.close() # Connect Events self.booknamelist.Bind(wx.EVT_LIST_ITEM_SELECTED, self.GoBookInfo) self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OpenAtricle1, self.chapterlist) self.chapterlist.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OpenAtricle1)
def __init__(self, parent): wx.Panel.__init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.Size(720, 190), style=wx.TAB_TRAVERSAL) self.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHTTEXT)) gbSizer1 = wx.GridBagSizer(0, 0) gbSizer1.SetFlexibleDirection(wx.BOTH) gbSizer1.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.btn_ingresos = wx.Button(self, wx.ID_ANY, u"Ingresos varios", wx.DefaultPosition, wx.DefaultSize, 0) self.btn_ingresos.SetFont( wx.Font(wx.NORMAL_FONT.GetPointSize(), 70, 90, 92, False, wx.EmptyString)) gbSizer1.Add(self.btn_ingresos, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.btn_egresos = wx.Button(self, wx.ID_ANY, u"Egresos varios", wx.DefaultPosition, wx.DefaultSize, 0) self.btn_egresos.SetFont( wx.Font(wx.NORMAL_FONT.GetPointSize(), 70, 90, 92, False, wx.EmptyString)) gbSizer1.Add(self.btn_egresos, wx.GBPosition(0, 1), wx.GBSpan(1, 1), wx.ALL, 5) self.grilla_dos = wx.grid.Grid(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(670, 135), 0) # Grid self.grilla_dos.CreateGrid(0, 3) self.grilla_dos.EnableEditing(True) self.grilla_dos.EnableGridLines(True) self.grilla_dos.EnableDragGridSize(False) self.grilla_dos.SetMargins(0, 0) # Columns self.grilla_dos.SetColSize(0, 120) self.grilla_dos.SetColSize(1, 80) self.grilla_dos.SetColSize(2, 400) self.grilla_dos.EnableDragColMove(False) self.grilla_dos.EnableDragColSize(True) self.grilla_dos.SetColLabelSize(30) self.grilla_dos.SetColLabelValue(0, u"Tipo") self.grilla_dos.SetColLabelValue(1, u"Monto") self.grilla_dos.SetColLabelValue(2, u"Concepto") self.grilla_dos.SetColLabelAlignment(wx.ALIGN_CENTRE, wx.ALIGN_CENTRE) # Rows self.grilla_dos.AutoSizeRows() self.grilla_dos.EnableDragRowSize(True) self.grilla_dos.SetRowLabelSize(50) self.grilla_dos.SetRowLabelAlignment(wx.ALIGN_CENTRE, wx.ALIGN_CENTRE) # Label Appearance # Cell Defaults self.grilla_dos.SetDefaultCellAlignment(wx.ALIGN_CENTRE, wx.ALIGN_TOP) gbSizer1.Add(self.grilla_dos, wx.GBPosition(1, 0), wx.GBSpan(1, 6), wx.ALL, 5) self.SetSizer(gbSizer1) self.Layout()
def __init__( self, parent ): wx.Dialog.__init__ ( self, parent, id = wx.ID_ANY, title = u"Datos del cliente", pos = wx.DefaultPosition, size = wx.Size( 715,411 ), style = wx.DEFAULT_DIALOG_STYLE ) self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize ) gbSizer1 = wx.GridBagSizer( 0, 0 ) gbSizer1.SetFlexibleDirection( wx.BOTH ) gbSizer1.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED ) sbSizer1 = wx.StaticBoxSizer( wx.StaticBox( self, wx.ID_ANY, wx.EmptyString ), wx.VERTICAL ) gbSizer2 = wx.GridBagSizer( 0, 0 ) gbSizer2.SetFlexibleDirection( wx.BOTH ) gbSizer2.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED ) self.m_staticText1 = wx.StaticText( self, wx.ID_ANY, u"Código", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText1.Wrap( -1 ) gbSizer2.Add( self.m_staticText1, wx.GBPosition( 0, 0 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT, 5 ) self.tc_codigo = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_READONLY ) gbSizer2.Add( self.tc_codigo, wx.GBPosition( 0, 1 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 ) self.m_staticText2 = wx.StaticText( self, wx.ID_ANY, u"Sección", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText2.Wrap( -1 ) gbSizer2.Add( self.m_staticText2, wx.GBPosition( 0, 2 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.tc_seccion = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_READONLY ) gbSizer2.Add( self.tc_seccion, wx.GBPosition( 0, 3 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 ) self.m_staticText3 = wx.StaticText( self, wx.ID_ANY, u"Zona", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText3.Wrap( -1 ) gbSizer2.Add( self.m_staticText3, wx.GBPosition( 0, 4 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.tc_zona = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_READONLY ) gbSizer2.Add( self.tc_zona, wx.GBPosition( 0, 5 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 ) self.m_staticText4 = wx.StaticText( self, wx.ID_ANY, u"Apellido y nombres", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText4.Wrap( -1 ) gbSizer2.Add( self.m_staticText4, wx.GBPosition( 1, 0 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 ) self.tc_apenom = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 250,-1 ), wx.TE_READONLY ) gbSizer2.Add( self.tc_apenom, wx.GBPosition( 1, 1 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 ) self.grilla = wx.grid.Grid( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 300,110 ), 0 ) # Grid self.grilla.CreateGrid( 0, 2 ) self.grilla.EnableEditing( False ) self.grilla.EnableGridLines( True ) self.grilla.EnableDragGridSize( False ) self.grilla.SetMargins( 0, 0 ) # Columns self.grilla.SetColSize( 0, 180 ) self.grilla.SetColSize( 1, 105 ) self.grilla.EnableDragColMove( False ) self.grilla.EnableDragColSize( True ) self.grilla.SetColLabelSize( 30 ) self.grilla.SetColLabelValue( 0, u"Telefono" ) self.grilla.SetColLabelValue( 1, u"Tipo" ) self.grilla.SetColLabelAlignment( wx.ALIGN_CENTRE, wx.ALIGN_CENTRE ) # Rows self.grilla.EnableDragRowSize( True ) self.grilla.SetRowLabelSize( 1 ) self.grilla.SetRowLabelValue( 0, u"." ) self.grilla.SetRowLabelValue( 1, u"." ) self.grilla.SetRowLabelValue( 2, u"." ) self.grilla.SetRowLabelValue( 3, u"." ) self.grilla.SetRowLabelValue( 4, u"." ) self.grilla.SetRowLabelAlignment( wx.ALIGN_CENTRE, wx.ALIGN_CENTRE ) # Label Appearance # Cell Defaults self.grilla.SetDefaultCellAlignment( wx.ALIGN_LEFT, wx.ALIGN_TOP ) gbSizer2.Add( self.grilla, wx.GBPosition( 1, 2 ), wx.GBSpan( 4, 4 ), wx.ALL, 5 ) self.m_staticText8 = wx.StaticText( self, wx.ID_ANY, u"Comentarios", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText8.Wrap( -1 ) gbSizer2.Add( self.m_staticText8, wx.GBPosition( 6, 0 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.ALIGN_RIGHT, 5 ) self.tc_descripcion = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 555,100 ), wx.TE_MULTILINE|wx.TE_READONLY ) self.tc_descripcion.SetMaxLength( 700 ) gbSizer2.Add( self.tc_descripcion, wx.GBPosition( 6, 1 ), wx.GBSpan( 1, 5 ), wx.ALL, 5 ) self.m_staticText5 = wx.StaticText( self, wx.ID_ANY, u"Domicilio", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText5.Wrap( -1 ) gbSizer2.Add( self.m_staticText5, wx.GBPosition( 2, 0 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT, 5 ) self.tc_domicilio = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 250,-1 ), wx.TE_READONLY ) gbSizer2.Add( self.tc_domicilio, wx.GBPosition( 2, 1 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 ) self.m_staticText6 = wx.StaticText( self, wx.ID_ANY, u"Barrio", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText6.Wrap( -1 ) gbSizer2.Add( self.m_staticText6, wx.GBPosition( 3, 0 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT, 5 ) self.tc_barrio = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 250,-1 ), wx.TE_READONLY ) gbSizer2.Add( self.tc_barrio, wx.GBPosition( 3, 1 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 ) self.m_staticText7 = wx.StaticText( self, wx.ID_ANY, u"Localidad", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText7.Wrap( -1 ) gbSizer2.Add( self.m_staticText7, wx.GBPosition( 4, 0 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT, 5 ) self.tc_localidad = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 250,-1 ), wx.TE_READONLY ) gbSizer2.Add( self.tc_localidad, wx.GBPosition( 4, 1 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 ) self.m_staticText9 = wx.StaticText( self, wx.ID_ANY, u"Fecha de alta", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText9.Wrap( -1 ) gbSizer2.Add( self.m_staticText9, wx.GBPosition( 5, 0 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL, 5 ) self.tc_alta = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_CENTRE|wx.TE_READONLY ) gbSizer2.Add( self.tc_alta, wx.GBPosition( 5, 1 ), wx.GBSpan( 1, 1 ), wx.ALL, 5 ) sbSizer1.Add( gbSizer2, 1, wx.EXPAND, 5 ) gbSizer1.Add( sbSizer1, wx.GBPosition( 0, 0 ), wx.GBSpan( 1, 1 ), wx.EXPAND|wx.ALL, 10 ) self.btn_volver = wx.Button( self, wx.ID_ANY, u"Volver", wx.DefaultPosition, wx.DefaultSize, 0 ) gbSizer1.Add( self.btn_volver, wx.GBPosition( 1, 0 ), wx.GBSpan( 1, 1 ), wx.ALL|wx.ALIGN_RIGHT, 5 ) self.SetSizer( gbSizer1 ) self.Layout() self.Centre( wx.BOTH )
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString, pos=wx.DefaultPosition, size=wx.Size(500, 520), style=wx.CAPTION | wx.CLOSE_BOX | wx.RESIZE_BORDER | wx.SYSTEM_MENU | wx.TAB_TRAVERSAL) self.SetSizeHintsSz(wx.Size(500, -1), wx.DefaultSize) mainSizer = wx.BoxSizer(wx.VERTICAL) self.mainPanel = wx.Panel(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) mainPanelSizer = wx.BoxSizer(wx.VERTICAL) optionsSizer = wx.BoxSizer(wx.VERTICAL) self.m_staticText2 = wx.StaticText(self.mainPanel, wx.ID_ANY, u"Log Files to Calculate:", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTRE) self.m_staticText2.Wrap(-1) optionsSizer.Add(self.m_staticText2, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5) self.LogFileListCtrl = wx.ListCtrl(self.mainPanel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LC_LIST) optionsSizer.Add(self.LogFileListCtrl, 1, wx.ALL | wx.EXPAND, 5) mainPanelSizer.Add(optionsSizer, 0, wx.ALL | wx.EXPAND, 5) bSizer5 = wx.BoxSizer(wx.VERTICAL) self.lblResults = wx.StaticText(self.mainPanel, wx.ID_ANY, u"Results:", wx.DefaultPosition, wx.DefaultSize, 0) self.lblResults.Wrap(-1) bSizer5.Add(self.lblResults, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5) bSizer81 = wx.BoxSizer(wx.VERTICAL) self.displaySummaryListCtrl = wx.ListCtrl( self.mainPanel, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LC_HRULES | wx.LC_REPORT | wx.LC_VRULES) bSizer81.Add(self.displaySummaryListCtrl, 1, wx.ALL | wx.EXPAND, 5) bSizer5.Add(bSizer81, 1, wx.EXPAND, 5) bSizer7 = wx.BoxSizer(wx.HORIZONTAL) gbSizer1 = wx.GridBagSizer(0, 0) gbSizer1.SetFlexibleDirection(wx.BOTH) gbSizer1.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.calcButton = wx.Button(self.mainPanel, wx.ID_ANY, u"Calculate", wx.DefaultPosition, wx.DefaultSize, 0) self.calcButton.SetDefault() gbSizer1.Add(self.calcButton, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.ALL, 5) bSizer7.Add(gbSizer1, 1, wx.EXPAND, 5) self.clearButton = wx.Button(self.mainPanel, wx.ID_ANY, u"Clear", wx.DefaultPosition, wx.DefaultSize, 0) bSizer7.Add(self.clearButton, 0, wx.ALL, 5) bSizer5.Add(bSizer7, 0, wx.ALL | wx.EXPAND, 5) mainPanelSizer.Add(bSizer5, 1, wx.ALL | wx.EXPAND, 5) self.mainPanel.SetSizer(mainPanelSizer) self.mainPanel.Layout() mainPanelSizer.Fit(self.mainPanel) mainSizer.Add(self.mainPanel, 1, wx.EXPAND, 5) self.SetSizer(mainSizer) self.Layout() self.m_menubar1 = wx.MenuBar(0) self.menuFile = wx.Menu() self.menuAdd = wx.MenuItem(self.menuFile, wx.ID_ANY, u"Add Files...", wx.EmptyString, wx.ITEM_NORMAL) self.menuFile.AppendItem(self.menuAdd) self.menuExport = wx.MenuItem(self.menuFile, wx.ID_ANY, u"Export to Excel...", wx.EmptyString, wx.ITEM_NORMAL) self.menuFile.AppendItem(self.menuExport) self.menuExit = wx.MenuItem(self.menuFile, wx.ID_ANY, u"&Exit", wx.EmptyString, wx.ITEM_NORMAL) self.menuFile.AppendItem(self.menuExit) self.m_menubar1.Append(self.menuFile, u"File") self.SetMenuBar(self.m_menubar1) self.m_statusBar1 = self.CreateStatusBar(1, wx.ST_SIZEGRIP, wx.ID_ANY) self.Centre(wx.BOTH)
def __init__(self, parent): wx.Panel.__init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.Size(500, 300), style=wx.TAB_TRAVERSAL) gbSizer15 = wx.GridBagSizer(0, 0) gbSizer15.SetFlexibleDirection(wx.BOTH) gbSizer15.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.m_staticText131 = wx.StaticText(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText131.Wrap(-1) gbSizer15.Add(self.m_staticText131, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.m_staticText132 = wx.StaticText(self, wx.ID_ANY, u"Tiêu Đề", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText132.Wrap(-1) gbSizer15.Add(self.m_staticText132, wx.GBPosition(1, 1), wx.GBSpan(1, 1), wx.ALL, 5) self.m_txtTieuDe = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(300, -1), 0) gbSizer15.Add(self.m_txtTieuDe, wx.GBPosition(1, 2), wx.GBSpan(1, 1), wx.ALL, 5) self.m_staticText134 = wx.StaticText(self, wx.ID_ANY, u"Nội Dung", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText134.Wrap(-1) gbSizer15.Add(self.m_staticText134, wx.GBPosition(2, 1), wx.GBSpan(1, 1), wx.ALL, 5) self.m_staticText134 = wx.StaticText(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText134.Wrap(-1) gbSizer15.Add(self.m_staticText134, wx.GBPosition(3, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.m_txtNoiDung = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gbSizer15.Add(self.m_txtNoiDung, wx.GBPosition(3, 1), wx.GBSpan(5, 4), wx.ALL | wx.EXPAND | wx.ALIGN_CENTER_HORIZONTAL, 5) self.m_staticText135 = wx.StaticText(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText135.Wrap(-1) gbSizer15.Add(self.m_staticText135, wx.GBPosition(4, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.m_staticText136 = wx.StaticText(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText136.Wrap(-1) gbSizer15.Add(self.m_staticText136, wx.GBPosition(5, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.m_staticText137 = wx.StaticText(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText137.Wrap(-1) gbSizer15.Add(self.m_staticText137, wx.GBPosition(6, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.m_staticText138 = wx.StaticText(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(35, -1), 0) self.m_staticText138.Wrap(-1) gbSizer15.Add(self.m_staticText138, wx.GBPosition(7, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.m_btnGui = wx.Button(self, wx.ID_ANY, u"Gửi", wx.DefaultPosition, wx.DefaultSize, 0) gbSizer15.Add(self.m_btnGui, wx.GBPosition(8, 1), wx.GBSpan(1, 2), wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5) self.SetSizer(gbSizer15) self.Layout() # Connect Events self.m_btnGui.Bind(wx.EVT_BUTTON, self.m_btnGui_click)
def test_gbsizer_span1(self): s1 = wx.GBSpan() s2 = wx.GBSpan(1, 2) s3 = wx.GBSpan(s2) s4 = wx.GBSpan((2, 1))
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=u"Client Contact", pos=wx.DefaultPosition, size=wx.Size(-1, -1), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) bSizer2 = wx.BoxSizer(wx.VERTICAL) self.m_panel2 = wx.Panel(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) gbSizer1 = wx.GridBagSizer(0, 0) gbSizer1.SetFlexibleDirection(wx.BOTH) gbSizer1.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.textContactType = wx.StaticText(self.m_panel2, wx.ID_ANY, u"Contact type:", wx.DefaultPosition, wx.DefaultSize, 0) self.textContactType.Wrap(-1) gbSizer1.Add(self.textContactType, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.ALL | wx.ALIGN_RIGHT, 5) combo_contact_typeChoices = [ u"Phone call", u"Voicemail", u"Email", u"Office visit", u"Letter" ] self.combo_contact_type = wx.ComboBox(self.m_panel2, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, combo_contact_typeChoices, 0) gbSizer1.Add(self.combo_contact_type, wx.GBPosition(0, 1), wx.GBSpan(1, 1), wx.ALL | wx.EXPAND, 5) choice_contact_dirChoices = [u"from", u"to"] self.choice_contact_dir = wx.Choice(self.m_panel2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, choice_contact_dirChoices, 0) self.choice_contact_dir.SetSelection(0) gbSizer1.Add(self.choice_contact_dir, wx.GBPosition(0, 2), wx.GBSpan(1, 1), wx.ALL | wx.EXPAND, 5) combo_contact_personChoices = [ u"Client", u"AREP", u"Non-AREP", u"SWKR", u"Facility", u"Employer", u"Landlord", u"Utility Company" ] self.combo_contact_person = wx.ComboBox(self.m_panel2, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, combo_contact_personChoices, 0) gbSizer1.Add(self.combo_contact_person, wx.GBPosition(0, 3), wx.GBSpan(1, 1), wx.ALL | wx.EXPAND, 5) self.text_regarding = wx.StaticText(self.m_panel2, wx.ID_ANY, u"Re:", wx.DefaultPosition, wx.DefaultSize, 0) self.text_regarding.Wrap(-1) gbSizer1.Add(self.text_regarding, wx.GBPosition(1, 0), wx.GBSpan(1, 1), wx.ALL | wx.ALIGN_RIGHT, 5) self.editbox_regarding = wx.TextCtrl(self.m_panel2, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.editbox_regarding, wx.GBPosition(1, 1), wx.GBSpan(1, 3), wx.ALL | wx.EXPAND, 5) self.text_PhonteNumber = wx.StaticText(self.m_panel2, wx.ID_ANY, u"Phone Number:", wx.DefaultPosition, wx.DefaultSize, 0) self.text_PhonteNumber.Wrap(-1) gbSizer1.Add(self.text_PhonteNumber, wx.GBPosition(2, 0), wx.GBSpan(1, 1), wx.ALL | wx.ALIGN_RIGHT, 5) combo_phone_numberChoices = [u"651-555-1234"] self.combo_phone_number = wx.ComboBox(self.m_panel2, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, combo_phone_numberChoices, 0) gbSizer1.Add(self.combo_phone_number, wx.GBPosition(2, 1), wx.GBSpan(1, 1), wx.ALL | wx.EXPAND, 5) self.text_DateTime = wx.StaticText(self.m_panel2, wx.ID_ANY, u"Date/Time of Contact:", wx.DefaultPosition, wx.DefaultSize, 0) self.text_DateTime.Wrap(-1) gbSizer1.Add(self.text_DateTime, wx.GBPosition(2, 2), wx.GBSpan(1, 1), wx.ALL, 5) self.editbox_date_time = wx.TextCtrl(self.m_panel2, wx.ID_ANY, now_time, wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.editbox_date_time, wx.GBPosition(2, 3), wx.GBSpan(1, 1), wx.ALL | wx.EXPAND, 5) self.text_CaseNumber = wx.StaticText(self.m_panel2, wx.ID_ANY, u"Case number:", wx.DefaultPosition, wx.DefaultSize, 0) self.text_CaseNumber.Wrap(-1) gbSizer1.Add(self.text_CaseNumber, wx.GBPosition(3, 0), wx.GBSpan(1, 1), wx.ALL | wx.ALIGN_RIGHT, 5) self.editbox_MAXIS_case_number = wx.TextCtrl(self.m_panel2, wx.ID_ANY, MAXIS_case_number, wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.editbox_MAXIS_case_number, wx.GBPosition(3, 1), wx.GBSpan(1, 1), wx.ALL | wx.EXPAND, 5) self.checkbox_used_interpreter = wx.CheckBox(self.m_panel2, wx.ID_ANY, u"Used Interpreter", wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.checkbox_used_interpreter, wx.GBPosition(3, 2), wx.GBSpan(1, 1), wx.ALL, 5) self.text_mnsureICNumber = wx.StaticText(self.m_panel2, wx.ID_ANY, u"MNSure IC number:", wx.DefaultPosition, wx.DefaultSize, 0) self.text_mnsureICNumber.Wrap(-1) gbSizer1.Add(self.text_mnsureICNumber, wx.GBPosition(4, 0), wx.GBSpan(1, 1), wx.ALL | wx.ALIGN_RIGHT, 5) self.editbox_mets_ic_number = wx.TextCtrl(self.m_panel2, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.editbox_mets_ic_number, wx.GBPosition(4, 1), wx.GBSpan(1, 1), wx.ALL | wx.EXPAND, 5) self.text_ContactReason = wx.StaticText(self.m_panel2, wx.ID_ANY, u"Reason for Contact:", wx.DefaultPosition, wx.DefaultSize, 0) self.text_ContactReason.Wrap(-1) gbSizer1.Add(self.text_ContactReason, wx.GBPosition(5, 0), wx.GBSpan(1, 1), wx.ALL | wx.ALIGN_RIGHT, 5) self.editbox_contact_reason = wx.TextCtrl(self.m_panel2, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.editbox_contact_reason, wx.GBPosition(5, 1), wx.GBSpan(1, 3), wx.ALL | wx.EXPAND, 5) self.text_ActionTaken = wx.StaticText(self.m_panel2, wx.ID_ANY, u"Action taken:", wx.DefaultPosition, wx.DefaultSize, 0) self.text_ActionTaken.Wrap(-1) gbSizer1.Add(self.text_ActionTaken, wx.GBPosition(6, 0), wx.GBSpan(1, 1), wx.ALL | wx.ALIGN_RIGHT, 5) self.editbox_action_taken = wx.TextCtrl(self.m_panel2, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.editbox_action_taken, wx.GBPosition(6, 1), wx.GBSpan(1, 3), wx.ALL | wx.EXPAND, 5) sbSizer1 = wx.StaticBoxSizer( wx.StaticBox( self.m_panel2, wx.ID_ANY, u"Helpful info for call centers (or front desks) to pass on to clients" ), wx.VERTICAL) fgSizer1 = wx.FlexGridSizer(0, 2, 0, 0) fgSizer1.AddGrowableCol(1) fgSizer1.SetFlexibleDirection(wx.BOTH) fgSizer1.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.text_VerifsNeeded = wx.StaticText(sbSizer1.GetStaticBox(), wx.ID_ANY, u"Verifs needed:", wx.DefaultPosition, wx.DefaultSize, 0) self.text_VerifsNeeded.Wrap(-1) fgSizer1.Add(self.text_VerifsNeeded, 0, wx.ALL | wx.ALIGN_RIGHT, 5) self.editbox_verifs_needed = wx.TextCtrl(sbSizer1.GetStaticBox(), wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) fgSizer1.Add(self.editbox_verifs_needed, 0, wx.ALL | wx.EXPAND, 5) self.text_CaseStatus = wx.StaticText(sbSizer1.GetStaticBox(), wx.ID_ANY, u"Case status:", wx.DefaultPosition, wx.DefaultSize, 0) self.text_CaseStatus.Wrap(-1) fgSizer1.Add(self.text_CaseStatus, 0, wx.ALL | wx.ALIGN_RIGHT, 5) self.editbox_case_status = wx.TextCtrl(sbSizer1.GetStaticBox(), wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) fgSizer1.Add(self.editbox_case_status, 0, wx.ALL | wx.EXPAND, 5) self.text_InstrucMsg = wx.StaticText(sbSizer1.GetStaticBox(), wx.ID_ANY, u"Instructions.message:", wx.DefaultPosition, wx.DefaultSize, 0) self.text_InstrucMsg.Wrap(-1) fgSizer1.Add(self.text_InstrucMsg, 0, wx.ALL, 5) self.editbox_instructions = wx.TextCtrl(sbSizer1.GetStaticBox(), wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) fgSizer1.Add(self.editbox_instructions, 0, wx.ALL | wx.EXPAND, 5) sbSizer1.Add(fgSizer1, 1, wx.EXPAND, 5) gbSizer1.Add(sbSizer1, wx.GBPosition(7, 0), wx.GBSpan(3, 4), wx.EXPAND, 5) self.checkbox_tikl = wx.CheckBox( self.m_panel2, wx.ID_ANY, u"Check here if you want to TIKL out for this case after the case note is done.", wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.checkbox_tikl, wx.GBPosition(10, 0), wx.GBSpan(1, 4), wx.ALL, 5) self.checkbox_CAF1_reminder = wx.CheckBox( self.m_panel2, wx.ID_ANY, u"Check here if you reminded client about the importance of the CAF 1. ", wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.checkbox_CAF1_reminder, wx.GBPosition(11, 0), wx.GBSpan(1, 4), wx.ALL, 5) self.checkbox_forms_to_AREP = wx.CheckBox( self.m_panel2, wx.ID_ANY, u"Check here if you sent forms to AREP.", wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.checkbox_forms_to_AREP, wx.GBPosition(12, 0), wx.GBSpan(1, 4), wx.ALL, 5) self.checkbox_follow_up = wx.CheckBox( self.m_panel2, wx.ID_ANY, u"Check here if follow-up is needed.", wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.checkbox_follow_up, wx.GBPosition(13, 0), wx.GBSpan(1, 4), wx.ALL, 5) self.checkbox_callback = wx.CheckBox( self.m_panel2, wx.ID_ANY, u"Check here if you left a voicemail requesting a call back.", wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.checkbox_callback, wx.GBPosition(14, 0), wx.GBSpan(1, 4), wx.ALL, 5) sbSizer2 = wx.StaticBoxSizer( wx.StaticBox(self.m_panel2, wx.ID_ANY, u"Call Center:"), wx.VERTICAL) self.checkbox_callctr_answered = wx.CheckBox( sbSizer2.GetStaticBox(), wx.ID_ANY, u"Answered caller's question.", wx.DefaultPosition, wx.DefaultSize, 0) sbSizer2.Add(self.checkbox_callctr_answered, 0, wx.ALL, 5) self.checkbox_callctr_transfer = wx.CheckBox( sbSizer2.GetStaticBox(), wx.ID_ANY, u"Transferred caller to Worker.", wx.DefaultPosition, wx.DefaultSize, 0) sbSizer2.Add(self.checkbox_callctr_transfer, 0, wx.ALL, 5) gbSizer1.Add(sbSizer2, wx.GBPosition(16, 0), wx.GBSpan(2, 2), wx.EXPAND, 5) self.text_SignNote = wx.StaticText(self.m_panel2, wx.ID_ANY, u"Sign your case note:", wx.DefaultPosition, wx.DefaultSize, 0) self.text_SignNote.Wrap(-1) gbSizer1.Add(self.text_SignNote, wx.GBPosition(18, 0), wx.GBSpan(1, 2), wx.ALL | wx.ALIGN_RIGHT, 5) self.editbox_worker_signature = wx.TextCtrl(self.m_panel2, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.editbox_worker_signature, wx.GBPosition(18, 2), wx.GBSpan(1, 2), wx.ALL | wx.EXPAND, 5) m_sdbSizer1 = wx.StdDialogButtonSizer() self.m_sdbSizer1OK = wx.Button(self.m_panel2, wx.ID_OK) m_sdbSizer1.AddButton(self.m_sdbSizer1OK) self.m_sdbSizer1Cancel = wx.Button(self.m_panel2, wx.ID_CANCEL) m_sdbSizer1.AddButton(self.m_sdbSizer1Cancel) m_sdbSizer1.Realize() gbSizer1.Add(m_sdbSizer1, wx.GBPosition(19, 2), wx.GBSpan(1, 2), wx.EXPAND, 5) self.m_panel2.SetSizer(gbSizer1) self.m_panel2.Layout() gbSizer1.Fit(self.m_panel2) bSizer2.Add(self.m_panel2, 1, wx.EXPAND | wx.ALL, 5) self.SetSizer(bSizer2) self.Layout() bSizer2.Fit(self) self.Centre(wx.BOTH) global contact_type # Connect Events #self.combo_contact_type.Bind( wx.EVT_COMBOBOX, self.returnComboBox, self.combo_contact_type, contact_type ) #self.combo_contact_dir.Bind( wx.EVT_CHOICE, self.returnContactDir ) #self.combo_contact_person.Bind( wx.EVT_COMBOBOX, self.returnContactPerson ) #self.editbox_regarding.Bind( wx.EVT_TEXT, self.returnRegarding ) self.m_sdbSizer1Cancel.Bind(wx.EVT_BUTTON, self.cancel_confirmation) self.m_sdbSizer1OK.Bind(wx.EVT_BUTTON, self.click_OK)
def put_controls_in_sizer(self, sizer, controls): btn_add, btn_clear, input_panel = controls sizer.Add(btn_add, wx.GBPosition(0, 0), wx.GBSpan(1, 1)) sizer.Add(btn_clear, wx.GBPosition(0, 1), wx.GBSpan(1, 1)) sizer.Add(input_panel, wx.GBPosition(1, 0), wx.GBSpan(4, 5))
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=u"Client Contact", pos=wx.DefaultPosition, size=wx.Size(-1, -1), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) bSizer3 = wx.BoxSizer(wx.VERTICAL) self.m_panel3 = wx.Panel(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) gbSizer2 = wx.GridBagSizer(0, 0) gbSizer2.SetFlexibleDirection(wx.BOTH) gbSizer2.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) sbSizer3 = wx.StaticBoxSizer( wx.StaticBox( self.m_panel3, wx.ID_ANY, u"Select on contact type from this group, based on CAAD note requirement" ), wx.VERTICAL) fgSizer2 = wx.FlexGridSizer(0, 2, 0, 0) fgSizer2.AddGrowableCol(1) fgSizer2.SetFlexibleDirection(wx.BOTH) fgSizer2.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.text_CPContactType = wx.StaticText(sbSizer3.GetStaticBox(), wx.ID_ANY, u"CP contact type:", wx.DefaultPosition, wx.DefaultSize, 0) self.text_CPContactType.Wrap(-1) fgSizer2.Add(self.text_CPContactType, 0, wx.ALL | wx.ALIGN_RIGHT, 5) choice_cp_contactChoices = [ u"T0050 PHONE CALL TO CP", u"T0051 PHONE CALL FR CP", u"T0052 PHONE CALL RET TO CP", u"T0053 PHONE CALL RET FR CP", u"T0054 PHONE CALL ATMPT TO RET TO CP", u"T0093 CONTACT WITH CP SPOUSE", u"T0101 PHONE CONTACT CP'S ATTORNEY", u"T0201 CONTACT WITH CP EMPLOYER", u"M3910 INTERVIEW WITH CP", u"M2121 LETTER RECD FROM CP" ] self.choice_cp_contact = wx.Choice(sbSizer3.GetStaticBox(), wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, choice_cp_contactChoices, 0) self.choice_cp_contact.SetSelection(0) fgSizer2.Add(self.choice_cp_contact, 0, wx.ALL | wx.EXPAND, 5) self.text_NCPContactType = wx.StaticText(sbSizer3.GetStaticBox(), wx.ID_ANY, u"NCP contact type:", wx.DefaultPosition, wx.DefaultSize, 0) self.text_NCPContactType.Wrap(-1) fgSizer2.Add(self.text_NCPContactType, 0, wx.ALL | wx.ALIGN_RIGHT, 5) choice_ncp_contactChoices = [ u"T0058 PHONE CALL RET FR NCP", u"M2122 LETTER RECD FROM NCP", u"M3911 INTERVIEW WITH NCP", u"T0092 CONTACT WITH NCP SPOUSE", u"T0069 PHONE CALL ATMPT RET TO NCP AY", u"T0068 PHONE CALL RET FR NCP AY", u"T0067 PHONE CALL RET TO NCP AY", u"T0066 PHONE CALL FR NCP AY", u"T0065 PHONE CALL TO NCP AY", u"T0064 PHONE CALL ATMPT RET TO NCP EMP", u"T0063 PHONE CALL RET FR NCP EMP", u"T0062 PHONE CALL RET TO NCP EMP", u"T0061 PHONE CALL FROM NCP EMP", u"T0060 PHONE CALL TO NCP EMP", u"T0059 PHONE CALL ATMT TO RET TO NCP", u"T0058 PHONE CALL STMT TO RET TO NCP", u"T0057 PHONE CALL RET TO NCP", u"T0056 PHONE CALL FR NCP", u"T0055 PHONE CALL TO NCP" ] self.choice_ncp_contact = wx.Choice(sbSizer3.GetStaticBox(), wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, choice_ncp_contactChoices, 0) self.choice_ncp_contact.SetSelection(0) fgSizer2.Add(self.choice_ncp_contact, 0, wx.ALL | wx.EXPAND, 5) self.text_OtherContact = wx.StaticText(sbSizer3.GetStaticBox(), wx.ID_ANY, u"Other contact type:", wx.DefaultPosition, wx.DefaultSize, 0) self.text_OtherContact.Wrap(-1) fgSizer2.Add(self.text_OtherContact, 0, wx.ALL | wx.ALIGN_RIGHT, 5) choice_other_contactChoices = [ u"T0111 CONTACT WITH OTHER STATE AGENCY", u"T0105 PHONE CONTACT WITH CSPC", u"T1107 CONTACT WITH VITAL RECORDS", wx.EmptyString, u"T0104 PHONE CONTACT WITH FINANCIAL WORKER", u"T0103 PHONE CONTACT WITH OTHER STATE WORKER", u"T0102 PHONE CONTACT WITH COUNTY ATTORNEY", u"T0100 PHONE CONTACT WITH OTHER STATE'S CENTRAL REGISTRY", u"T0098 CONTACT WITH WORKER FROM ANOTHER MN COUNTY", u"T0095 CONTACT WITH SOCIAL WORKER", u"T0090 CONTACT WITH NCP/CP UNION", u"T0087 CONTACT WITH PROBATION OFFICER", u"T0085 CONTACT WITH LAW ENFORCEMENT", u"T0080 CONTACT WITH COURT ADMINISTRATOR", u"T0075 CONTACT WITH HEALTH CARRIER", u"T0074 CONTACT WITH STATE HELP DESK", u"T0070 PHONE CALL/OTHER", u"M0410 CONTACT WITH CCC WORKER" ] self.choice_other_contact = wx.Choice(sbSizer3.GetStaticBox(), wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, choice_other_contactChoices, 0) self.choice_other_contact.SetSelection(0) fgSizer2.Add(self.choice_other_contact, 0, wx.ALL | wx.EXPAND, 5) sbSizer3.Add(fgSizer2, 1, wx.EXPAND, 5) gbSizer2.Add(sbSizer3, wx.GBPosition(0, 0), wx.GBSpan(3, 5), wx.EXPAND, 5) self.text_PRISMCaseNumber = wx.StaticText( self.m_panel3, wx.ID_ANY, u"PRISM case number (XXXXXXXXXX-XX format):", wx.DefaultPosition, wx.DefaultSize, 0) self.text_PRISMCaseNumber.Wrap(-1) gbSizer2.Add(self.text_PRISMCaseNumber, wx.GBPosition(4, 0), wx.GBSpan(2, 2), wx.ALL, 5) self.editbox_PRISM_case_number = wx.TextCtrl(self.m_panel3, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gbSizer2.Add(self.editbox_PRISM_case_number, wx.GBPosition(4, 2), wx.GBSpan(1, 1), wx.ALL, 5) self.text_ContactDate = wx.StaticText(self.m_panel3, wx.ID_ANY, u"Date of contact:", wx.DefaultPosition, wx.DefaultSize, 0) self.text_ContactDate.Wrap(-1) gbSizer2.Add(self.text_ContactDate, wx.GBPosition(4, 3), wx.GBSpan(1, 1), wx.ALL, 5) self.editbox_date_of_contact = wx.TextCtrl(self.m_panel3, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gbSizer2.Add(self.editbox_date_of_contact, wx.GBPosition(4, 4), wx.GBSpan(1, 1), wx.ALL, 5) sbSizer4 = wx.StaticBoxSizer( wx.StaticBox(self.m_panel3, wx.ID_ANY, u"Optional contact info:"), wx.VERTICAL) fgSizer3 = wx.FlexGridSizer(0, 4, 0, 0) fgSizer3.AddGrowableCol(0) fgSizer3.AddGrowableCol(1) fgSizer3.AddGrowableCol(2) fgSizer3.AddGrowableCol(3) fgSizer3.SetFlexibleDirection(wx.BOTH) fgSizer3.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.text_PhoneNumber = wx.StaticText(sbSizer4.GetStaticBox(), wx.ID_ANY, u"Phone number:", wx.DefaultPosition, wx.DefaultSize, 0) self.text_PhoneNumber.Wrap(-1) fgSizer3.Add(self.text_PhoneNumber, 0, wx.ALL | wx.ALIGN_RIGHT, 5) self.editbox_phone_number = wx.TextCtrl(sbSizer4.GetStaticBox(), wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) fgSizer3.Add(self.editbox_phone_number, 0, wx.ALL | wx.EXPAND, 5) self.text_ContactTime = wx.StaticText(sbSizer4.GetStaticBox(), wx.ID_ANY, u"Time contact was made:", wx.DefaultPosition, wx.DefaultSize, 0) self.text_ContactTime.Wrap(-1) fgSizer3.Add(self.text_ContactTime, 0, wx.ALL | wx.ALIGN_RIGHT, 5) self.editbox_contact_time = wx.TextCtrl(sbSizer4.GetStaticBox(), wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) fgSizer3.Add(self.editbox_contact_time, 0, wx.ALL | wx.EXPAND, 5) sbSizer4.Add(fgSizer3, 1, wx.EXPAND, 5) gbSizer2.Add(sbSizer4, wx.GBPosition(6, 0), wx.GBSpan(1, 5), wx.EXPAND, 5) self.text_IssueSubject = wx.StaticText(self.m_panel3, wx.ID_ANY, u"Issue/subject:", wx.DefaultPosition, wx.DefaultSize, 0) self.text_IssueSubject.Wrap(-1) gbSizer2.Add(self.text_IssueSubject, wx.GBPosition(7, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.editbox_subject = wx.TextCtrl(self.m_panel3, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gbSizer2.Add(self.editbox_subject, wx.GBPosition(7, 1), wx.GBSpan(1, 4), wx.ALL | wx.EXPAND, 5) self.text_ActionTaken = wx.StaticText(self.m_panel3, wx.ID_ANY, u"Action Taken:", wx.DefaultPosition, wx.DefaultSize, 0) self.text_ActionTaken.Wrap(-1) gbSizer2.Add(self.text_ActionTaken, wx.GBPosition(8, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.editbox_action_taken = wx.TextCtrl(self.m_panel3, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gbSizer2.Add(self.editbox_action_taken, wx.GBPosition(8, 1), wx.GBSpan(1, 4), wx.ALL | wx.EXPAND, 5) sbSizer5 = wx.StaticBoxSizer( wx.StaticBox(self.m_panel3, wx.ID_ANY, u"Helpful optional case info"), wx.VERTICAL) fgSizer4 = wx.FlexGridSizer(0, 2, 0, 0) fgSizer4.AddGrowableCol(1) fgSizer4.SetFlexibleDirection(wx.BOTH) fgSizer4.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.text_VerifsNeeded = wx.StaticText(sbSizer5.GetStaticBox(), wx.ID_ANY, u"Verifs needed:", wx.DefaultPosition, wx.DefaultSize, 0) self.text_VerifsNeeded.Wrap(-1) fgSizer4.Add(self.text_VerifsNeeded, 0, wx.ALL | wx.ALIGN_RIGHT, 5) self.m_textCtrl20 = wx.TextCtrl(sbSizer5.GetStaticBox(), wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) fgSizer4.Add(self.m_textCtrl20, 0, wx.ALL | wx.EXPAND, 5) self.text_SpecialInstructions = wx.StaticText( sbSizer5.GetStaticBox(), wx.ID_ANY, u"Special instructions for client:", wx.DefaultPosition, wx.DefaultSize, 0) self.text_SpecialInstructions.Wrap(-1) fgSizer4.Add(self.text_SpecialInstructions, 0, wx.ALL, 5) self.editbox_special_instructions = wx.TextCtrl( sbSizer5.GetStaticBox(), wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) fgSizer4.Add(self.editbox_special_instructions, 0, wx.ALL | wx.EXPAND, 5) sbSizer5.Add(fgSizer4, 1, wx.EXPAND, 5) gbSizer2.Add(sbSizer5, wx.GBPosition(9, 0), wx.GBSpan(2, 5), wx.EXPAND, 5) self.checkbox_verif_id = wx.CheckBox( self.m_panel3, wx.ID_ANY, u"Check here if your verified ID. ", wx.DefaultPosition, wx.DefaultSize, 0) gbSizer2.Add(self.checkbox_verif_id, wx.GBPosition(12, 0), wx.GBSpan(1, 2), wx.ALL, 5) self.checkbox_msg_callback = wx.CheckBox( self.m_panel3, wx.ID_ANY, u"Check here if if you left a generic message requesting they return call.", wx.DefaultPosition, wx.DefaultSize, 0) gbSizer2.Add(self.checkbox_msg_callback, wx.GBPosition(13, 0), wx.GBSpan(1, 4), wx.ALL, 5) self.text_SignNote = wx.StaticText(self.m_panel3, wx.ID_ANY, u"Sign your case note:", wx.DefaultPosition, wx.DefaultSize, 0) self.text_SignNote.Wrap(-1) gbSizer2.Add(self.text_SignNote, wx.GBPosition(14, 0), wx.GBSpan(1, 2), wx.ALL | wx.ALIGN_RIGHT, 5) self.editbox_worker_signature = wx.TextCtrl(self.m_panel3, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gbSizer2.Add(self.editbox_worker_signature, wx.GBPosition(14, 2), wx.GBSpan(1, 3), wx.ALL | wx.ALIGN_BOTTOM | wx.EXPAND, 5) m_sdbSizer2 = wx.StdDialogButtonSizer() self.m_sdbSizer2OK = wx.Button(self.m_panel3, wx.ID_OK) m_sdbSizer2.AddButton(self.m_sdbSizer2OK) self.m_sdbSizer2Cancel = wx.Button(self.m_panel3, wx.ID_CANCEL) m_sdbSizer2.AddButton(self.m_sdbSizer2Cancel) m_sdbSizer2.Realize() gbSizer2.Add(m_sdbSizer2, wx.GBPosition(15, 3), wx.GBSpan(1, 2), wx.EXPAND, 5) self.m_panel3.SetSizer(gbSizer2) self.m_panel3.Layout() gbSizer2.Fit(self.m_panel3) bSizer3.Add(self.m_panel3, 1, wx.EXPAND | wx.ALL, 5) self.SetSizer(bSizer3) self.Layout() bSizer3.Fit(self) self.Centre(wx.BOTH)
def __init__(self, parent): wx.Dialog.__init__(self, parent, id=wx.ID_ANY, title=u"复查病人信息", pos=wx.DefaultPosition, size=wx.Size(304, 273), style=wx.DEFAULT_DIALOG_STYLE) self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize) gbSizer1 = wx.GridBagSizer(0, 0) gbSizer1.SetFlexibleDirection(wx.HORIZONTAL) gbSizer1.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.lblPatientID = wx.StaticText(self, wx.ID_ANY, u"编号:", wx.DefaultPosition, wx.DefaultSize, 0) self.lblPatientID.Wrap(-1) gbSizer1.Add(self.lblPatientID, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.txtPatientID = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_READONLY) gbSizer1.Add(self.txtPatientID, wx.GBPosition(0, 1), wx.GBSpan(1, 2), wx.ALL | wx.EXPAND, 5) self.lblName = wx.StaticText(self, wx.ID_ANY, u"姓名:", wx.DefaultPosition, wx.DefaultSize, 0) self.lblName.Wrap(-1) gbSizer1.Add(self.lblName, wx.GBPosition(1, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.txtName = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_READONLY) gbSizer1.Add(self.txtName, wx.GBPosition(1, 1), wx.GBSpan(1, 2), wx.ALL | wx.EXPAND, 5) self.txtXRayNum = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.txtXRayNum, wx.GBPosition(2, 1), wx.GBSpan(1, 2), wx.ALL | wx.EXPAND, 5) self.lblXRayNum = wx.StaticText(self, wx.ID_ANY, u"X光片号:", wx.DefaultPosition, wx.DefaultSize, 0) self.lblXRayNum.Wrap(-1) gbSizer1.Add(self.lblXRayNum, wx.GBPosition(2, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.txtCobbSection = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.txtCobbSection, wx.GBPosition(3, 1), wx.GBSpan(1, 2), wx.ALL | wx.EXPAND, 5) self.lblCobbSection = wx.StaticText(self, wx.ID_ANY, u"Cobb角节段:", wx.DefaultPosition, wx.DefaultSize, 0) self.lblCobbSection.Wrap(-1) gbSizer1.Add(self.lblCobbSection, wx.GBPosition(3, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.lblCobbDegree = wx.StaticText(self, wx.ID_ANY, u"Cobb角度数:", wx.DefaultPosition, wx.DefaultSize, 0) self.lblCobbDegree.Wrap(-1) gbSizer1.Add(self.lblCobbDegree, wx.GBPosition(4, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.txtCobbDegree = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.txtCobbDegree, wx.GBPosition(4, 1), wx.GBSpan(1, 2), wx.ALL | wx.EXPAND, 5) self.btnCheck = wx.Button(self, wx.ID_OK, u"标记为已复查", wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.btnCheck, wx.GBPosition(5, 1), wx.GBSpan(1, 1), wx.ALL, 5) self.btnClose = wx.Button(self, wx.ID_CANCEL, u"关闭", wx.DefaultPosition, wx.DefaultSize, 0) gbSizer1.Add(self.btnClose, wx.GBPosition(5, 2), wx.GBSpan(1, 1), wx.ALL, 5) gbSizer1.AddGrowableCol(1) self.SetSizer(gbSizer1) self.Layout() self.Centre(wx.BOTH)
def __init__(self, parent, debug=False): wx.Frame.__init__(self, parent, -1, "ArbotiX Controller GUI", style=wx.DEFAULT_FRAME_STYLE & ~(wx.RESIZE_BORDER | wx.MAXIMIZE_BOX)) sizer = wx.GridBagSizer(5, 5) # Move Base drive = wx.StaticBox(self, -1, 'Move Base') drive.SetFont(wx.Font(10, wx.DEFAULT, wx.NORMAL, wx.BOLD)) driveBox = wx.StaticBoxSizer(drive, orient=wx.VERTICAL) self.movebase = wx.Panel(self, size=(width, width - 20)) self.movebase.SetBackgroundColour('WHITE') self.movebase.Bind(wx.EVT_MOTION, self.onMove) wx.StaticLine(self.movebase, -1, (width / 2, 0), (1, width), style=wx.LI_VERTICAL) wx.StaticLine(self.movebase, -1, (0, width / 2), (width, 1)) driveBox.Add(self.movebase) sizer.Add(driveBox, (0, 0), wx.GBSpan(1, 1), wx.EXPAND | wx.TOP | wx.BOTTOM | wx.LEFT, 5) self.forward = 0 self.turn = 0 self.X = 0 self.Y = 0 self.cmd_vel = rospy.Publisher('cmd_vel', Twist, queue_size=5) # Move Servos servo = wx.StaticBox(self, -1, 'Move Servos') servo.SetFont(wx.Font(10, wx.DEFAULT, wx.NORMAL, wx.BOLD)) servoBox = wx.StaticBoxSizer(servo, orient=wx.VERTICAL) servoSizer = wx.GridBagSizer(5, 5) joint_defaults = getJointsFromURDF() i = 0 dynamixels = rospy.get_param('/arbotix/dynamixels', dict()) self.servos = list() self.publishers = list() self.relaxers = list() joints = rospy.get_param('/arbotix/joints', dict()) # create sliders and publishers for name in sorted(joints.keys()): # pull angles min_angle, max_angle = getJointLimits(name, joint_defaults) # create publisher self.publishers.append( rospy.Publisher(name + '/command', Float64, queue_size=5)) if rospy.get_param('/arbotix/joints/' + name + '/type', 'dynamixel') == 'dynamixel': self.relaxers.append(rospy.ServiceProxy( name + '/relax', Relax)) else: self.relaxers.append(None) # create slider s = servoSlider(self, min_angle, max_angle, name, i) servoSizer.Add(s.enabled, (i, 0), wx.GBSpan(1, 1), wx.ALIGN_CENTER_VERTICAL) servoSizer.Add(s.position, (i, 1), wx.GBSpan(1, 1), wx.ALIGN_CENTER_VERTICAL) self.servos.append(s) i += 1 # add everything servoBox.Add(servoSizer) sizer.Add(servoBox, (0, 1), wx.GBSpan(1, 1), wx.EXPAND | wx.TOP | wx.BOTTOM | wx.RIGHT, 5) self.Bind(wx.EVT_CHECKBOX, self.enableSliders) # now we can subscribe rospy.Subscriber('joint_states', JointState, self.stateCb) # timer for output self.timer = wx.Timer(self, self.TIMER_ID) self.timer.Start(50) # self.Bind(wx.EVT_CLOSE, self.OnCloseWindow) wx.EVT_CLOSE(self, self.onClose) wx.EVT_TIMER(self, self.TIMER_ID, self.onTimer) # bind the panel to the paint event wx.EVT_PAINT(self, self.onPaint) self.dirty = 1 self.onPaint() self.SetSizerAndFit(sizer) self.Show(True)
def __init__(self, parent): wx.Panel.__init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.Size(585, 325), style=wx.TAB_TRAVERSAL) bSizer6 = wx.BoxSizer(wx.VERTICAL) gbSizer5 = wx.GridBagSizer(0, 0) gbSizer5.SetFlexibleDirection(wx.BOTH) gbSizer5.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) self.m_staticTextMA = wx.StaticText(self, wx.ID_ANY, u"Code:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticTextMA.Wrap(-1) gbSizer5.Add(self.m_staticTextMA, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.m_textproduct_type_code = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gbSizer5.Add(self.m_textproduct_type_code, wx.GBPosition(0, 1), wx.GBSpan(1, 1), wx.ALL, 5) self.m_ErrorMA = wx.StaticText(self, wx.ID_ANY, u"", wx.DefaultPosition, wx.DefaultSize, 0) self.m_ErrorMA.Wrap(-1) gbSizer5.Add(self.m_ErrorMA, wx.GBPosition(0, 2), wx.GBSpan(1, 1), wx.ALL, 5) self.m_staticTextTEN = wx.StaticText(self, wx.ID_ANY, u"Name:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticTextTEN.Wrap(-1) gbSizer5.Add(self.m_staticTextTEN, wx.GBPosition(1, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.m_textproduct_type_name = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(250, -1), 0) gbSizer5.Add(self.m_textproduct_type_name, wx.GBPosition(1, 1), wx.GBSpan(1, 3), wx.ALL, 5) self.m_ErrorTEN = wx.StaticText(self, wx.ID_ANY, u"", wx.DefaultPosition, wx.DefaultSize, 0) self.m_ErrorTEN.Wrap(-1) gbSizer5.Add(self.m_ErrorTEN, wx.GBPosition(1, 4), wx.GBSpan(1, 1), wx.ALL, 5) bSizer6.Add(gbSizer5, 1, wx.EXPAND, 5) bSizer9 = wx.BoxSizer(wx.HORIZONTAL) self.m_btnThem = wx.Button(self, wx.ID_ANY, u"Add record", wx.DefaultPosition, wx.DefaultSize, 0) bSizer9.Add(self.m_btnThem, 0, wx.ALL, 5) self.m_btnXoa = wx.Button(self, wx.ID_ANY, u"Delete", wx.DefaultPosition, wx.DefaultSize, 0) bSizer9.Add(self.m_btnXoa, 0, wx.ALL, 5) self.m_btnSua = wx.Button(self, wx.ID_ANY, u"Update", wx.DefaultPosition, wx.DefaultSize, 0) bSizer9.Add(self.m_btnSua, 0, wx.ALL, 5) self.m_btnDong = wx.Button(self, wx.ID_ANY, u"Close", wx.DefaultPosition, wx.DefaultSize, 0) bSizer9.Add(self.m_btnDong, 0, wx.ALL, 5) bSizer6.Add(bSizer9, 1, wx.EXPAND, 5) bSizer10 = wx.BoxSizer(wx.VERTICAL) self.m_gridSource = wx.grid.Grid(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(-1, 250), 0) # Grid self.m_gridSource.CreateGrid(0, 3) self.m_gridSource.EnableEditing(True) self.m_gridSource.EnableGridLines(True) self.m_gridSource.EnableDragGridSize(False) self.m_gridSource.SetMargins(0, 0) # Columns self.m_gridSource.SetColSize(0, 35) self.m_gridSource.SetColSize(1, 80) self.m_gridSource.SetColSize(2, 350) self.m_gridSource.EnableDragColMove(False) self.m_gridSource.EnableDragColSize(True) self.m_gridSource.SetColLabelSize(35) self.m_gridSource.SetColLabelAlignment(wx.ALIGN_CENTRE, wx.ALIGN_CENTRE) # Rows self.m_gridSource.EnableDragRowSize(True) self.m_gridSource.SetRowLabelSize(40) self.m_gridSource.SetRowLabelAlignment(wx.ALIGN_CENTRE, wx.ALIGN_CENTRE) # Label Appearance # Cell Defaults self.m_gridSource.SetDefaultCellAlignment(wx.ALIGN_LEFT, wx.ALIGN_TOP) bSizer10.Add(self.m_gridSource, 0, wx.ALL | wx.EXPAND, 5) bSizer6.Add(bSizer10, 1, wx.EXPAND, 5) self.SetSizer(bSizer6) self.Layout() # Connect Events self.m_btnThem.Bind(wx.EVT_BUTTON, self.m_btnThemOnButtonClick) self.m_btnXoa.Bind(wx.EVT_BUTTON, self.m_btnXoaOnButtonClick) self.m_btnSua.Bind(wx.EVT_BUTTON, self.m_btnSuaOnButtonClick) self.m_btnDong.Bind(wx.EVT_BUTTON, self.m_btnDongOnButtonClick)
def __init__(self, parent): wx.Frame.__init__( self, parent, id=wx.ID_ANY, title=u"EasyVoltsGUI_rev1 (by Valerii Proskurin)", pos=wx.DefaultPosition, size=wx.Size(488, 315), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHintsSz(wx.Size(488, 315), wx.Size(488, 316)) fgSizer1 = wx.FlexGridSizer(0, 3, 1, 1) fgSizer1.SetFlexibleDirection(wx.BOTH) fgSizer1.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_NONE) gbSizer15 = wx.GridBagSizer(0, 0) gbSizer15.SetFlexibleDirection(wx.BOTH) gbSizer15.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) gbSizer15.SetMinSize(wx.Size(240, 300)) self.m_staticText9 = wx.StaticText(self, wx.ID_ANY, u"EasyVolts ports setup", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText9.Wrap(-1) self.m_staticText9.SetFont( wx.Font(10, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, wx.EmptyString)) gbSizer15.Add(self.m_staticText9, wx.GBPosition(0, 0), wx.GBSpan(1, 3), wx.ALIGN_CENTER_HORIZONTAL | wx.ALL, 2) self.m_staticText91 = wx.StaticText(self, wx.ID_ANY, u"Control port:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText91.Wrap(-1) gbSizer15.Add(self.m_staticText91, wx.GBPosition(1, 0), wx.GBSpan(1, 1), wx.ALIGN_CENTER_VERTICAL | wx.ALL, 3) m_choice1_comPortChoices = [] self.m_choice1_comPort = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_choice1_comPortChoices, 0) self.m_choice1_comPort.SetSelection(0) gbSizer15.Add(self.m_choice1_comPort, wx.GBPosition(1, 1), wx.GBSpan(1, 2), wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_LEFT, 3) self.m_staticText111 = wx.StaticText(self, wx.ID_ANY, u"Connection:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText111.Wrap(-1) gbSizer15.Add(self.m_staticText111, wx.GBPosition(2, 0), wx.GBSpan(1, 1), wx.ALL, 3) self.m_staticText121_connectStatus = wx.StaticText( self, wx.ID_ANY, u"NOT CONNECTED", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText121_connectStatus.Wrap(-1) self.m_staticText121_connectStatus.SetFont( wx.Font(wx.NORMAL_FONT.GetPointSize(), wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, wx.EmptyString)) self.m_staticText121_connectStatus.SetForegroundColour( wx.Colour(255, 0, 0)) gbSizer15.Add(self.m_staticText121_connectStatus, wx.GBPosition(2, 1), wx.GBSpan(1, 2), wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_LEFT, 3) fgSizer1.Add(gbSizer15, 1, wx.ALIGN_LEFT | wx.FIXED_MINSIZE, 0) self.m_staticline1 = wx.StaticLine(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_VERTICAL) fgSizer1.Add(self.m_staticline1, 0, wx.ALL | wx.EXPAND, 5) gbSizer16 = wx.GridBagSizer(0, 0) gbSizer16.SetFlexibleDirection(wx.BOTH) gbSizer16.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) gbSizer16.SetMinSize(wx.Size(230, 300)) self.m_staticText10 = wx.StaticText(self, wx.ID_ANY, u"Output", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText10.Wrap(-1) self.m_staticText10.SetFont( wx.Font(10, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, wx.EmptyString)) gbSizer16.Add(self.m_staticText10, wx.GBPosition(0, 1), wx.GBSpan(1, 1), wx.ALIGN_CENTER_HORIZONTAL | wx.ALL, 5) self.m_staticText15 = wx.StaticText(self, wx.ID_ANY, u"power control", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText15.Wrap(-1) self.m_staticText15.SetFont( wx.Font(wx.NORMAL_FONT.GetPointSize(), wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, wx.EmptyString)) gbSizer16.Add(self.m_staticText15, wx.GBPosition(1, 1), wx.GBSpan(1, 1), wx.ALIGN_CENTER_HORIZONTAL | wx.ALL, 2) self.m_staticText11 = wx.StaticText(self, wx.ID_ANY, u" voltage", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText11.Wrap(-1) gbSizer16.Add(self.m_staticText11, wx.GBPosition(2, 0), wx.GBSpan(1, 1), wx.ALL, 5) self.m_staticText12 = wx.StaticText(self, wx.ID_ANY, u"current limit", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText12.Wrap(-1) gbSizer16.Add(self.m_staticText12, wx.GBPosition(2, 2), wx.GBSpan(1, 1), wx.ALL, 5) self.m_slider1_voltage = wx.Slider(self, wx.ID_ANY, 0, 0, 15000, wx.DefaultPosition, wx.DefaultSize, wx.SL_INVERSE | wx.SL_VERTICAL) self.m_slider1_voltage.SetMinSize(wx.Size(-1, 145)) gbSizer16.Add(self.m_slider1_voltage, wx.GBPosition(3, 0), wx.GBSpan(5, 1), wx.ALIGN_CENTER_HORIZONTAL | wx.ALL, 2) self.m_slider2_current = wx.Slider(self, wx.ID_ANY, 1000, 0, 1000, wx.DefaultPosition, wx.DefaultSize, wx.SL_INVERSE | wx.SL_VERTICAL) self.m_slider2_current.SetMinSize(wx.Size(-1, 145)) gbSizer16.Add(self.m_slider2_current, wx.GBPosition(3, 2), wx.GBSpan(5, 1), wx.ALIGN_CENTER_HORIZONTAL | wx.ALL, 2) self.m_staticText13_actualVoltage = wx.StaticText( self, wx.ID_ANY, u"0.00 V", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText13_actualVoltage.Wrap(-1) self.m_staticText13_actualVoltage.SetFont( wx.Font(14, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, wx.EmptyString)) gbSizer16.Add(self.m_staticText13_actualVoltage, wx.GBPosition(3, 1), wx.GBSpan(1, 1), wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_TOP | wx.ALL, 5) self.m_staticText15_targetVoltage = wx.StaticText( self, wx.ID_ANY, u"0 v", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText15_targetVoltage.Wrap(-1) self.m_staticText15_targetVoltage.SetFont( wx.Font(12, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_ITALIC, wx.FONTWEIGHT_NORMAL, False, wx.EmptyString)) gbSizer16.Add(self.m_staticText15_targetVoltage, wx.GBPosition(4, 1), wx.GBSpan(1, 1), wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_TOP | wx.BOTTOM, 5) self.m_checkBox1_autoSetVoltage = wx.CheckBox( self, wx.ID_ANY, u"Set values automatically", wx.DefaultPosition, wx.DefaultSize, 0) gbSizer16.Add(self.m_checkBox1_autoSetVoltage, wx.GBPosition(8, 0), wx.GBSpan(1, 3), wx.ALL, 5) self.m_toggleBtn1 = wx.ToggleButton(self, wx.ID_ANY, u"Apply values", wx.DefaultPosition, wx.DefaultSize, 0) self.m_toggleBtn1.SetValue(True) gbSizer16.Add(self.m_toggleBtn1, wx.GBPosition(9, 1), wx.GBSpan(1, 1), wx.ALIGN_CENTER_HORIZONTAL | wx.ALL, 2) self.m_staticText14_actualCurrent = wx.StaticText( self, wx.ID_ANY, u"0.00 A", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText14_actualCurrent.Wrap(-1) self.m_staticText14_actualCurrent.SetFont( wx.Font(14, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, wx.EmptyString)) gbSizer16.Add(self.m_staticText14_actualCurrent, wx.GBPosition(5, 1), wx.GBSpan(1, 1), wx.ALIGN_CENTER_HORIZONTAL | wx.TOP, 5) self.m_staticText16_targetCurrent = wx.StaticText( self, wx.ID_ANY, u"1 a", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText16_targetCurrent.Wrap(-1) self.m_staticText16_targetCurrent.SetFont( wx.Font(12, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_ITALIC, wx.FONTWEIGHT_NORMAL, False, wx.EmptyString)) gbSizer16.Add(self.m_staticText16_targetCurrent, wx.GBPosition(6, 1), wx.GBSpan(1, 1), wx.ALIGN_CENTER | wx.ALL, 5) fgSizer1.Add(gbSizer16, 1, wx.EXPAND, 5) self.SetSizer(fgSizer1) self.Layout() self.m_timer1 = wx.Timer() self.m_timer1.SetOwner(self, wx.ID_ANY) self.m_timer1.Start(150) self.Centre(wx.BOTH) # Connect Events self.Bind(wx.EVT_CLOSE, self.closeProgramHandler) self.m_choice1_comPort.Bind(wx.EVT_CHOICE, self.controlPortSelectionHandler) self.m_slider1_voltage.Bind(wx.EVT_SCROLL, self.voltageScrollChanged) self.m_slider2_current.Bind(wx.EVT_SCROLL, self.currentScrollChanged) self.m_toggleBtn1.Bind(wx.EVT_TOGGLEBUTTON, self.applyValuesButtonToggle) self.Bind(wx.EVT_TIMER, self.guiTickTimer150ms, id=wx.ID_ANY)
def put_controls_in_sizer(self, sizer, controls): description, spin_ctrl = controls span = wx.GBSpan(rowspan=1, colspan=1) sizer.Add(description, wx.GBPosition(row=1, col=1), span) sizer.Add(spin_ctrl, wx.GBPosition(row=2, col=1), span)
def makeDiaryPanel(self, date, time, star, thoughtsCount, diaryCount, m_scrolledWindow2): m_panel8 = wx.Panel(m_scrolledWindow2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) gbSizer3 = wx.GridBagSizer(0, 0) gbSizer3.SetFlexibleDirection(wx.BOTH) gbSizer3.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) date_text = wx.StaticText(m_panel8, wx.ID_ANY, u'{0}'.format(date), wx.DefaultPosition, wx.DefaultSize, 0) date_text.Wrap(-1) gbSizer3.Add(date_text, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.ALL, 5) time_text = wx.StaticText(m_panel8, wx.ID_ANY, u"{0}".format(time), wx.DefaultPosition, wx.DefaultSize, 0) time_text.Wrap(-1) gbSizer3.Add(time_text, wx.GBPosition(0, 2), wx.GBSpan(1, 1), wx.ALL, 5) thoughts_count = wx.StaticText(m_panel8, wx.ID_ANY, u"{0}".format(thoughtsCount), wx.DefaultPosition, wx.DefaultSize, 0) thoughts_count.Wrap(-1) gbSizer3.Add(thoughts_count, wx.GBPosition(0, 3), wx.GBSpan(1, 1), wx.ALL, 5) diary_show_button = wx.Button(m_panel8, wx.ID_ANY, u"일기보기", wx.DefaultPosition, wx.DefaultSize, 0) gbSizer3.Add(diary_show_button, wx.GBPosition(0, 5), wx.GBSpan(1, 1), wx.ALL, 5) m_panel18 = wx.Panel(m_panel8, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) gbSizer4 = wx.GridBagSizer(0, 0) gbSizer4.SetFlexibleDirection(wx.BOTH) gbSizer4.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) for i in range(int(star)): star = wx.StaticBitmap(m_panel18, wx.ID_ANY, self.starPng, wx.DefaultPosition, wx.DefaultSize, 0) gbSizer4.Add(star, wx.GBPosition(0, i), wx.GBSpan(1, 1), wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5) m_panel18.SetSizer(gbSizer4) m_panel18.Layout() gbSizer4.Fit(m_panel18) gbSizer3.Add(m_panel18, wx.GBPosition(0, 4), wx.GBSpan(1, 1), wx.EXPAND | wx.ALL, 5) m_panel8.SetSizer(gbSizer3) m_panel8.Layout() gbSizer3.Fit(m_panel8) diary_show_button.Bind( wx.EVT_BUTTON, lambda event: self.diaryShowButtonClicked(event, date)) return m_panel8