本文整理汇总了Python中pyjamas.ui.ListBox.ListBox.setEnabled方法的典型用法代码示例。如果您正苦于以下问题:Python ListBox.setEnabled方法的具体用法?Python ListBox.setEnabled怎么用?Python ListBox.setEnabled使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyjamas.ui.ListBox.ListBox
的用法示例。
在下文中一共展示了ListBox.setEnabled方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: CustomEditor
# 需要导入模块: from pyjamas.ui.ListBox import ListBox [as 别名]
# 或者: from pyjamas.ui.ListBox.ListBox import setEnabled [as 别名]
class CustomEditor(Editor):
""" Custom style of editor for instances. If selection among instances is
allowed, the editor displays a combo box listing instances that can be
selected. If the current instance is editable, the editor displays a panel
containing trait editors for all the instance's traits.
"""
# Background color when an item can be dropped on the editor:
ok_color = DropColor
# The orientation of the instance editor relative to the instance selector:
orientation = "vertical"
# Class constant:
extra = 0
# ---------------------------------------------------------------------------
# Trait definitions:
# ---------------------------------------------------------------------------
# List of InstanceChoiceItem objects used by the editor
items = Property
# The view to use for displaying the instance
view = AView
# ---------------------------------------------------------------------------
# Finishes initializing the editor by creating the underlying toolkit
# widget:
# ---------------------------------------------------------------------------
def init(self, parent):
""" Finishes initializing the editor by creating the underlying toolkit
widget.
"""
factory = self.factory
if factory.name != "":
self._object, self._name, self._value = self.parse_extended_name(factory.name)
# Create a panel to hold the object trait's view:
if factory.editable:
self.control = self._panel = parent = SimplePanel()
# Build the instance selector if needed:
selectable = factory.selectable
droppable = factory.droppable
items = self.items
for item in items:
droppable |= item.is_droppable()
selectable |= item.is_selectable()
if selectable:
self._object_cache = {}
item = self.item_for(self.value)
if item is not None:
self._object_cache[id(item)] = self.value
self._choice = ListBox()
self._choice.setVisibleItemCount(0)
self._choice.addChangeLister(getattr(self, "update_object"))
self.set_tooltip(self._choice)
if factory.name != "":
self._object.on_trait_change(self.rebuild_items, self._name, dispatch="ui")
self._object.on_trait_change(self.rebuild_items, self._name + "_items", dispatch="ui")
factory.on_trait_change(self.rebuild_items, "values", dispatch="ui")
factory.on_trait_change(self.rebuild_items, "values_items", dispatch="ui")
self.rebuild_items()
elif droppable:
self._choice = TextBox()
self._choice.setEnabled(False)
self.set_tooltip(self._choice)
# if droppable:
# self._choice.SetDropTarget( PythonDropTarget( self ) )
orientation = factory.orientation
if orientation is "default":
orientation = self.orientation
if (selectable or droppable) and factory.editable:
if orientation is "horizontal":
panel = HorizontalPanel()
else:
panel = VerticalPanel()
# layout = QtGui.QBoxLayout(orientation, parent)
# layout.setMargin(0)
# layout.addWidget(self._choice)
#
# if orientation == QtGui.QBoxLayout.TopToBottom:
# hline = QtGui.QFrame()
# hline.setFrameShape(QtGui.QFrame.HLine)
# hline.setFrameShadow(QtGui.QFrame.Sunken)
#
# layout.addWidget(hline)
#.........这里部分代码省略.........
示例2: __init__
# 需要导入模块: from pyjamas.ui.ListBox import ListBox [as 别名]
# 或者: from pyjamas.ui.ListBox.ListBox import setEnabled [as 别名]
class I2CPanel :
class saveStateListener :
def __init__(self, panel) :
self._saveStatePanel=panel
def onRemoteResponse(self, response, request_info):
self._saveStatePanel.returnStatement.setText("File saved:" + response)
def onRemoteError(self, code, message, request_info):
ErrorMessage( "Unable to contact server" )
class loadStateListener :
def __init__(self, panel) :
self._saveStatePanel=panel
def onRemoteResponse(self, response, request_info):
self._saveStatePanel.returnStatement.setText("File loaded:" + response)
self._saveStatePanel.rpcService.I2CRegisterValues( self._saveStatePanel.getTotalCBCs(), I2CPanel.ReadRegisterValueListener(self._saveStatePanel) ) #refresh of text boxes
def onRemoteError(self, code, message, request_info):
ErrorMessage( "Unable to contact server" )
class ConnectedCBCListener :
"""
A class to listen for the response to the connectedCBCNames call
"""
def __init__(self, listBox) :
self.listBox=listBox
def onRemoteResponse(self, response, request_info):
self.listBox.clear()
if response == None:
self.listBox.addItem("<none>")
self.listBox.setEnabled( False )
else :
for name in response :
self.listBox.addItem(name) #e.g FE0CBC0
self.listBox.setEnabled(True)
def onRemoteError(self, code, message, request_info):
ErrorMessage( "Unable to contact server" )
class ReadRegisterValueListener :
"""
A class to listen for the response to the call to get the register values
"""
def __init__(self, panel) :
self._I2Cpanel=panel
self.textBoxes=self._I2Cpanel.i2cValueEntries
def onRemoteResponse(self, response, request_info):
#Call is now made for all connected CBCs for better stability of status box- fb
for cbcName in self._I2Cpanel.getActiveCBCs():
if cbcName=='FE0CBC0':
valuesTuple = response[response.keys()[0]]
elif cbcName=='FE0CBC1':
valuesTuple = response[response.keys()[1]]
# For this chip loop over all the register and set the text box values
for registerName in valuesTuple :
box=self.textBoxes[registerName]
status=self._I2Cpanel.statusValueEntries[registerName]
box.setText( "0x%02x"%valuesTuple[registerName] )
box.setStyleAttribute( "background-color", "#FFFFFF" )
box.setEnabled( True )
#for some reason pyjas likes these separated - fb
for registerName in valuesTuple:
if response['FE0CBC0'][registerName]==response['FE0CBC1'][registerName]:
self._I2Cpanel.statusValueEntries[registerName].setText("==")
else:
self._I2Cpanel.statusValueEntries[registerName].setText(" //")
def onRemoteError(self, code, message, request_info):
ErrorMessage( "Unable to contact server" )
class RefreshListener :
"""
A class that will wait for a response before refreshing the status box
"""
def __init__(self, panel) :
self._Refresh = panel
def onRemoteResponse(self, response, request_info):
self._Refresh.rpcService.I2CRegisterValues( self._Refresh.getTotalCBCs(), I2CPanel.ReadRegisterValueListener(self._Refresh) ) #Live refresh of the status box
def onRemoteError(self, code, message, request_info):
ErrorMessage( "Unable to contact server" )
def __init__( self ) :
# This is the service that will be used to communicate with the DAQ software
self.rpcService = GlibRPCService.instance()
# The main panel that everythings will be insided
self.mainPanel = HorizontalPanel()
self.mainPanel.setSpacing(10)
self.i2cValueEntries = {} # The input boxes for all the registers
self.statusValueEntries = {} # Displays the status of the i2cValueEntries
self.stateValueEntries = {} # For load/save state
self.fileName = {} # File name of the i2c registers
#.........这里部分代码省略.........
示例3: DisplayHistogramsView
# 需要导入模块: from pyjamas.ui.ListBox import ListBox [as 别名]
# 或者: from pyjamas.ui.ListBox.ListBox import setEnabled [as 别名]
class DisplayHistogramsView(object) :
"""
@brief View in the MVP pattern for displaying histograms.
@author Mark Grimes ([email protected])
@date 09/Feb/2014
"""
def __init__( self ) :
self.cbcList=ListBox(MultipleSelect=True, VisibleItemCount=4)
self.channelList=ListBox(MultipleSelect=True, VisibleItemCount=20)
self.updateButton=Button("Update")
controls=VerticalPanel()
controls.add(self.updateButton)
controls.add(self.cbcList)
controls.add(self.channelList)
controls.setCellHorizontalAlignment( self.updateButton, HasHorizontalAlignment.ALIGN_CENTER )
self.cbcList.setWidth("95%")
self.channelList.setWidth("95%")
self.cbcList.addItem( "waiting..." )
for index in range(0,254) :
self.channelList.addItem( "Channel %3d"%index )
self.histogram = Image()
self.mainPanel = HorizontalPanel()
self.mainPanel.add( controls )
self.mainPanel.add( self.histogram )
self.histogram.setUrl( "defaultScurveHistogram.png" )
def getPanel( self ) :
return self.mainPanel
def setAvailableCBCs( self, cbcNames ) :
self.cbcList.clear()
for name in cbcNames :
self.cbcList.addItem( name )
def enable( self ) :
self.updateButton.setEnabled(True)
self.cbcList.setEnabled(True)
self.channelList.setEnabled(True)
def disable( self ) :
self.updateButton.setEnabled(False)
self.cbcList.setEnabled(False)
self.channelList.setEnabled(False)
def getUpdateButton( self ) :
return self.updateButton
def getSelectedCBCChannels( self ) :
"""
Returns a dictionary of which channels are selected, with CBC name as a key and
an array of the channels for that CBC as the value.
"""
# The way this view is currently set up, the selected channels have to be the same
# for each selected CBC.
selectedChannels=[]
for index in range(self.channelList.getItemCount()) :
if self.channelList.isItemSelected(index) :
selectedChannels.append(index)
returnValue={}
for index in range(self.cbcList.getItemCount()) :
if self.cbcList.isItemSelected(index) : returnValue[self.cbcList.getItemText(index)]=selectedChannels
return returnValue
def setImage( self, url ) :
self.histogram.setUrl( url )