def __init__(self, extender): self._callbacks = extender._callbacks self._helpers = extender._callbacks.getHelpers() self._callbacks.registerScannerCheck(self) # Creamos el contenedor de paneles. self.contenedor = JTabbedPane() # Campos del sub-tab 1 (mash up) self._tab1_nombre = JTextField() self._tab1_apellido = JTextField() self._tab1_FNacimiento = JTextField() self._tab1_mascota = JTextField() self._tab1_otro = JTextField() self._tab1_feedback_ta = JTextArea('This may take a while . . .') self._tab1_feedback_ta.setEditable(False) self._tab1_feedback_sp = JScrollPane(self._tab1_feedback_ta) self._tab1_minsize = JSlider(4, 16, 6) self._tab1_minsize.setMajorTickSpacing(1) self._tab1_minsize.setPaintLabels(True) self._tab1_maxsize = JSlider(4, 16, 10) self._tab1_maxsize.setMajorTickSpacing(1) self._tab1_maxsize.setPaintLabels(True) self._tab1_specialchars = JTextField('!,@,#,$,&,*') self._tab1_transformations = JCheckBox('1337 mode') self._tab1_firstcapital = JCheckBox('first capital letter') # Campos del sub-tab 2 (redirect) self._tab2_JTFa = JTextField() self._tab2_JTFaa = JTextField() self._tab2_JTFb = JTextField() self._tab2_JTFbb = JTextField() self._tab2_boton = JButton(' Redirect is Off ', actionPerformed=self.switch_redirect) self._tab2_boton.background = Color.lightGray self._tab2_encendido = False # Campos del sub-tab 3 (loader) self._tab3_urls_ta = JTextArea(15, 5) self._tab3_urls_sp = JScrollPane(self._tab3_urls_ta) # Campos del sub-tab 4 (headers) self._tab4_tabla_model = DefaultTableModel() self._tab4_headers_dict = {} # Campos del sub-tab 5 (reverse ip) self._tab5_target = JTextArea(15, 5) self._tab5_target_sp = JScrollPane(self._tab5_target)
def addSlider(self): #adds a new slider at the bottom of the window. slider = JSlider() self.add( slider, BorderLayout.SOUTH ) #this is the best way I could find to make sure the slider appears somewhere consistent. self.ySize = self.ySize + 20 #the problem, sadly, is that all of the sliders and buttons and stuff appear at the SAME PLACE, overlapping. self.setSize(self.xSize, self.ySize)
def testJSlider(self): slider = JSlider(0, 10, 5) self.group.bind(slider, 'value', self.dummy, 'value') assert self.dummy.value == 5 slider.setValue(3) assert self.dummy.value == 3
def initComponents(self): #print("initComponents 1: " + self.local_settings.getSetting("vadAggressivness") + " " + self.local_settings.getSetting("minPercVoiced") + " " + self.local_settings.getSetting("minTotalVoiced")) self.setLayout(BoxLayout(self, BoxLayout.Y_AXIS)) self.label2 = JLabel() self.label2.setText("Minimum percentage of segments with speech") self.label3 = JLabel() self.label3.setText("Minimum total duration of segment with speech (s)") #sliderGetAction = lambda slider: slider.getValue() self.minPercVoiced = JSlider()#stateChanged=self.makeGuiCallback("minPercVoiced", sliderGetAction)) self.minPercVoiced.setMajorTickSpacing(20) self.minPercVoiced.setMinorTickSpacing(5) self.minPercVoiced.setPaintLabels(True) self.minPercVoiced.setPaintTicks(True) self.minTotalVoiced = JSlider()#stateChanged=self.makeGuiCallback("minTotalVoiced", sliderGetAction)) self.minTotalVoiced.setMajorTickSpacing(60) self.minTotalVoiced.setMaximum(180) self.minTotalVoiced.setMinorTickSpacing(10) self.minTotalVoiced.setPaintLabels(True) self.minTotalVoiced.setPaintTicks(True) #print("initComponents 2: " + self.local_settings.getSetting("vadAggressivness") + " " + self.local_settings.getSetting("minPercVoiced") + " " + self.local_settings.getSetting("minTotalVoiced")) #checkboxGetAction = lambda checkbox: checkbox.isSelected() self.runVadTranscriber = JCheckBox("Transcribe files with speech detected ? (slow)")#, #actionPerformed=self.makeGuiCallback("runVadTranscriber", checkboxGetAction)) self.showTextSegmentStartTime = JCheckBox("Show text segment start time ?") self.add(self.label2) self.add(self.minPercVoiced) self.add(self.label3) self.add(self.minTotalVoiced) self.add(self.showTextSegmentStartTime) self.add(self.runVadTranscriber) self.vadTranscriberLanguage = makeLanguageSelectionComboBox(self, "english")
def __init__(self, interpreter, debugger, debugPanel): self.interpreter = interpreter self.debugger = debugger self.debugPanel = debugPanel # Build our slider! self.slider = JSlider(JSlider.HORIZONTAL, debugger.MIN_SPEED, debugger.MAX_SPEED, debugger.speed, stateChanged=self._sliderSpeedChanged) # Label the slider! self.sliderLabels = labels = Hashtable() labels.put(debugger.MIN_SPEED, JLabel("Slow")) labels.put(debugger.MAX_SPEED, JLabel("Fast")) self.slider.labelTable = labels self.slider.paintLabels = True # Build some buttons! self.buttonInsets = Insets(0, 0, 0, 0) self.watchButton = self.makeDebuggerButton( self.debugPanel.watchVariable, 'images/plus.jpg') self.unwatchButton = self.makeDebuggerButton( self.debugPanel.unwatchVariable, 'images/minus.jpg') self.fullspeedButton = self.makeDebuggerButton( self.debugPanel.fullSpeed, 'images/fullspeed.jpg') self.stopButton = self.makeDebuggerButton(self.interpreter.stopAction, 'images/stop.jpg') # Display them all! self.setLayout(BoxLayout(self, BoxLayout.X_AXIS)) self.add(self.slider) self.add(self.watchButton) self.add(self.unwatchButton) self.add(self.fullspeedButton) self.add(self.stopButton) # Connect the slider to the debugger! self.debugger.onSpeedSet.connect(self._showSpeedSetting) self.debugger.onStart.connect(self._lockControls) self.debugger.onStop.connect(self._unlockControls)
def initComponents(self): self.setLayout(GridBagLayout()) gbc = GridBagConstraints() gbc.anchor = GridBagConstraints.NORTHWEST gbc.gridx = 0 gbc.gridy = 0 descriptionLabel = JLabel("FEA - Forensics Email Analysis") self.add(descriptionLabel, gbc) gbc.gridy = 1 self.cbNSLookup = JCheckBox( "Perform DNS Lookup on email domains", actionPerformed=self.cbNSLookupActionPerformed) self.cbNSLookup.setSelected(True) self.add(self.cbNSLookup, gbc) # TODO: include option to browse for text file with list of emails to exclude from analysis numberThreadsLabel = JLabel( "Maximum number of threads for DNS Lookup task: ") gbc.gridy = 2 self.add(numberThreadsLabel, gbc) self.numberThreadsSlider = JSlider( JSlider.HORIZONTAL, 1, 16, 8, stateChanged=self.sliderActionPerformed) self.numberThreadsSlider.setMajorTickSpacing(1) self.numberThreadsSlider.setPaintLabels(True) self.numberThreadsSlider.setPaintTicks(True) self.numberThreadsSlider.setSnapToTicks(True) self.numberThreadsSlider.setToolTipText( "set maximum number of concurrent threads when performing DNS lookup on email domains" ) gbc.gridy = 5 gbc.gridwidth = 15 gbc.gridheight = 1 gbc.fill = GridBagConstraints.BOTH gbc.weightx = 0 gbc.weighty = 0 gbc.anchor = GridBagConstraints.NORTHWEST gbc.gridy = 3 self.add(self.numberThreadsSlider, gbc) self.cbGenerateExcel = JCheckBox( "Generate Excel format report (more detailed)", actionPerformed=self.cbGenerateExcelActionPerformed) self.cbGenerateExcel.setSelected(True) gbc.gridy = 4 self.add(self.cbGenerateExcel, gbc) self.cbGenerateCSV = JCheckBox( "Generate CSV format report (plaintext)", actionPerformed=self.cbGenerateCSVActionPerformed) self.cbGenerateCSV.setSelected(True) gbc.gridy = 5 self.add(self.cbGenerateCSV, gbc) gbc.gridy = 6 self.cbWayback = JCheckBox( "Perform Wayback Machine Lookup on email domains (WARNING: can be a slow process!)", actionPerformed=self.cbWaybackActionPerformed) self.cbWayback.setSelected(True) self.add(self.cbWayback, gbc)
class AudioPlayerFrame(JmriJFrame): # Define the range for position values # By default, this is -10 to +10 range = 10 # Calculate slider range posMinMax = int(10**Audio.DECIMAL_PLACES) # Define controls playButton = JButton("Play") stopButton = JButton("Stop") pauseButton = JButton("Pause") refreshButton = JButton("Refresh") rangeSpinner = JSpinner(SpinnerNumberModel(range, 1, 100, 1)) sourceCombo = JComboBox() positionXSlider = JSlider() positionYSlider = JSlider() positionZSlider = JSlider() # Reference to AudioSource source = None # Define various constants PLAY = "AUDIO.PLAY" PAUSE = "AUDIO.PAUSE" RESUME = "AUDIO.RESUME" STOP = "AUDIO.STOP" REFRESH = "AUDIO.REFRESH" SELECT = "Select source from list" POSX = "X" POSY = "Y" POSZ = "Z" def __init__(self): # Setup controls - buttons first self.playButton.preferredSize = self.refreshButton.preferredSize self.playButton.actionCommand = self.PLAY self.playButton.actionPerformed = self.whenButtonClicked self.pauseButton.preferredSize = self.refreshButton.preferredSize self.pauseButton.actionCommand = self.PAUSE self.pauseButton.actionPerformed = self.whenButtonClicked self.stopButton.preferredSize = self.refreshButton.preferredSize self.stopButton.actionCommand = self.STOP self.stopButton.actionPerformed = self.whenButtonClicked self.refreshButton.actionCommand = self.REFRESH self.refreshButton.actionPerformed = self.whenButtonClicked # Now combobox and text field self.sourceCombo.itemStateChanged = self.whenSourceChanged self.updateSourcesList() self.rangeSpinner.stateChanged = self.whenRangeChanged # Now sliders ticksMajor = int(self.posMinMax / 4) ticksMinor = int(ticksMajor / 5) labels = Hashtable(3) labels.put(-self.posMinMax, JLabel("Left")) labels.put(0, JLabel("Centre")) labels.put(self.posMinMax, JLabel("Right")) self.positionXSlider.labelTable = labels self.positionXSlider.minimum = -self.posMinMax self.positionXSlider.maximum = self.posMinMax self.positionXSlider.majorTickSpacing = ticksMajor self.positionXSlider.minorTickSpacing = ticksMinor self.positionXSlider.paintTicks = True self.positionXSlider.paintLabels = True self.positionXSlider.snapToTicks = True self.positionXSlider.value = 0 self.positionXSlider.stateChanged = self.whenSliderXChanged labels = Hashtable(3) labels.put(-self.posMinMax, JLabel("Behind")) labels.put(0, JLabel("Centre")) labels.put(self.posMinMax, JLabel("In-front")) self.positionYSlider.labelTable = labels self.positionYSlider.minimum = -self.posMinMax self.positionYSlider.maximum = self.posMinMax self.positionYSlider.majorTickSpacing = ticksMajor self.positionYSlider.minorTickSpacing = ticksMinor self.positionYSlider.paintTicks = True self.positionYSlider.paintLabels = True self.positionYSlider.snapToTicks = True self.positionYSlider.value = 0 self.positionYSlider.orientation = JSlider.VERTICAL self.positionYSlider.stateChanged = self.whenSliderYChanged labels = Hashtable(3) labels.put(-self.posMinMax, JLabel("Below")) labels.put(0, JLabel("Centre")) labels.put(self.posMinMax, JLabel("Above")) self.positionZSlider.labelTable = labels self.positionZSlider.minimum = -self.posMinMax self.positionZSlider.maximum = self.posMinMax self.positionZSlider.majorTickSpacing = ticksMajor self.positionZSlider.minorTickSpacing = ticksMinor self.positionZSlider.paintTicks = True self.positionZSlider.paintLabels = True self.positionZSlider.snapToTicks = True self.positionZSlider.value = 0 self.positionZSlider.orientation = JSlider.VERTICAL self.positionZSlider.stateChanged = self.whenSliderZChanged # Setup frame self.title = "Simple JMRI Audio Player" self.contentPane.layout = BoxLayout(self.contentPane, BoxLayout.Y_AXIS) # Add controls to frame - combo & buttons first p = JPanel(FlowLayout(FlowLayout.LEADING)) p.add(self.sourceCombo) p.add(self.refreshButton) p.add(self.playButton) p.add(self.pauseButton) p.add(self.stopButton) #p.add(JLabel("Range")) #p.add(self.rangeSpinner) self.add(p) self.add(Box.createVerticalGlue()) # Now sliders p = JPanel(FlowLayout(FlowLayout.LEADING)) label = JLabel("Y Position") label.UI = VerticalLabelUI() # Default behaviour is anti-clockwise p.add(label) p.add(self.positionYSlider) p2 = JPanel() p2.layout = BoxLayout(p2, BoxLayout.Y_AXIS) p3 = JPanel() p3.add(JLabel("Range")) p3.add(self.rangeSpinner) p2.add(p3) #p2.add(Box.createVerticalGlue()) p3 = JPanel() p3.layout = BoxLayout(p3, BoxLayout.Y_AXIS) label = JLabel("X Position") label.alignmentX = JLabel.CENTER_ALIGNMENT p3.add(label) p3.add(self.positionXSlider) p2.add(p3) p.add(p2) label = JLabel("Z Position") label.UI = VerticalLabelUI() p.add(label) p.add(self.positionZSlider) self.add(p) # Finally pack and show self.pack() self.show() def updateSourcesList(self): # Clear the ComboBox self.sourceCombo.removeAllItems() # Now populate self.sourceCombo.addItem(self.SELECT) # Retrieve system name list of AudioSources for source in audio.getSystemNameList(Audio.SOURCE): # Add available sources to the list self.sourceCombo.addItem(source) def whenRangeChanged(self, event): # store value & update sliders self.range = self.rangeSpinner.value self.updateSliders() def whenSourceChanged(self, event): # Only do something when an item is selected if event.getStateChange() == ItemEvent.SELECTED: # Stop playing source self.stopSource() if (event.getItem() != self.SELECT): # Set reference to source self.source = audio.provideAudio(event.getItem()) # Enable buttons & update sliders self.enableControls(True) self.updateSliders() else: # Clear reference to source self.source = None # Disable buttons self.enableControls(False) def whenButtonClicked(self, event): # Get the action command command = event.getActionCommand() # Execute appropriate action if self.source != None: if command == self.PLAY: self.pauseButton.actionCommand = self.PAUSE self.pauseButton.text = "Pause" self.playSource() elif command == self.PAUSE: self.pauseButton.actionCommand = self.RESUME self.pauseButton.text = "Resume" self.pauseSource() elif command == self.RESUME: self.pauseButton.actionCommand = self.PAUSE self.pauseButton.text = "Pause" self.resumeSource() elif command == self.STOP: self.pauseButton.actionCommand = self.PAUSE self.pauseButton.text = "Pause" self.stopSource() elif command == self.REFRESH: self.updateSourcesList() else: print "No action defined!" def playSource(self): if self.source != None: self.source.play() def pauseSource(self): if self.source != None: self.source.pause() def resumeSource(self): if self.source != None: self.source.resume() def stopSource(self): if self.source != None: self.source.stop() def whenSliderXChanged(self, event): self.changePosition( self.POSX, (float(self.positionXSlider.value) / self.posMinMax * self.range)) def whenSliderYChanged(self, event): self.changePosition( self.POSY, (float(self.positionYSlider.value) / self.posMinMax * self.range)) def whenSliderZChanged(self, event): self.changePosition( self.POSZ, (float(self.positionZSlider.value) / self.posMinMax * self.range)) def changePosition(self, which, value): if self.source != None: # Get the current position pos = self.source.getPosition() # Determine which axis to alter if which == self.POSX: pos.x = value elif which == self.POSY: pos.y = value elif which == self.POSZ: pos.z = value # Now change the position self.source.position = pos def updateSliders(self): # Get the current position pos = self.source.getPosition() # Update sliders self.positionXSlider.value = int(pos.x * self.posMinMax / self.range) self.positionYSlider.value = int(pos.y * self.posMinMax / self.range) self.positionZSlider.value = int(pos.z * self.posMinMax / self.range) def enableControls(self, enable): self.playButton.enabled = enable self.pauseButton.enabled = enable self.stopButton.enabled = enable self.positionXSlider.enabled = enable self.positionYSlider.enabled = enable self.positionZSlider.enabled = enable self.rangeSpinner.enabled = enable
class SliderListener(ChangeListener): def __init__(self, view): self.view = view def stateChanged(self, evt): s = evt.getSource() self.view.update(s.getValue()) frame = JFrame("Mesh taken from " + xmlDir + "* directories") frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) canvas = MyView(xmlDir) frame.add(canvas, BorderLayout.CENTER) jSlider1 = JSlider() jSlider1.setValue(0) jSlider1.setMaximum(canvas.getMaxIndex()) jSlider1.setPaintLabels(True) jSlider1.addChangeListener(SliderListener(canvas)) frame.add(jSlider1, BorderLayout.SOUTH) frame.setSize(800, 600) frame.setVisible(True) class MyKeyListener(KeyListener): def __init__(self, view, slider): self.view = view self.slider = slider