def __init__(self):
        JPanel.__init__(self)
        
        self.myGL = GL()
        self.myGLU = GLU(self.myGL)
        self.myAUX = GLAUX(self.myGL)
        self.myGLUT = GLUT(self.myGL)
        
        self.myAUX.auxInitPosition(0, 0, 208, 227)
        self.myAUX.auxInitWindow(self)
        
        myGL = self.myGL

        myGL.glClearColor(0.0, 0.0, 0.0, 0.0)
        myGL.glEnable(GL.GL_DEPTH_TEST)
        myGL.glShadeModel(GL.GL_SMOOTH)
    
        myGL.glEnable(GL.GL_TEXTURE_GEN_S)
        #myGL.glEnable(GL.GL_TEXTURE_1D)
        myGL.glEnable(GL.GL_CULL_FACE)
        myGL.glEnable(GL.GL_LIGHTING)
        myGL.glEnable(GL.GL_LIGHT0)
        myGL.glEnable(GL.GL_AUTO_NORMAL)
        myGL.glEnable(GL.GL_NORMALIZE)
        myGL.glFrontFace(GL.GL_CW)
        myGL.glCullFace(GL.GL_BACK)
        myGL.glMaterialf(GL.GL_FRONT, GL.GL_SHININESS, 64.0)
        
        self.componentResized = self.OnComponentResized
示例#2
0
 def __init__(self, employees, overview_listener):
     JPanel.__init__(self, layout=BorderLayout())
     self._listener = overview_listener
     self._employee_list = self._create_employee_list(employees)
     new_emp_btn = self._create_new_employee_button()
     self.add(self._employee_list.widget, BorderLayout.PAGE_START)
     self.add(new_emp_btn, BorderLayout.PAGE_END)
 def __init__(self, employees, overview_listener):
     JPanel.__init__(self, layout=BorderLayout())
     self._listener = overview_listener
     self._employee_list = self._create_employee_list(employees)
     new_emp_btn = self._create_new_employee_button()
     self.add(self._employee_list.widget, BorderLayout.PAGE_START)
     self.add(new_emp_btn, BorderLayout.PAGE_END)
示例#4
0
    def __init__(self, label=None):
        JPanel.__init__(self)
        self.addMouseListener(self)
        self.addMouseWheelListener(self)
        self.addMouseMotionListener(self)
        self.hover = False
        self.min_width = 20
        self.min_height = 20
        self.resize_border = 20
        self.max_show_dim = 30        # The maximum number of display dimensions to show in the popup menu
        self.setSize(100, 50)
        self.border = self.default_border

        self.popup = JPopupMenu()
        self.popup.add(JMenuItem('hide', actionPerformed=self.hideme))

        self.show_label = False
        self.label = label
        self.label_offset = 0
        if self.label is not None:
            self.show_label = True
            self.popup.add(JPopupMenu.Separator())
            self.popup_label = JCheckBoxMenuItem('label', self.show_label, actionPerformed=self.toggle_label)
            self.popup.add(self.popup_label)
            self.label_height = 15
            self.update_label()
        else:
            self.label_height = 0
示例#5
0
	def __init__(self,hostname):
		
		self.hostname=hostname
		
		JPanel.__init__(self,BorderLayout())
		self.cbActionListener=foo2(self)
		
		#imglist=os.listdir('./img')
		#try:imglist.remove('.svn')
		#except:pass
		imglist=['01-CircleOfFifths.gif','Fifths.png','circle-o-fifths.jpg','Circle_Of_Fifths.gif','Keywheel.gif','circle-of-fifths.gif','ColorFifths.jpg','cof.gif']
		
		self.cb=JComboBox(imglist,actionListener=self.cbActionListener)#
		#self.cb.addItemListener(self.cbCB)
		tb=JPanel()
		tb.setLayout(FlowLayout(FlowLayout.CENTER))
		tb.add(self.cb)
		self.add(tb,'Center')
		
		self.img=None
		if hostname[0:7]=='http://':
			self.img=ImageIO.read(URL(self.hostname+'/static/sightreadingtrainer/img/'+imglist[0]))
		else:
			self.img=ImageIO.read(File(self.hostname+'img/'+imglist[0]))
		
		icon=ImageIcon(self.img)
		self.label=JLabel(icon)
		self.add(self.label,'North')
示例#6
0
 def __init__(self, browser, valueType):
     JPanel.__init__(self)
     self.browser = browser
     self.valueType = valueType
     self.internalValueChanging = True
     self.basicInitialization()
     self.makeComponents()
     self.originalValueBytes = ""
     self.valueType = valueType
     self.internalValueChanging = False
示例#7
0
 def __init__(self, employees):
     JPanel.__init__(self, preferredSize=(400, 200))
     layout = BoxLayout(self, BoxLayout.Y_AXIS)
     self.setLayout(layout)
     self._employees = employees
     employees.add_change_listener(self)
     self._create_status_label()
     self._create_name_editor()
     self._create_start_date_editor()
     self._create_save_button()
     self._adding_employee = False
示例#8
0
 def __init__(self, employees):
     JPanel.__init__(self, preferredSize=(400, 200))
     layout = BoxLayout(self, BoxLayout.Y_AXIS)
     self.setLayout(layout)
     self._employees = employees
     employees.add_change_listener(self)
     self._create_status_label()
     self._create_name_editor()
     self._create_start_date_editor()
     self._create_save_button()
     self._adding_employee = False
示例#9
0
 def __init__(self,view,**args):
     JPanel.__init__(self,**args)
     self.view=view
     self.layout=BorderLayout()
     self.chart=None
     self.graph=JLabel()
     self.add(self.graph)
     self.should_update=True
     self.thread=java.lang.Thread(self)
     #self.thread.priority=java.lang.Thread.MIN_PRIORITY
     self.thread.start()
    def __init__(self):
        JPanel.__init__(self)

        self.setLayout(GridBagLayout())
        self.setBorder(TitledBorder("Channel"))

        # some helper constants
        REL = GridBagConstraints.RELATIVE
        REM = GridBagConstraints.REMAINDER
        HORIZ = GridBagConstraints.HORIZONTAL
        NW = GridBagConstraints.NORTHWEST
        CENTER = GridBagConstraints.CENTER

        # --- title
        label = JLabel("Title:")
        self.constrain(label, REL, REL, REL, 1, HORIZ, CENTER, 1.0, 1.0, 2, 2,
                       2, 2)
        self.field_title = JTextField()
        self.field_title.setEditable(0)
        self.constrain(self.field_title, REL, REL, REM, 1, HORIZ, CENTER, 1.0,
                       1.0, 2, 2, 2, 2)

        # --- description
        label = JLabel("Description:")
        self.constrain(label, REL, REL, REL, 1, HORIZ, NW, 1.0, 1.0, 2, 2, 2,
                       2)
        self.field_descr = JTextArea(3, 40)
        self.field_descr.setEditable(0)
        # wrap long lines
        self.field_descr.setLineWrap(1)
        # allow only full words to be wrapped
        self.field_descr.setWrapStyleWord(1)
        # ensure that the border look is the same
        self.field_descr.setBorder(self.field_title.getBorder())
        self.constrain(self.field_descr, REL, REL, REM, 1, HORIZ, NW, 1.0, 1.0,
                       2, 2, 2, 2)

        # --- location
        label = JLabel("Location:")
        self.constrain(label, REL, REL, REL, 1, HORIZ, NW, 1.0, 1.0, 2, 2, 2,
                       2)
        self.field_location = JTextField()
        self.constrain(self.field_location, REL, REL, REM, REL, HORIZ, NW, 1.0,
                       1.0, 2, 2, 2, 2)

        # --- last update
        label = JLabel("Last Update:")
        self.constrain(label, REL, REL, REL, REM, HORIZ, NW, 1.0, 1.0, 2, 2, 2,
                       2)
        self.field_lastupdate = JTextField()
        self.field_lastupdate.setEditable(0)
        self.constrain(self.field_lastupdate, REL, REL, REM, REM, HORIZ, NW,
                       1.0, 1.0, 2, 2, 2, 2)
示例#11
0
 def __init__(self, size):
     JPanel.__init__(self)
     self.setPreferredSize(Dimension(size[0],size[1]))
     self.surface = Surface(size, BufferedImage.TYPE_INT_RGB)
     self.setBackground(Color.BLACK)
     self.addMouseListener(self)
     self.addMouseMotionListener(self)
     self.addMouseWheelListener(self)
     self.addKeyListener(self)
     self.setFocusable(True)
     self.requestFocusInWindow()
     self.event = pyj2d.event
     self.modKey = pyj2d.event.modKey
     self._repainting = Clock._repaint_sync
示例#12
0
	def __init__(self):
		
		JPanel.__init__(self,BorderLayout())
		self.editor=JEditorPane()
		self.editor.setEditable(0)
		#self.editor.setContentType('text/html')
		self.editor.setContentType('text/html')
		sp=JScrollPane(self.editor,
			JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
			JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED)
		self.add(sp,'Center')
		
		#html="<html><h1>Test</h1></html>"
		#self.editor.setText(html)
		#self.lines='HELP'
		self.editor.setText(HELP_TEXT)
示例#13
0
 def __init__(self, size):
     JPanel.__init__(self)
     self.setPreferredSize(Dimension(size[0], size[1]))
     self.surface = Surface(size, BufferedImage.TYPE_INT_RGB)
     self.setBackground(Color.BLACK)
     self.addMouseListener(self)
     self.addMouseMotionListener(self)
     self.addMouseWheelListener(self)
     self.addKeyListener(self)
     self.setFocusable(True)
     self.requestFocusInWindow()
     self.event = env.event
     self.modKey = self.event.modKey
     self.keyRepeat = self.event.keyRepeat
     self.keyHeld = self.event.keyHeld
     self._repainting = Clock._repaint_sync
示例#14
0
    def __init__(self, crate, slot, parentCrate):
        JPanel.__init__(self)
        self.bag = GridBag(self)
        # vertical labels
        for y in range(len(self.board.spyShortNameList)):
            name = self.board.spyShortNameList[y]
            self.bag.add(JLabel(name), gridx=0, gridy=y)
        # spy monitors
        self.spyMonitorList = map(
            lambda x, parentCrate=parentCrate: spyMonitor(x, parentCrate),
            self.board.spyList)
        for i in range(self.board.spyNumber):
            self.bag.add(self.spyMonitorList[i], gridx=1, gridy=i)

# set borders - this line is copied by an online Swing tutorial...
        self.border = BorderFactory.createCompoundBorder(
            BorderFactory.createTitledBorder("%s-%d" %
                                             (self.board.type, slot)),
            BorderFactory.createEmptyBorder(5, 5, 5, 5))
示例#15
0
 def __init__(self, parentCrate=None):
     JPanel.__init__(self)
     self.spy = None
     self.parentCrate = parentCrate
     self.nw = 10  # Number of words (total)
     self.upperPanel = JPanel()
     self.lowerPanel = JPanel()
     self.add(self.upperPanel)
     self.add(self.lowerPanel)
     self.nameLabel = JLabel("n/a")
     self.slotLabel = JLabel("n/a")
     self.textArea = JTextArea("n/a", 1, 70, editable=0)
     self.scrollPane = JScrollPane(self.textArea)
     self.textField = JTextField(3,
                                 actionCommand="textField",
                                 text=("%d" % self.nw))
     self.textField.addActionListener(self)
     self.clearButton = JButton("Stop", actionCommand="button")
     self.clearButton.addActionListener(self)
     self.border = BorderFactory.createEmptyBorder(5, 5, 5, 5)
     self.layout = BoxLayout(self, BoxLayout.Y_AXIS)
     self.upperPanel.layout = BoxLayout(self.upperPanel, BoxLayout.X_AXIS)
     self.lowerPanel.layout = BoxLayout(self.lowerPanel, BoxLayout.X_AXIS)
     self.upperPanel.add(self.clearButton)
     self.upperPanel.add(Box.createRigidArea(Dimension(20, 0)))
     self.upperPanel.add(JLabel("Spy:"))
     self.upperPanel.add(Box.createRigidArea(Dimension(5, 0)))
     self.upperPanel.add(self.nameLabel)
     self.upperPanel.add(Box.createRigidArea(Dimension(20, 0)))
     self.upperPanel.add(JLabel("Slot:"))
     self.upperPanel.add(Box.createRigidArea(Dimension(5, 0)))
     self.upperPanel.add(self.slotLabel)
     self.upperPanel.add(Box.createRigidArea(Dimension(20, 0)))
     self.upperPanel.add(JLabel("Number of words:"))
     self.upperPanel.add(Box.createRigidArea(Dimension(5, 0)))
     self.upperPanel.add(self.textField)
     self.upperPanel.add(Box.createHorizontalGlue())
     self.lowerPanel.add(JLabel("Tail contents:"))
     self.lowerPanel.add(Box.createRigidArea(Dimension(5, 0)))
     self.lowerPanel.add(self.scrollPane)
     self.lowerPanel.add(Box.createHorizontalGlue())
示例#16
0
    def __init__(self,view):
        JPanel.__init__(self)
        self.view=view
        self.background=Color.white
        self.layout=BorderLayout()

        self.popup=JPopupMenu()
        self.popup_items={}

        self.add(self.make_controls(),BorderLayout.SOUTH)

        data,title=self.extract_data()
        self.table=JTable(DefaultTableModel(data,title))

        scroll=JScrollPane(self.table)
        self.add(scroll)

        scroll.addMouseListener(self)
        self.table.tableHeader.addMouseListener(self)
        self.table.addMouseListener(self)

        self.fileChooser=JFileChooser()
        self.fileChooser.setFileFilter(CSVFilter())
        self.fileChooser.setSelectedFile(File('%s.csv'%self.view.network.name))
示例#17
0
 def __init__(self, network):
     JPanel.__init__(self)
     self.network = network
     self.nodes = {}
示例#18
0
 def __init__(self, *args, **kwargs):
     JPanel.__init__(self, *args, **kwargs)
     self.setLayout(BoxLayout(self, BoxLayout.PAGE_AXIS))
 def __init__(self):
     JPanel.__init__(self, preferredSize=(400, 200))
     self.add(JLabel("VaCalc v0.1"))
示例#20
0
 def __init__(self, *args, **kwargs):
     JPanel.__init__(self, *args, **kwargs)
     self.setLayout(FlowLayout())
示例#21
0
    def __init__(self):
        JPanel.__init__(self)

        self.setLayout(GridBagLayout())
        self.setBorder(TitledBorder("Channel"))

        # some helper constants
        REL = GridBagConstraints.RELATIVE
        REM = GridBagConstraints.REMAINDER
        HORIZ = GridBagConstraints.HORIZONTAL
        NW = GridBagConstraints.NORTHWEST
        CENTER = GridBagConstraints.CENTER

        # --- title
        label = JLabel("Title:")
        self.constrain(label, REL, REL, REL, 1,
                       HORIZ, CENTER, 1.0, 1.0,
                       2, 2, 2, 2)
        self.field_title = JTextField()
        self.field_title.setEditable(0)
        self.constrain(self.field_title, REL, REL, REM, 1,
                       HORIZ, CENTER, 1.0, 1.0,
                       2, 2, 2, 2)

        # --- description
        label = JLabel("Description:")
        self.constrain(label, REL, REL, REL, 1,
                       HORIZ, NW, 1.0, 1.0,
                       2, 2, 2, 2)
        self.field_descr = JTextArea(3, 40)
        self.field_descr.setEditable(0)
        # wrap long lines
        self.field_descr.setLineWrap(1)
        # allow only full words to be wrapped
        self.field_descr.setWrapStyleWord(1)
        # ensure that the border look is the same
        self.field_descr.setBorder(self.field_title.getBorder())
        self.constrain(self.field_descr, REL, REL, REM, 1,
                       HORIZ, NW, 1.0, 1.0,
                       2, 2, 2, 2)

        # --- location
        label = JLabel("Location:")
        self.constrain(label, REL, REL, REL, 1,
                       HORIZ, NW, 1.0, 1.0,
                       2, 2, 2, 2)
        self.field_location = JTextField()
        self.constrain(self.field_location, REL, REL, REM, REL,
                       HORIZ, NW, 1.0, 1.0,
                       2, 2, 2, 2)

        # --- last update
        label = JLabel("Last Update:")
        self.constrain(label, REL, REL, REL, REM,
                       HORIZ, NW, 1.0, 1.0,
                       2, 2, 2, 2)
        self.field_lastupdate = JTextField()
        self.field_lastupdate.setEditable(0)
        self.constrain(self.field_lastupdate, REL, REL, REM, REM,
                       HORIZ, NW, 1.0, 1.0,
                       2, 2, 2, 2)
示例#22
0
 def __init__(self, *args, **kwargs):
     JPanel.__init__(self, *args, **kwargs)
     self.setLayout(GridLayout(0, 1))
示例#23
0
 def __init__(self, imageIcon=None):
     JPanel.__init__(self)
     self.imageIcon = imageIcon
示例#24
0
 def __init__(self, imageIcon=None):
     JPanel.__init__(self)
     self.imageIcon = imageIcon
示例#25
0
 def __init__(self, size):
     JPanel.__init__(self)
     self.setPreferredSize(Dimension(size[0],size[1]))
     self.surface = pyj2d.surface.Surface(size, BufferedImage.TYPE_INT_RGB)
     self.setBackground(Color.BLACK)
示例#26
0
 def __init__(self):
     JPanel.__init__(self, preferredSize=(400, 200))
     self.add(JLabel('VaCalc v0.1'))
示例#27
-1
    def __init__(self, view):
        JPanel.__init__(self)
        self.view = view
        self.background = Color.white
        self.config_panel_height = 60

        mainPanel = JPanel(background=self.background, layout=BorderLayout())
        mainPanel.border = self.RoundedBorder()
        configPanel = JPanel(background=self.background, visible=False)

        self.layout = BorderLayout()
        self.add(mainPanel, BorderLayout.NORTH)
        self.add(configPanel, BorderLayout.SOUTH)

        self.config_button = JButton(Icon.arrowdown, rolloverIcon=ShadedIcon.arrowdown, toolTipText='configure', actionPerformed=self.configure, borderPainted=False, focusPainted=False, contentAreaFilled=False)
        self.add(self.config_button)

        self.configPanel = configPanel

        self.slider = JSlider(0, 1, 0, background=self.background)
        self.slider.snapToTicks = True
        mainPanel.add(self.slider)
        self.slider.addChangeListener(self)

        self.min_time = JLabel(' 0.0000 ', opaque=True, background=self.background)
        self.max_time = JLabel(' 0.0000 ', opaque=True, background=self.background)

        self.left_panel = JPanel(background=self.background)
        self.left_panel.add(JButton(Icon.restart, rolloverIcon=ShadedIcon.restart, toolTipText='restart', actionPerformed=self.start, borderPainted=False, focusPainted=False, contentAreaFilled=False))
        self.left_panel.add(self.min_time)
        self.left_panel.add(JButton(icon=Icon.start, rolloverIcon=ShadedIcon.start, toolTipText='jump to beginning', actionPerformed=lambda x: self.slider.setValue(self.slider.minimum), borderPainted=False, focusPainted=False, contentAreaFilled=False))

        self.right_panel = JPanel(background=self.background)
        self.right_panel.add(JButton(icon=Icon.end, rolloverIcon=ShadedIcon.end, toolTipText='jump to end', actionPerformed=lambda x: self.slider.setValue(self.slider.maximum), borderPainted=False, focusPainted=False, contentAreaFilled=False))
        self.right_panel.add(self.max_time)
        self.playpause_button = JButton(Icon.play, actionPerformed=self.pause, rolloverIcon=ShadedIcon.play, toolTipText='continue', borderPainted=False, focusPainted=False, contentAreaFilled=False)
        self.right_panel.add(self.playpause_button)

        mainPanel.add(self.left_panel, BorderLayout.WEST)
        mainPanel.add(self.right_panel, BorderLayout.EAST)

        pdf = JPanel(layout=BorderLayout(), opaque=False)
        pdf.add(JButton(Icon.pdf, rolloverIcon=ShadedIcon.pdf, toolTipText='save pdf', actionPerformed=self.save_pdf, borderPainted=False, focusPainted=False, contentAreaFilled=False))
        pdf.add(JLabel('pdf', horizontalAlignment=javax.swing.SwingConstants.CENTER), BorderLayout.NORTH)
        pdf.maximumSize = pdf.preferredSize
        configPanel.add(pdf)

        self.data = JPanel(layout=BorderLayout(), opaque=False)
        self.data.add(JButton(Icon.data, rolloverIcon=ShadedIcon.data, toolTipText='examine data', actionPerformed=self.show_data, borderPainted=False, focusPainted=False, contentAreaFilled=False))
        self.data.add(JLabel('data', horizontalAlignment=javax.swing.SwingConstants.CENTER), BorderLayout.NORTH)
        self.data.maximumSize = self.data.preferredSize
        configPanel.add(self.data)

        mode = JPanel(layout=BorderLayout(), opaque=False)
        cb = JComboBox(['default', 'rate', 'direct'])
        if self.view.network.mode in [SimulationMode.DEFAULT, SimulationMode.PRECISE]:
            cb.setSelectedIndex(0)
        elif self.view.network.mode in [SimulationMode.RATE]:
            cb.setSelectedIndex(1)
        elif self.view.network.mode in [SimulationMode.DIRECT, SimulationMode.APPROXIMATE]:
            cb.setSelectedIndex(2)
        cb.addActionListener(self)
        self.mode_combobox = cb
        mode.add(cb)
        mode.add(JLabel('mode'), BorderLayout.NORTH)
        mode.maximumSize = mode.preferredSize
        configPanel.add(mode)

        dt = JPanel(layout=BorderLayout(), opaque=False)
        cb = JComboBox(['0.001', '0.0005', '0.0002', '0.0001'])
        cb.setSelectedIndex(0)
        self.view.dt = float(cb.getSelectedItem())
        cb.addActionListener(self)
        self.dt_combobox = cb
        dt.add(cb)
        dt.add(JLabel('time step'), BorderLayout.NORTH)
        dt.maximumSize = dt.preferredSize
        configPanel.add(dt)

        rate = JPanel(layout=BorderLayout(), opaque=False)
        self.rate_combobox = JComboBox(['fastest', '1x', '0.5x', '0.2x', '0.1x', '0.05x', '0.02x', '0.01x', '0.005x', '0.002x', '0.001x'])
        self.rate_combobox.setSelectedIndex(4)
        self.view.set_target_rate(self.rate_combobox.getSelectedItem())
        self.rate_combobox.addActionListener(self)
        rate.add(self.rate_combobox)
        rate.add(JLabel('speed'), BorderLayout.NORTH)
        rate.maximumSize = rate.preferredSize
        configPanel.add(rate)

        spin1 = JPanel(layout=BorderLayout(), opaque=False)
        self.record_time_spinner = JSpinner(SpinnerNumberModel((self.view.timelog.tick_limit - 1) * self.view.dt, 0.1, 100, 1), stateChanged=self.tick_limit)
        spin1.add(self.record_time_spinner)
        spin1.add(JLabel('recording time'), BorderLayout.NORTH)
        spin1.maximumSize = spin1.preferredSize
        configPanel.add(spin1)

        spin2 = JPanel(layout=BorderLayout(), opaque=False)
        self.filter_spinner = JSpinner(SpinnerNumberModel(self.view.tau_filter, 0, 0.5, 0.01), stateChanged=self.tau_filter)
        spin2.add(self.filter_spinner)
        spin2.add(JLabel('filter'), BorderLayout.NORTH)
        spin2.maximumSize = spin2.preferredSize
        configPanel.add(spin2)

        spin3 = JPanel(layout=BorderLayout(), opaque=False)
        self.time_shown_spinner = JSpinner(SpinnerNumberModel(self.view.time_shown, 0.01, 50, 0.1), stateChanged=self.time_shown)
        spin3.add(self.time_shown_spinner)
        spin3.add(JLabel('time shown'), BorderLayout.NORTH)
        spin3.maximumSize = spin3.preferredSize
        configPanel.add(spin3)

        spin4 = JPanel(layout=BorderLayout(), opaque=False)
        self.freq_spinner = JSpinner(SpinnerNumberModel(1000.0/self.view.data_update_period, 1, 50, 1), stateChanged=self.update_frequency)
        spin4.add(self.freq_spinner)
        spin4.add(JLabel('freq (Hz)'), BorderLayout.NORTH)
        spin4.maximumSize = spin4.preferredSize
        configPanel.add(spin4)

        layout = JPanel(layout=BorderLayout(), opaque=False)
        layout.add(JButton(icon=Icon.save, rolloverIcon=ShadedIcon.save, actionPerformed=self.save, borderPainted=False, focusPainted=False, contentAreaFilled=False, margin=java.awt.Insets(0, 0, 0, 0), toolTipText='save layout'), BorderLayout.WEST)
        layout.add(JButton(icon=Icon.restore, rolloverIcon=ShadedIcon.restore, actionPerformed=self.restore, borderPainted=False, focusPainted=False, contentAreaFilled=False, margin=java.awt.Insets(0, 0, 0, 0), toolTipText='restore layout'), BorderLayout.EAST)

        layout.add(JLabel('layout', horizontalAlignment=javax.swing.SwingConstants.CENTER), BorderLayout.NORTH)
        layout.maximumSize = layout.preferredSize
        configPanel.add(layout)

        configPanel.setPreferredSize(java.awt.Dimension(20, self.config_panel_height))
        configPanel.visible = False

        for c in [dt, rate, spin1, spin2, spin3]:
            c.border = javax.swing.border.EmptyBorder(0, 10, 0, 10)