示例#1
0
    def _CreateUI(self):
        sizer = wx.BoxSizer(wx.VERTICAL)
        self._preview = wx.Control(self)
        self._preview.SetMinSize((-1, 10))
        self._preview.SetBackgroundStyle(wx.BG_STYLE_PAINT)
        self._preview.Bind(wx.EVT_PAINT, self._PaintPreview)
        self._preview.Bind(wx.EVT_SIZE, lambda _: self._preview.Refresh())
        sizer.Add(self._preview, 0, wx.EXPAND)

        self._pickers = [ColorPicker(self) for i in range(self._numstops)]
        self._pickers[0].Colour = wx.Colour(255, 255, 255)
        self._pickers[-1].Colour = wx.Colour(0, 0, 0)
        self._checks = [wx.CheckBox(self) for i in range(self._numstops)]
        self._pickers[self._numstops // 3].Colour = wx.YELLOW
        self._checks[self._numstops // 3].Value = True
        self._pickers[self._numstops // 3 * 2].Colour = wx.RED
        self._checks[self._numstops // 3 * 2].Value = True
        for i in (0, -1):
            self._checks[i].SetValue(True)
            self._checks[i].Disable()
        for i in range(self._numstops):
            self._pickers[i].Bind(EVT_COLOR_PICKER, self.OnColorPicked)
        for i in range(1, self._numstops - 1):
            self._checks[i].Bind(wx.EVT_CHECKBOX, self.OnCheckChanged)

        self._grid = wx.FlexGridSizer(2, self._numstops, 0, 1)
        for i in range(self._numstops):
            self._grid.AddGrowableCol(i, 1)
        self._grid.AddMany([(p, 1, wx.EXPAND) for p in self._pickers])
        self._grid.AddMany([(c, 0, wx.ALIGN_CENTER) for c in self._checks])
        sizer.Add(self._grid, 1, wx.EXPAND)
        self.SetSizer(sizer)
示例#2
0
    def __init__(self, parent, camera):
        super().__init__(parent, style=wx.BORDER_RAISED)
        self.camera = camera
        self.Sizer = wx.BoxSizer(wx.VERTICAL)
        self.button = EnableButton(self, self.camera)
        self.button.setState(self.camera.state)
        self.Sizer.Add(self.button, flag=wx.EXPAND)
        self.Sizer.AddSpacer(2)

        line_height = int(self.GetFont().GetFractionalPointSize() / 2.0)
        self.line = wx.Control(self, size=(-1, line_height))
        self.line.SetBackgroundColour(wavelengthToColor(self.camera.wavelength or 0))
        self.Sizer.Add(self.line, flag=wx.EXPAND)
        # If there are problems here, it's because the inline function below is
        # being called outside of the main thread and needs taking out and
        # wrapping with wx.CallAfter.
        camera.addWatch('wavelength', self.onWavelengthChange)
        self.Sizer.AddSpacer(2)

        if hasattr(camera, 'modes'):
            modebutton = wx.Button(parent, label='Mode')
            self.Sizer.Add(modebutton)

        if camera.callbacks.get('makeUI', None):
            self.Sizer.Add(camera.callbacks['makeUI'](self))
        self.Sizer.AddSpacer(2)
示例#3
0
    def writing(self):
        self.xpb = pb.ProcessBar(None, '抽样中', 1000)
        # 循环抽样并写入所有的参数的抽样结果 生成抽样实验方案
        self.count = 0
        self.results = []
        for p in self.param.para:
            self.get_Result_Of_Paras(self.count)
            self.count += 1
        while (self.count <= 200):
            time.sleep(0.01)
            self.count += 1
            self.xpb.SetProcess(self.count)
        self.SQLrun()
        self.xpb.SetProcess(self.count, 1)
        time.sleep(0.5)
        dlg = wx.MessageDialog(None, message='抽样完成!')
        dlg.ShowModal()
        # create event class

        # 创建用于展示结果的 事件 用来代替展示结果按键绑定的事件 使之能自动发起该事件 而不用 点击按键
        ShowResultEvent, EVT_SHOW_RESULT = wx.lib.newevent.NewEvent()

        m_show = wx.Control()

        wx.PostEvent(m_show, ShowResultEvent())

        m_show.Bind(EVT_SHOW_RESULT, self.show_result)

        self.Layout()
示例#4
0
 def __init__(self):
     super().__init__(None, wx.ID_ANY, 'Control example',
                      wx.DefaultPosition, wx.Size(300, 300))
     self.panel = wx.Panel(self)
     self.control1 = wx.Control(self.panel, wx.ID_ANY, wx.Point(50, 50),
                                wx.Size(100, 50))
     self.control1.SetBackgroundColour(
         wx.TheColourDatabase.Find("Spring Green"))
     self.control1.Bind(wx.EVT_LEFT_DOWN, self.OnControlLeftDown)
示例#5
0
 def control_factory(self, parent, action):
     if toolkit_object.toolkit == 'wx':
         import wx
         control = wx.Control(parent)
     elif toolkit_object.toolkit == 'qt4':
         from pyface.qt import QtGui
         control = QtGui.QWidget(parent)
     else:
         control = None
     return control
 def __init__(self, parent):
     #               pre = wx.PreToolBar()
     #               pre.Show(False)
     #               pre.Create(parent, -1, style=wx.TB_HORIZONTAL|wx.NO_BORDER)
     #               self.this = pre.this
     #               self._setOORInfo(self)
     wx.ToolBar.__init__(self,
                         parent,
                         -1,
                         style=wx.TB_HORIZONTAL | wx.NO_BORDER)
     #self.spacer = wx.StaticText(self, -1, '')
     self.spacer = wx.Control(self, -1, style=wx.NO_BORDER)
     self.AddControl(self.spacer)
     #print self.ToolSize()
     size = wx.Size(16, 16)
示例#7
0
    def __init__(self, parent, lightToggle, lightPower=None, lightFilters=[]):
        super().__init__(parent, style=wx.BORDER_RAISED)
        self.light = lightToggle
        self.Sizer = wx.BoxSizer(wx.VERTICAL)
        self.button = EnableButton(self, self.light)
        self.button.setState(self.light.state)

        expCtrl = safeControls.SafeSpinCtrlDouble(self, inc=5)
        expCtrl.Bind(safeControls.EVT_SAFE_CONTROL_COMMIT,
                     lambda evt: self.light.setExposureTime(evt.Value))
        lightToggle.addWatch('exposureTime', expCtrl.SetValue)
        expCtrl.SetValue(lightToggle.exposureTime)

        self.Sizer.Add(self.button, flag=wx.EXPAND)
        self.Sizer.AddSpacer(2)
        line_height = int(self.GetFont().GetFractionalPointSize() / 2.0)
        line = wx.Control(self, size=(-1, line_height))
        line.SetBackgroundColour(wavelengthToColor(self.light.wavelength))
        self.Sizer.Add(line, flag=wx.EXPAND)

        self.Sizer.Add(wx.StaticText(self, label='Exposure / ms'),
                       flag=wx.ALIGN_CENTER_HORIZONTAL)
        self.Sizer.Add(expCtrl, flag=wx.EXPAND)

        if lightPower is not None:
            self.Sizer.AddSpacer(4)
            self.Sizer.Add(wx.StaticText(self, label='Power (%)'),
                           flag=wx.ALIGN_CENTER_HORIZONTAL)
            powCtrl = safeControls.SpinGauge(
                self,
                minValue=0.0,
                maxValue=100.0,
                fetch_current=lambda: lightPower.getPower() * 100.0)
            powCtrl.SetValue(lightPower.powerSetPoint * 100.0)
            lightPower.addWatch('powerSetPoint',
                                lambda p: powCtrl.SetValue(p * 100.0))
            powCtrl.Bind(safeControls.EVT_SAFE_CONTROL_COMMIT,
                         lambda evt: lightPower.setPower(evt.Value / 100.0))
            self.Sizer.Add(powCtrl)

        if lightFilters:
            self.Sizer.AddSpacer(4)
            self.Sizer.Add(wx.StaticText(self, label="Filters"),
                           flag=wx.ALIGN_CENTER_HORIZONTAL)
            for f in lightFilters:
                self.Sizer.Add(f.makeSelector(self), flag=wx.EXPAND)
示例#8
0
    def __init__(self, *args, **kw):
        wx.Panel.__init__(self, *args, **kw)
        fgs = wx.FlexGridSizer(cols=3, hgap=10, vgap=10)

        for name, bdr in styles:
            txt = wx.TextCtrl(self, size=(100, -1),
                              style=bdr)  #| wx.TE_RICH | wx.TE_MULTILINE)
            label = wx.StaticText(self, -1, name)
            ctrl = wx.Control(self, -1, style=bdr)
            ctrl.SetMinSize(txt.GetSize())
            ctrl.SetBackgroundColour("white")
            #txt.SetBackgroundColour("pink")
            fgs.Add(label)
            fgs.Add(ctrl)
            fgs.Add(txt)

        box = wx.BoxSizer()
        box.Add(fgs, 0, wx.ALL, 10)
        self.SetSizer(box)
        self.Fit()
示例#9
0
 def test_ControlCtors(self):
     c = wx.Control(self.frame)
     c = wx.Control(self.frame, -1, wx.Point(10,10), wx.Size(80,-1))
示例#10
0
 def test_ControlDefaultCtor(self):
     c = wx.Control()
     c.Create(self.frame)
示例#11
0
  def __init__(self,parent, size):
    '''
    
    '''
    super(DrawZone, self).__init__(parent, -1, size=size, style=wx.BORDER_NONE)
    
    ancho, alto = self.DoGetBestSize()
    self.parent=parent
    self._undoActive=False #No hay acción para deshacer
    self._isDrawing=False #Indica si se está realizando un trazo con clic sostenido
    self._isDraggingFigure=False #Indica si se está moviendo una figura
    self._figure=None
    self._selection=None #Figura de tipo rectangulo para indicar la selección
    self._selectionBmp=None #Bmp donde se guarda la selección para poder mover
    self._imodo=0 #Indice de modo
    self.modo=self._modos[self._imodo]
    self._kmodes=[m[-2] for k,m in self._modos.items()]
    self.dirs=parent.dirs
    self._slidesOn=False #Si hay presentación
    self._slides=None #lista de los slides o diapositivas
    self._lastClickLeft=(0,0) #Ultima posición del clic izquierdo
    #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    # Ingreso de texto 
    self._txbuff='' #Buffer
    self._txtSize=14
    self._drawTxt=wx.StaticText(self,label='',pos=(0,0))
    self._drawTxt.SetFont(wx.Font( wx.FontInfo(self._txtSize).Family(wx.FONTFAMILY_SWISS) ))
    self._txtHistorial=[] # historial de texto
    self._indexHistorial=0 #Indice para el historial
    #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    # Barra de estado
    self.sbHeight=24
    self.sb= wx.Control(self,size=(ancho,self.sbHeight),
      pos=wx.Point(0,alto-self.sbHeight),style=wx.BORDER_NONE)
    self._sbtxModo=wx.StaticText(self.sb, label='Modo: %s'%self.modo, pos=(44,2))
    self._sbtxCmd=LineCMD(self.sb, layout='| >> ', pos=(190,2), width=490)
    self._sbtxInfo=wx.StaticText(self.sb, label='| Msg: ', pos=(690,2))
    self._initIndicator=False # Para mostrar el color

    #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    # memoria de dibujo para evitar flicker
    self._bmpDrawCache=wx.Bitmap(ancho,alto)
    # para guardar la última modificación del mapa de bits
    self._bmpDrawUndo=wx.Bitmap(ancho,alto) 
    self.SetStyle(1)
    self._lastPoint=None #Se usa para susavizar el dibujado con rectas
    self._lastPoint2=None #Se utiliza para que funcione bien el deshacer en modo poligono
    self._toolDraw=0 #Herramienta de dibujo
    self._penWidth=2 #Herramienta
    self._eraserWidth=24#Ancho del borrador
    dc = wx.MemoryDC()
    dc.SelectObject(self._bmpDrawCache)
    dc.SetBackground(wx.Brush(self._bgBoardColour))
    dc.Clear()
    #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    # formula
    self.formula=FormulaCtrl(self,fsize=24,bcolour=self._bgBoardColour, size=(450,200))

    #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    # varios
    self._startedControl=False
    self.Bind(wx.EVT_PAINT, self.OnPaint)
    self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground) 
    
    
    self.Bind(wx.EVT_KEY_UP, self.OnCommand)
    self.Bind(wx.EVT_CHAR, self.OnChar)
    self.Bind(wx.EVT_LEFT_UP, self.OnLeftClic)
    
    self.Bind(wx.EVT_RIGHT_UP, self.OnRighClic)
示例#12
0
 def setUp(self):
     self.frame = wx.Frame(parent=None, id=wx.ID_ANY)
     self.testControl = wx.Control(parent=self.frame, id=wx.ID_ANY)
示例#13
0
 def AddNewTabAsButton(self):
     new_tab_button = wx.Control(self)
     new_tab_button.isNewTabButton = True
     self.InsertPage(0, new_tab_button, "+", select=False)