Пример #1
0
 def createGui( self ):
     
     
     self.jd = jd = swing.JDialog()
     self.jd.setName( "Leodialog" )
     jd.setTitle( "Libraries" )
     jdc = jd.getContentPane()
     self.libs = lib = swing.JList()
     self.libs.setName( "Autolist" )
     lib.setVisibleRowCount( 5 )
     view = swing.JScrollPane( lib )
     jdc.add( view, awt.BorderLayout.NORTH )
     create = swing.JButton( "Create" )
     create.actionPerformed = self.create
     add = swing.JButton( "Add" )
     add.actionPerformed = self.add 
     move = swing.JButton( "Move" )
     move.actionPerformed = self.move
     remove = swing.JButton( "Remove" )
     remove.actionPerformed = self.remove
     _open = swing.JButton( "Open" )
     _open.actionPerformed = self.open 
     close = swing.JButton( "Close" )
     close.actionPerformed = self.close
     
     topjp = swing.JPanel()
     topjp.setLayout( awt.GridLayout( 2, 1 ) )
     jdc.add( topjp, awt.BorderLayout.SOUTH )
     
     self.message = swing.JTextField()
     mp = swing.JPanel()
     gbl = awt.GridBagLayout()
     mp.setLayout( gbl )
     gbc = awt.GridBagConstraints()
     gbc.weightx = 1.0
     gbc.weighty = 1.0
     gbc.fill = 1
     gbl.setConstraints( self.message, gbc )
     mp.add( self.message )
     
     topjp.add( mp )# , awt.BorderLayout.NORTH )
     
     jp = swing.JPanel()
     jp.setLayout( awt.GridLayout( 1, 6 ) )
     jp.add( create )
     jp.add( add )
     jp.add( move )
     jp.add( remove )
     jp.add( _open )
     jp.add( close )
     topjp.add( jp )#, awt.BorderLayout.SOUTH ) 
Пример #2
0
    def __init__(self):
        self.frame=swing.JFrame(title="My Frame", size=(300,300))
        self.frame.defaultCloseOperation=swing.JFrame.EXIT_ON_CLOSE;
        self.frame.layout=awt.BorderLayout()
        self.panel1=swing.JPanel(awt.BorderLayout())
        self.panel2=swing.JPanel(awt.GridLayout(4,1))
        self.panel2.preferredSize = awt.Dimension(10,100)
        self.panel3=swing.JPanel(awt.BorderLayout())

        self.title=swing.JLabel("Text Rendering")
        self.button1=swing.JButton("Print Text", actionPerformed=self.printMessage)
        self.button2=swing.JButton("Clear Text", actionPerformed=self.clearMessage)
        self.textField=swing.JTextField(30)
        self.outputText=swing.JTextArea(4,15)
        

        self.panel1.add(self.title)
        self.panel2.add(self.textField)
        self.panel2.add(self.button1)
        self.panel2.add(self.button2)
        self.panel3.add(self.outputText)

        self.frame.contentPane.add(self.panel1, awt.BorderLayout.PAGE_START)
        self.frame.contentPane.add(self.panel2, awt.BorderLayout.CENTER)
        self.frame.contentPane.add(self.panel3, awt.BorderLayout.PAGE_END)
Пример #3
0
 def init(self, unitSets=basicUnits):
     self.setLayout(awt.GridLayout(2, 0, 5, 5))
     self.panels = []
     for name, units in unitSets:
         panel = ConversionPanel(name, units, self)
         self.panels.append(panel)
         self.add(panel)
Пример #4
0
    def getParams(self):
        # GUI to get future % of subbasin redeveloped, curve number, and release rate
        # Initialize window for UI
        frame = swing.JFrame("Set conditions of redeveloped portion of subbasin", layout=awt.BorderLayout())
        frame.setDefaultCloseOperation(swing.JFrame.EXIT_ON_CLOSE)

        # Create panel that includes three text entry fields for % redeveloped, curve number, and release rate
        futureparams = swing.JPanel(layout=awt.GridLayout(3,2))
        inbutton = swing.JPanel()
        futureparams.add(swing.JLabel('Percent Redevelopment '))
        rd = swing.JTextField('', 5)
        futureparams.add(rd)
        futureparams.add(swing.JLabel('Future Curve Number '))
        cn = swing.JTextField('', 5)
        futureparams.add(cn)
        futureparams.add(swing.JLabel('Release Rate '))
        rr = swing.JTextField('', 5)
        futureparams.add(rr)

        # Create panel for button that stores the values entered
        setButton = swing.JButton('Set parameters', actionPerformed=(lambda x: self.setParams(rd, cn, rr, frame)))
        self.setParams(rd, cn, rr, frame)

        # Add panels to the window and make the window visible
        frame.add(futureparams, awt.BorderLayout.NORTH)
        inbutton.add(setButton)
        frame.add(inbutton, awt.BorderLayout.SOUTH)
        #        setButton.addMouseListener(awt.event.MouseListener.mouseClicked(self, self.setParams(rd, cn, rr, frame)))
        frame.pack()
Пример #5
0
    def init(self):
        cb1 = awt.Checkbox('Checkbox 1')
        cb2 = awt.Checkbox('Checkbox 2')
        cb3 = awt.Checkbox('Checkbox 3', state=1)

        p1 = awt.Panel(layout=awt.FlowLayout())

        p1.add(cb1)
        p1.add(cb2)
        p1.add(cb3)

        cbg = awt.CheckboxGroup()
        cb4 = awt.Checkbox('Checkbox 4', cbg, 0)
        cb5 = awt.Checkbox('Checkbox 5', cbg, 0)
        cb6 = awt.Checkbox('Checkbox 6', cbg, 0)

        p2 = awt.Panel(layout=awt.FlowLayout())
        p2.add(cb4)
        p2.add(cb5)
        p2.add(cb6)

        self.setLayout(awt.GridLayout(0, 2))
        self.add(p1)
        self.add(p2)

        self.validate()
Пример #6
0
 def whatsSelectedCallback(self, event):
     dialog = swing.JFrame("Here's what's selected")
     dialog.contentPane.layout = awt.GridLayout(2, 1)
     dialog.contentPane.add(
         swing.JLabel("Selected value = " + str(self.list.selectedValue),
                      swing.JLabel.CENTER))
     dialog.contentPane.add(
         swing.JLabel("Selected index = " + str(self.list.selectedIndex),
                      swing.JLabel.CENTER))
     dialog.size = (400, 200)
     dialog.show()
     print "Selected value =", self.list.selectedValue, ", selected index =", self.list.selectedIndex
Пример #7
0
 def __init__(self, component):
     swing.JPanel.__init__(self, awt.GridLayout(1, 1))
     self.add(component)
     self.component = component
     self.increments = 20
     self.waitperiod = 1000 / self.increments
     self.timer = swing.Timer(self.waitperiod, self)
     self.timer.start()
     self.image = None
     self.cmp_to_focus = None
     self.phasingIn = True
     self.setOpaque(True)
Пример #8
0
    def friendsList(self, username):

        self.window = swing.JFrame(username)
        self.window.layout = awt.BorderLayout()
        statusPanel = swing.JPanel()
        statusPanel.layout = awt.GridLayout(4, 1)

        # Set status placeholder UI
        statusPanel.border = swing.BorderFactory.createTitledBorder("Status")
        buttonGroup = swing.ButtonGroup()
        radioButton = swing.JRadioButton("Away",
                                         actionPerformed=self.radioCallback)
        buttonGroup.add(radioButton)
        statusPanel.add(radioButton)
        radioButton = swing.JRadioButton("Here",
                                         actionPerformed=self.radioCallback)
        buttonGroup.add(radioButton)
        statusPanel.add(radioButton)
        #Wizard of Oz incoming chat request
        radioButton = swing.JButton("Page Boss", actionPerformed=self.callBoss)
        buttonGroup.add(radioButton)
        statusPanel.add(radioButton)
        statusPanel.add(self.status)
        #statusPanel.add(swing.JButton("Update Status", actionPerformed=self.updateStatus))
        #Buddy list
        panel = swing.JPanel()
        panel.layout = awt.BorderLayout()
        panel.border = swing.BorderFactory.createTitledBorder("Friends Online")

        ##TODO: fix threading so that friends load before the window
        print self.friendsData
        self.friendsData.append('guest')
        print '2'

        self.list = swing.JList(self.friendsData)
        panel.add("Center", swing.JScrollPane(self.list))
        launchChatButton = swing.JButton("Launch chat?",
                                         actionPerformed=self.launchChatOut)
        panel.add("South", launchChatButton)
        self.window.windowClosing = self.goodbye
        pane = JScrollPane()
        pane.getViewport().add(self.list)
        panel.add(pane)
        self.window.add("North", statusPanel)
        self.window.add("South", panel)
        self.window.pack()
        self.window.visible = True
        return self.window
Пример #9
0
 def addList( self, frame ):
     
     self.lbox = swing.JList()
     self.lbox.setName( "Autolist" )
     view = swing.JScrollPane( self.lbox )
     self.lbox.setVisibleRowCount( 5 )
     frame.add( view )
     self.setListContents()
     jp = swing.JPanel()
     jp.setLayout( awt.GridLayout( 3, 1 ) )
     frame.add( jp, awt.BorderLayout.EAST )
     
     for z in (  ( "Insert into outline", self.insert ),
                 ( "Remove from list" , self.delete ),
                 ( "Add Current Node to list", self.addCurrentNode ), ):
         jb = swing.JButton( z[ 0 ] )
         jb.actionPerformed = z[ 1 ]
         jp.add( jb )
Пример #10
0
#########################################################################
# implement a simple calculator in Jython; evaluation runs a full 
# expression all at once using the Python eval() built-in--Jython's 
# source-code compiler is present at run-time, as in standard Python
#########################################################################
 
from java import awt                   # get access to Java class libraries
from pawt import swing                 # they look like Python modules here 
     
labels = ['0', '1', '2', '+',          # labels for calculator buttons
          '3', '4', '5', '-',          # will be used for a 4x4 grid
          '6', '7', '8', '*',
          '9', '.', '=', '/' ]
     
keys = swing.JPanel(awt.GridLayout(4, 4))     # do Java class library magic
display = swing.JTextField()                  # Python data auto-mapped to Java
     
def push(event):                              # callback for regular keys
    display.replaceSelection(event.actionCommand)
     
def enter(event):                             # callback for the '=' key
    display.text = str(eval(display.text))    # use Python eval() to run expr
    display.selectAll()
     
for label in labels:                          # build up button widget grid
    key = swing.JButton(label)                # on press, invoke Python funcs
    if label == '=':
        key.actionPerformed = enter
    else:
        key.actionPerformed = push
    keys.add(key)
Пример #11
0
    def createFrame(self):

        gui = g.app.gui
        top = self.top

        #@    << create the organizer frames >>
        #@+node:zorcanda!.20050409134025.6:<< create the organizer frames >>
        #outer = Tk.Frame(self.frame, bd=2,relief="groove")
        #outer.pack(pady=4)

        sl = swing.SpringLayout()
        outer = self.top.getContentPane()  #swing.JPanel()
        outer.setLayout(sl)
        #self.frame.add( outer )

        #row1 = Tk.Frame(outer)
        #row1.pack(pady=4)
        row1 = swing.JPanel(awt.GridLayout(3, 4))
        outer.add(row1)
        sl.putConstraint(sl.NORTH, row1, 5, sl.NORTH, outer)

        row4 = swing.JPanel()
        outer.add(row4)
        sl.putConstraint(sl.NORTH, row4, 5, sl.SOUTH, row1)

        sl2 = swing.SpringLayout()
        options = swing.JPanel(
            sl2)  #swing.Box.createHorizontalBox() #swing.JPanel( sl2 );

        outer.add(options)
        sl.putConstraint(sl.NORTH, options, 5, sl.SOUTH, row4)

        #ws = Tk.Frame(options)
        #ws.pack(side="left",padx=4)
        ws = swing.JPanel()
        ws.setLayout(awt.GridLayout(1, 1))
        options.add(ws)
        sl2.putConstraint(sl2.NORTH, ws, 2, sl2.NORTH, options)
        sl2.putConstraint(sl2.WEST, ws, 5, sl2.WEST, options)

        pr = swing.JPanel()
        pr.setLayout(awt.GridLayout(1, 1))
        options.add(pr)
        sl2.putConstraint(sl2.NORTH, pr, 2, sl2.NORTH, options)
        sl2.putConstraint(sl2.WEST, pr, 10, sl2.EAST, ws)
        sl2.putConstraint(sl2.SOUTH, options, 5, sl2.SOUTH, pr)
        sl2.putConstraint(sl2.EAST, options, 5, sl2.EAST, pr)

        lower = swing.JPanel()
        outer.add(lower)
        sl.putConstraint(sl.NORTH, lower, 5, sl.SOUTH, options)
        sl.putConstraint(sl.EAST, lower, 0, sl.EAST, options)

        sl.putConstraint(sl.SOUTH, outer, 5, sl.SOUTH, lower)
        sl.putConstraint(sl.EAST, outer, 5, sl.EAST, row1)
        #@-node:zorcanda!.20050409134025.6:<< create the organizer frames >>
        #@nl
        #@    << create the browser rows >>
        #@+node:zorcanda!.20050409134025.7:<< create the browser rows >>
        for row, text, text2, command, var in ((row1, "Compare path 1:",
                                                "Ignore first line",
                                                self.onBrowse1,
                                                self.ignoreFirstLine1Var),
                                               (row1, "Compare path 2:",
                                                "Ignore first line",
                                                self.onBrowse2,
                                                self.ignoreFirstLine2Var),
                                               (row1, "Output file:",
                                                "Use output file",
                                                self.onBrowse3,
                                                self.useOutputFileVar)):

            #lab = Tk.Label(row,anchor="e",text=text,width=13)
            #lab.pack(side="left",padx=4)
            lab = swing.JLabel(text)
            row.add(lab)

            #e = Tk.Entry(row)
            #e.pack(side="left",padx=2)
            e = swing.JTextField(15)
            row.add(e)
            self.browseEntries.append(e)

            #b = Tk.Button(row,text="browse...",command=command)
            #b.pack(side="left",padx=6)
            b = swing.JButton("browse...")
            b.actionPerformed = lambda event, command=command: command()
            row.add(b)

            #b = Tk.Checkbutton(row,text=text2,anchor="w",variable=var,width=15)
            #b.pack(side="left")
            b = swing.JCheckBox(text2)
            b.actionPerformed = lambda event, b=b, var=var: var.set(b.getModel(
            ).isSelected())
            row.add(b)
        #@nonl
        #@-node:zorcanda!.20050409134025.7:<< create the browser rows >>
        #@nl
        #@    << create the extension row >>
        #@+node:zorcanda!.20050409134025.8:<< create the extension row >>
        #b = Tk.Checkbutton(row4,anchor="w",var=self.limitToExtensionVar,
        #    text="Limit directory compares to type:")
        #b.pack(side="left",padx=4)
        b = swing.JCheckBox("Limit directory compares to type:")
        b.actionPerformed = lambda event, b=b, var=self.limitToExtensionVar: var.set(
            b.getModel().isSelected())
        row4.add(b)

        #self.extensionEntry = e = Tk.Entry(row4,width=6)
        #e.pack(side="left",padx=2)
        self.extensionEntry = e = swing.JTextField(5)
        row4.add(e)

        #b = Tk.Checkbutton(row4,anchor="w",var=self.appendOutputVar,
        #    text="Append output to output file")
        #b.pack(side="left",padx=4)

        b = swing.JCheckBox("Append output to outputfile")
        b.actionPerformed = lambda event, b=b, var=self.appendOutputVar: var.set(
            b.getModel().isSelected())
        row4.add(b)
        #@-node:zorcanda!.20050409134025.8:<< create the extension row >>
        #@nl
        #@    << create the whitespace options frame >>
        #@+node:zorcanda!.20050409134025.9:<< create the whitespace options frame >>
        w, f = gui.create_labeled_frame(ws,
                                        caption="Whitespace options",
                                        relief="groove")

        f.setLayout(awt.GridLayout(5, 1))

        for text, var in (("Ignore Leo sentinel lines",
                           self.ignoreSentinelLinesVar),
                          ("Ignore blank lines", self.ignoreBlankLinesVar),
                          ("Ignore leading whitespace",
                           self.ignoreLeadingWhitespaceVar),
                          ("Ignore interior whitespace",
                           self.ignoreInteriorWhitespaceVar),
                          ("Make whitespace visible",
                           self.makeWhitespaceVisibleVar)):

            #b = Tk.Checkbutton(f,text=text,variable=var)
            #b.pack(side="top",anchor="w")
            b = swing.JCheckBox(text)
            b.actionPerformed = lambda event, b=b, var=var: var.set(b.getModel(
            ).isSelected())
            f.add(b)

        #@-node:zorcanda!.20050409134025.9:<< create the whitespace options frame >>
        #@nl
        #@    << create the print options frame >>
        #@+node:zorcanda!.20050409134025.10:<< create the print options frame >>
        w, f = gui.create_labeled_frame(pr,
                                        caption="Print options",
                                        relief="groove")
        f.setLayout(awt.GridLayout(5, 1))

        #row = Tk.Frame(f)
        #row.pack(expand=1,fill="x")
        row = swing.JPanel()
        sl3 = swing.SpringLayout()
        row.setLayout(sl3)
        f.add(row)
        pwidth = 0

        #b = Tk.Checkbutton(row,text="Stop after",variable=self.stopAfterMismatchVar)
        #b.pack(side="left",anchor="w")
        b = swing.JCheckBox("Stop after")
        b.actionPerformed = lambda event, var=self.stopAfterMismatchVar, b=b: var.set(
            b.getModel().isSelected())
        row.add(b)
        sl3.putConstraint(sl3.NORTH, b, 1, sl3.NORTH, row)
        sl3.putConstraint(sl3.WEST, b, 1, sl3.WEST, row)

        #self.countEntry = e = Tk.Entry(row,width=4)
        #e.pack(side="left",padx=2)
        #e.insert(01,"1")
        self.countEntry = e = swing.JTextField(5)
        row.add(e)
        sl3.putConstraint(sl3.NORTH, e, 1, sl3.NORTH, row)
        sl3.putConstraint(sl3.WEST, e, 1, sl3.EAST, b)

        #lab = Tk.Label(row,text="mismatches")
        #lab.pack(side="left",padx=2)
        lab = swing.JLabel("mismatches")
        row.add(lab)
        sl3.putConstraint(sl3.NORTH, lab, 1, sl3.NORTH, row)
        sl3.putConstraint(sl3.WEST, lab, 1, sl3.EAST, e)
        sl3.putConstraint(sl3.SOUTH, row, 1, sl3.SOUTH, e)
        sl3.putConstraint(sl3.EAST, row, 1, sl3.EAST, lab)

        for padx, text, var in ((0, "Print matched lines",
                                 self.printMatchesVar),
                                (20, "Show both matching lines",
                                 self.printBothMatchesVar),
                                (0, "Print mismatched lines",
                                 self.printMismatchesVar),
                                (0, "Print unmatched trailing lines",
                                 self.printTrailingMismatchesVar)):

            #b = Tk.Checkbutton(f,text=text,variable=var)
            #b.pack(side="top",anchor="w",padx=padx)
            b = swing.JCheckBox(text)
            b.actionPerformed = lambda event, b=b, var=var: var.set(b.getModel(
            ).isSelected())
            f.add(b)
            self.printButtons.append(b)

        # To enable or disable the "Print both matching lines" button.
        b = self.printButtons[0]
        #b.configure(command=self.onPrintMatchedLines)

        #spacer = Tk.Frame(f)
        #spacer.pack(padx="1i")
        #@nonl
        #@-node:zorcanda!.20050409134025.10:<< create the print options frame >>
        #@nl
        #@    << create the compare buttons >>
        #@+node:zorcanda!.20050409134025.11:<< create the compare buttons >>
        for text, command in (("Compare files", self.onCompareFiles),
                              ("Compare directories",
                               self.onCompareDirectories)):

            #b = Tk.Button(lower,text=text,command=command,width=18)
            #b.pack(side="left",padx=6)
            b = swing.JButton(text)
            b.actionPerformed = lambda event, command=command: command()
            lower.add(b)

        #@-node:zorcanda!.20050409134025.11:<< create the compare buttons >>
        #@nl

        top.pack()
        gui.center_dialog(top)  # Do this _after_ building the dialog!
        self.finishCreate()
Пример #12
0
 def createNodeSearchFrame( self, clnpanel ):
     
     clnpanel.setLayout( awt.BorderLayout() )
     oclnpanel = clnpanel
     clnpanel = swing.Box.createHorizontalBox()
     oclnpanel.add( clnpanel, awt.BorderLayout.CENTER )
     
     
     jta = swing.JTextArea()
     self.CutCopyPaste( jta )
     tp = swing.JPanel( awt.GridLayout( 1, 1 ))
     self.nstext = jta
     sp = swing.JScrollPane( jta )
 
     border = sp.getBorder()
     tborder = sborder.TitledBorder( border )
     tborder.setTitle( "Base Text" )
     sp.setBorder( tborder )
     tp.add( sp )
     clnpanel.add( tp )
     
     
     bpanel = swing.JPanel()
     spl = swing.SpringLayout()
     bpanel.setLayout( spl )  
     executebox = swing.Box.createHorizontalBox()
     border = executebox.getBorder()
     tborder = sborder.TitledBorder( border )
     tborder.setTitle( "Searching" )
     executebox.setBorder( tborder )
     bpanel.add( executebox )
     spl.putConstraint( spl.NORTH, executebox, 5, spl.NORTH, bpanel )
     clnsearch = swing.JButton( "Clone Search" )
     clnsearch.actionPerformed = self.nodeSearch
     executebox.add( clnsearch )
     #spl.putConstraint( spl.NORTH, clnsearch, 5, spl.NORTH, bpanel )
     cpysearch = swing.JButton( "Copy Search" )
     cpysearch.actionPerformed = lambda event: self.nodeSearch( event, type='copy' ) 
     #bpanel.add( cpysearch )
     #spl.putConstraint( spl.NORTH, cpysearch, 5, spl.SOUTH, clnsearch )
     executebox.add( cpysearch )
     
     self.all_searches = rb1 = swing.JCheckBox( "Match Searches" )
     mtext = """Selecting causes the search system to only recognize a node if all searches match"""
     rb1.setToolTipText( mtext ) 
     bpanel.add( rb1 )
     spl.putConstraint( spl.NORTH, rb1, 5, spl.NORTH, bpanel )
     spl.putConstraint( spl.WEST, rb1, 5, spl.EAST, executebox )
     
     
     self.all_filters = rb2 = swing.JCheckBox( "Match Filters" )
     mtext = """Selecting causes the filter system to only filter out a node if all searches match"""
     rb2.setToolTipText( mtext )
     bpanel.add( rb2 )
     spl.putConstraint( spl.NORTH, rb2, 5, spl.SOUTH, rb1 )
     spl.putConstraint( spl.WEST, rb2, 5, spl.EAST, executebox )
     
     spl2 = swing.SpringLayout()
     sandf = swing.JPanel( spl2 )
     sandf.setPreferredSize( awt.Dimension( 275, 85 ) )
     border = sandf.getBorder()
     tborder = sborder.TitledBorder( border )
     tborder.setTitle( "Derive Searches and Filters" )
     sandf.setBorder( tborder )
     bpanel.add( sandf )
     spl.putConstraint( spl.NORTH, sandf, 5, spl.SOUTH, executebox )
     
     b1 = swing.JButton( "+ as Search" )
     b1.setActionCommand( "search" )
     b1.actionPerformed = self.addAsSearchOrExclude
     b2 = swing.JButton( "+ as Filter" )
     b2.setActionCommand( "filter" )
     b2.actionPerformed = self.addAsSearchOrExclude
     sandf.add( b1 ); sandf.add( b2 )
     spl2.putConstraint( spl2.NORTH, b1, 5, spl2.NORTH, executebox )
     spl2.putConstraint( spl2.NORTH, b2, 5, spl2.SOUTH, b1 )
     b3 = swing.JButton( "+ as Regex-Search" )
     b3.setActionCommand( "regex-search" )
     b3.actionPerformed = self.addAsSearchOrExclude
     sandf.add( b3 )
     spl2.putConstraint( spl2.NORTH, b3,5, spl2.NORTH, executebox )
     spl2.putConstraint( spl2.WEST, b3,5, spl2.EAST, b1 )
     #spl2.putConstraint( spl2.EAST, b3, 5, spl2.EAST, executebox )
     b4 = swing.JButton( "+ as Regex-Filter" )
     b4.setActionCommand( "regex-filter" )
     b4.actionPerformed = self.addAsSearchOrExclude
     sandf.add( b4 )
     spl2.putConstraint( spl2.NORTH, b4, 5, spl2.SOUTH, b1 )
     spl2.putConstraint( spl2.WEST, b4, 5, spl2.EAST, b2 )
     clear = swing.JButton( "Clear Text" )
     def clear_txt( event, text = jta ):
         
         jta.setText( "" )
     clear.actionPerformed = clear_txt
     bpanel.add( clear )
     spl.putConstraint( spl.NORTH, clear, 5, spl.SOUTH, sandf )
     
     
     clnpanel.add( bpanel )
     tp.setPreferredSize( awt.Dimension( 200, 100 ) )
     clnpanel.setPreferredSize( awt.Dimension( 200, 100 )) 
     
     class dtm2( stable.DefaultTableModel ):
         
         def __int__( self ):
             stable.DefaultTableModel.__init__( self )
             
         def isCellEditable( self, a, b ):
             if b == 1:
                 return False
             return True
         
     self.dtm = dtm = dtm2()
     dtm.addColumn( "Text" )
     dtm.addColumn( "Type" )
     jp = swing.JPanel( awt.BorderLayout() )
     self.table = jt = swing.JTable( dtm )
     jt.getColumn( "Text" ).setCellEditor( self._LeoTableCellEditor() )
     jt.getColumn( "Text" ).setCellRenderer( self._LeoTableCellRenderer() )
     
     rmv = swing.JButton( "Remove" )
     def rmv_row( event, jt = jt, dtm = dtm ):
         
         row = jt.getSelectedRow()
         if row != -1:
             dtm.removeRow( row )
         
     rmv.actionPerformed = rmv_row
     rmva = swing.JButton( "Clear" )
     def rmv_all( event, jt = jt, dtm = dtm ):
         
         rc = dtm.getRowCount()
         for z in xrange( rc ):
             dtm.removeRow( 0 )       
         
     rmva.actionPerformed = rmv_all   
     rmvp = swing.Box.createVerticalBox()
     rmvp.add( rmv )
     rmvp.add( rmva )
     jp.add( rmvp, awt.BorderLayout.EAST )
     jtsp = swing.JScrollPane( jt )
     border = jtsp.getBorder()
     tborder = sborder.TitledBorder( border )
     tborder.setTitle( "Searchers and Filters" )
     jtsp.setBorder( tborder )
     jp.add( jtsp )
 
     jp.setPreferredSize( clnpanel.getPreferredSize() )
     oclnpanel.add( jp, awt.BorderLayout.SOUTH )
Пример #13
0
    def __init__(self, controller):
        self.background = awt.Color.lightGray
        self.setLayout(awt.GridLayout(1, 0))

        self.add(CoordinateArea(controller))
Пример #14
0
    def thingChangedAttr(self, key=None, val=None):
        if self.thing != None:
            for k in self.thing.getKeys():
                if k == 'isPlayer': continue
                if k == 'name':
                    if key == None or key == k:
                        self.border = swing.BorderFactory.createTitledBorder(
                            self.thing.get(k))
                    continue
                if k in self.attrs.keys():
                    if k != key:
                        continue
                    else:
                        p = self.attrs[k]
                        p.removeAll()
                else:
                    p = swing.JPanel(layout=awt.GridLayout(1, 2))
                    self.attrBox.add(p)
                    self.attrs[k] = p

                v = self.thing.get(k)

                if k in self.thing.editable.keys():
                    if isinstance(v, Thing):
                        c = swing.JButton(v.get('name'))
                        c.actionPerformed = lambda event, key=k, self=self: self.startChoosingTarget(
                            key)
                        self.attrButtons[k] = c
                        l = swing.JLabel(k)
                        p.add(l)
                        p.add(c)
                    elif v == None and len(self.thing.editable[k]) == 0:
                        c = swing.JButton('Select %s' % k)
                        if v != None:
                            c.text = v.name
                        c.actionPerformed = lambda event, key=k, self=self: self.startChoosingTarget(
                            key)
                        self.attrButtons[k] = c
                        p.layout = awt.GridLayout(1, 1)
                        p.add(c)
                    else:
                        c = swing.JComboBox()
                        for o in self.thing.editable[k]:
                            c.addItem(o)
                        c.selectedItem = v
                        c.itemStateChanged = lambda event, key=k, self=self: self.onStateChange(
                            event, key)
                        l = swing.JLabel(k)
                        p.add(l)
                        p.add(c)
                else:
                    if isinstance(v, Thing):
                        v = v.get('name')
                    if type(v) == type(1):
                        v = "%d" % v
                    if type(v) == type(1.0):
                        v = "%3.2f" % v
                    c = swing.JLabel(v)
                    l = swing.JLabel(k)
                    p.add(l)
                    p.add(c)
        self.validate()
Пример #15
0
 def createFrame (self):
 
     # Create the find panel...
     #outer = Tk.Frame(self.frame,relief="groove",bd=2)
     #outer.pack(padx=2,pady=2)
     self.top = swing.JFrame()
     g.app.gui.addLAFListener( self.top )
     #self.top.setDefaultCloseOperation( swing.JFrame.EXIT_ON_CLOSE )
     self.top.title = self.title
     jtab = swing.JTabbedPane()
     self.top.add( jtab )
     cpane = swing.JPanel()
     jtab.addTab( "regular search", cpane )
     clnsearch = swing.JPanel()
     clnsearch.setName( "Leodialog" )
     jtab.addTab( "node search", clnsearch )
     #cpane = outer.getContentPane()
     cpane.setName( "Leodialog" )
     cpane.setLayout( awt.GridLayout( 3, 1 ) )
 
     
     #@    << Create the Find and Change panes >>
     #@+node:mork.20050127121143.6:<< Create the Find and Change panes >>
     #fc = Tk.Frame(outer, bd="1m")
     #fc.pack(anchor="n", fill="x", expand=1)
     findPanel = self.findPanel = swing.JTextArea()
     self.CutCopyPaste( findPanel )
     fspane = swing.JScrollPane( findPanel )
     
     self.changePanel = changePanel = swing.JTextArea()
     self.CutCopyPaste( changePanel )
     cpane2 = swing.JScrollPane( changePanel )
     splitpane = swing.JSplitPane( swing.JSplitPane.VERTICAL_SPLIT, fspane, cpane2 )
     splitpane.setDividerLocation( .5 )
     #outer.getContentPane().add( splitpane )
     cpane.add( splitpane )
     #outer.pack()
     
     
     # Removed unused height/width params: using fractions causes problems in some locales!
     #fpane = Tk.Frame(fc, bd=1)
     #cpane = Tk.Frame(fc, bd=1)
     
     #fpane.pack(anchor="n", expand=1, fill="x")
     #cpane.pack(anchor="s", expand=1, fill="x")
     
     # Create the labels and text fields...
     #flab = Tk.Label(fpane, width=8, text="Find:")
     #clab = Tk.Label(cpane, width=8, text="Change:")
     
     # Use bigger boxes for scripts.
     #self.find_text   = ftxt = Tk.Text(fpane,bd=1,relief="groove",height=4,width=20)
     #3self.change_text = ctxt = Tk.Text(cpane,bd=1,relief="groove",height=4,width=20)
     
     #fBar = Tk.Scrollbar(fpane,name='findBar')
     #cBar = Tk.Scrollbar(cpane,name='changeBar')
     
     # Add scrollbars.
     #for bar,txt in ((fBar,ftxt),(cBar,ctxt)):
     #    txt['yscrollcommand'] = bar.set
     #    bar['command'] = txt.yview
     #    bar.pack(side="right", fill="y")
     
     #flab.pack(side="left")
     #clab.pack(side="left")
     #ctxt.pack(side="right", expand=1, fill="both")
     #ftxt.pack(side="right", expand=1, fill="both")
     #@nonl
     #@-node:mork.20050127121143.6:<< Create the Find and Change panes >>
     #@nl
     #@    << Create four columns of radio and checkboxes >>
     #@+node:mork.20050127121143.7:<< Create four columns of radio and checkboxes >>
     #columnsFrame = Tk.Frame(outer,relief="groove",bd=2)
     #columnsFrame.pack(anchor="e",expand=1,padx="7p",pady="2p") # Don't fill.
     columnsFrame = swing.JPanel()
     columnsFrame.setLayout( swing.BoxLayout( columnsFrame, swing.BoxLayout.X_AXIS ) )
     cpane.add( columnsFrame, awt.BorderLayout.SOUTH )
     
     numberOfColumns = 4 # Number of columns
     columns = [] ; radioLists = [] ; checkLists = []; buttonGroups = []
     for i in xrange(numberOfColumns):
         #columns.append(Tk.Frame(columnsFrame,bd=1))
         jp = swing.JPanel()
         jp.setLayout( swing.BoxLayout( jp, swing.BoxLayout.Y_AXIS ) )
         columns.append( jp )
         radioLists.append([])
         checkLists.append([])
         buttonGroups.append( swing.ButtonGroup() )
     
     for i in xrange(numberOfColumns):
         columnsFrame.add( columns[ i ] )
         #columns[i].pack(side="left",padx="1p") # fill="y" Aligns to top. padx expands columns.
     
     radioLists[0] = [
         (self.dict["radio-find-type"],"Plain Search","plain-search"),  
         (self.dict["radio-find-type"],"Pattern Match Search","pattern-search"),
         (self.dict["radio-find-type"],"Script Search","script-search")]
     checkLists[0] = [
         ("Script Change",self.dict["script_change"])]
     checkLists[1] = [
         ("Whole Word",  self.dict["whole_word"]),
         ("Ignore Case", self.dict["ignore_case"]),
         ("Wrap Around", self.dict["wrap"]),
         ("Reverse",     self.dict["reverse"])]
     radioLists[2] = [
         (self.dict["radio-search-scope"],"Entire Outline","entire-outine"),
         (self.dict["radio-search-scope"],"Suboutline Only","suboutline-only"),  
         (self.dict["radio-search-scope"],"Node Only","node-only"),
         # I don't know what selection-only is supposed to do.
         (self.dict["radio-search-scope"],"Selection Only","selection-only")]
     checkLists[2] = []
     checkLists[3] = [
         ("Search Headline Text", self.dict["search_headline"]),
         ("Search Body Text",     self.dict["search_body"]),
         ("Mark Finds",           self.dict["mark_finds"]),
         ("Mark Changes",         self.dict["mark_changes"])]
         
         
     class rAction( swing.AbstractAction ):
         
         def __init__( self, name, var , val ):
             swing.AbstractAction.__init__( self, name )
             self.name = name
             self.var = var
             self.val = val
             
         def actionPerformed( self, aE ):
             self.var.set( self.val )
             
     class jcbAction( swing.AbstractAction ):
         
         def __init__( self, name, var ):
             swing.AbstractAction.__init__( self, name )
             self.var = var
             
         def actionPerformed( self, ae ):
         
             val = self.var.get()
             if val:
                 self.var.set( 0 )
             else:
                 self.var.set( 1 )
     
     for i in xrange(numberOfColumns):
         for var,name,val in radioLists[i]:
             aa = rAction( name, var, val )
             but = swing.JRadioButton( aa )
             columns[ i ].add( but )
             buttonGroups[ i ].add( but )
             #box = Tk.Radiobutton(columns[i],anchor="w",text=name,variable=var,value=val)
             #box.pack(fill="x")
             #box.bind("<1>", self.resetWrap)
             #if val == None: box.configure(state="disabled")
         for name, var in checkLists[i]:
             cbut = swing.JCheckBox( jcbAction( name, var ) )
             columns[ i ].add( cbut )
             #box = Tk.Checkbutton(columns[i],anchor="w",text=name,variable=var)
             #box.pack(fill="x")
             #box.bind("<1>", self.resetWrap)
             #if var is None: box.configure(state="disabled")
     
     for z in buttonGroups:
         
         elements = z.getElements()
         for x in elements:
             x.setSelected( True )
             break
     #@-node:mork.20050127121143.7:<< Create four columns of radio and checkboxes >>
     #@nl
     #@    << Create two rows of buttons >>
     #@+node:mork.20050127121143.8:<< Create two rows of buttons >>
     # Create the button panes
     secondGroup = swing.JPanel()
     secondGroup.setLayout( awt.GridLayout( 2, 3 , 10, 10 ) )
     cpane.add( secondGroup )
     #buttons  = Tk.Frame(outer,bd=1)
     #buttons2 = Tk.Frame(outer,bd=1)
     #buttons.pack (anchor="n",expand=1,fill="x")
     #buttons2.pack(anchor="n",expand=1,fill="x")
     class commandAA( swing.AbstractAction ):
         
         def __init__( self, name, command ):
             swing.AbstractAction.__init__( self, name )
             self.command = command
             
         def actionPerformed( self, aE ):
             self.command()
     
     
     # Create the first row of buttons
     #findButton=Tk.Button(buttons,width=8,text="Find",bd=4,command=self.findButton) # The default.
     #contextBox=Tk.Checkbutton(buttons,anchor="w",text="Show Context",variable=self.dict["batch"])
     #findAllButton=Tk.Button(buttons,width=8,text="Find All",command=self.findAllButton)
     findButton = swing.JButton( commandAA( "Find", self.findButton ) )
     contextBox = swing.JCheckBox( "Show Context" )
     findAllButton = swing.JButton( commandAA( "Find All", self.findAllButton ) )
     secondGroup.add( findButton )
     secondGroup.add( contextBox )
     secondGroup.add( findAllButton )
     
     #findButton.pack   (pady="1p",padx="25p",side="left")
     #contextBox.pack   (pady="1p",           side="left",expand=1)
     #findAllButton.pack(pady="1p",padx="25p",side="right",fill="x",)
     
     # Create the second row of buttons
     #changeButton    =Tk.Button(buttons2,width=8,text="Change",command=self.changeButton)
     #changeFindButton=Tk.Button(buttons2,        text="Change, Then Find",command=self.changeThenFindButton)
     #changeAllButton =Tk.Button(buttons2,width=8,text="Change All",command=self.changeAllButton)
     changeButton = swing.JButton( commandAA( "Change", self.changeButton ) )
     changeFindButton = swing.JButton( commandAA( "Change, Then Find", self.changeThenFindButton ) )
     changeAllButton = swing.JButton( commandAA( "Change All", self.changeAllButton ) )
     secondGroup.add( changeButton )
     secondGroup.add( changeFindButton )
     secondGroup.add( changeAllButton )
     
     #changeButton.pack    (pady="1p",padx="25p",side="left")
     #changeFindButton.pack(pady="1p",           side="left",expand=1)
     #changeAllButton.pack (pady="1p",padx="25p",side="right")
     #@nonl
     #@-node:mork.20050127121143.8:<< Create two rows of buttons >>
     #@nl
     
     self.createNodeSearchFrame( clnsearch )
     #self.top.setSize( 500, 500 )
     self.top.pack()
     size = self.top.getSize()
     size.width = size.width + 50
     self.top.setSize( size )
     splitpane.setDividerLocation( .5 )
Пример #16
0
    def __init__(self):
        #########################################################
        #
        # set up the overall frame (the window itself)
        #
        self.window = swing.JFrame("Swing Sampler!")
        self.window.windowClosing = self.goodbye
        self.window.contentPane.layout = awt.BorderLayout()

        #########################################################
        #
        # under this will be a tabbed pane; each tab is named
        # and contains a panel with other stuff in it.
        #
        tabbedPane = swing.JTabbedPane()
        self.window.contentPane.add("Center", tabbedPane)

        #########################################################
        #
        # The first tabbed panel will be named "Some Basic
        # Widgets", and is referenced by variable 'firstTab'
        #
        firstTab = swing.JPanel()
        firstTab.layout = awt.BorderLayout()
        tabbedPane.addTab("Some Basic Widgets", firstTab)

        #
        # slap in some labels, a list, a text field, etc... Some
        # of these are contained in their own panels for
        # layout purposes.
        #
        tmpPanel = swing.JPanel()
        tmpPanel.layout = awt.GridLayout(3, 1)
        tmpPanel.border = swing.BorderFactory.createTitledBorder(
            "Labels are simple")
        tmpPanel.add(swing.JLabel("I am a label. I am quite boring."))
        tmpPanel.add(
            swing.JLabel(
                "<HTML><FONT COLOR='blue'>HTML <B>labels</B></FONT> are <I>somewhat</I> <U>less boring</U>.</HTML>"
            ))
        tmpPanel.add(
            swing.JLabel("Labels can also be aligned", swing.JLabel.RIGHT))
        firstTab.add(tmpPanel, "North")

        #
        # Notice that the variable "tmpPanel" gets reused here.
        # This next line creates a new panel, but we reuse the
        # "tmpPanel" name to refer to it.  The panel that
        # tmpPanel used to refer to still exists, but we no
        # longer have a way to name it (but that's ok, since
        # we don't need to refer to it any more).

        #
        tmpPanel = swing.JPanel()
        tmpPanel.layout = awt.BorderLayout()
        tmpPanel.border = swing.BorderFactory.createTitledBorder(
            "Tasty tasty lists")

        #
        # Note that here we stash a reference to the list in
        # "self.list".  This puts it in the scope of the object,
        # rather than this function.  This is because we'll be
        # referring to it later from outside this function, so
        # it needs to be "bumped up a level."
        #

        listData = [
            "January", "February", "March", "April", "May", "June", "July",
            "August", "September", "October", "November", "December"
        ]
        self.list = swing.JList(listData)
        tmpPanel.add("Center", swing.JScrollPane(self.list))
        button = swing.JButton("What's Selected?")
        button.actionPerformed = self.whatsSelectedCallback
        tmpPanel.add("East", button)
        firstTab.add("Center", tmpPanel)

        tmpPanel = swing.JPanel()
        tmpPanel.layout = awt.BorderLayout()

        #
        # The text field also goes in self, since the callback
        # that displays the contents will need to get at it.
        #
        # Also note that because the callback is a function inside
        # the SwingSampler object, you refer to it through self.
        # (The callback could potentially be outside the object,
        # as a top-level function. In that case you wouldn't
        # use the 'self' selector; any variables that it uses
        # would have to be in the global scope.
        #
        self.field = swing.JTextField()
        tmpPanel.add(self.field)
        tmpPanel.add(
            swing.JButton("Click Me", actionPerformed=self.clickMeCallback),
            "East")
        firstTab.add(tmpPanel, "South")

        #########################################################
        #
        # The second tabbed panel is next...  This shows
        # how to build a basic web browser in about 20 lines.
        #
        secondTab = swing.JPanel()
        secondTab.layout = awt.BorderLayout()
        tabbedPane.addTab("HTML Fanciness", secondTab)

        tmpPanel = swing.JPanel()
        tmpPanel.add(swing.JLabel("Go to:"))
        self.urlField = swing.JTextField(40, actionPerformed=self.goToCallback)
        tmpPanel.add(self.urlField)
        tmpPanel.add(swing.JButton("Go!", actionPerformed=self.goToCallback))
        secondTab.add(tmpPanel, "North")

        self.htmlPane = swing.JEditorPane("http://www.google.com",
                                          editable=0,
                                          hyperlinkUpdate=self.followHyperlink,
                                          preferredSize=(400, 400))
        secondTab.add(swing.JScrollPane(self.htmlPane), "Center")

        self.statusLine = swing.JLabel("(status line)")
        secondTab.add(self.statusLine, "South")

        #########################################################
        #
        # The third tabbed panel is next...
        #
        thirdTab = swing.JPanel()
        tabbedPane.addTab("Other Widgets", thirdTab)

        imageLabel = swing.JLabel(
            swing.ImageIcon(
                net.URL("http://www.gatech.edu/images/logo-gatech.gif")))
        imageLabel.toolTipText = "Labels can have images! Every widget can have a tooltip!"
        thirdTab.add(imageLabel)

        tmpPanel = swing.JPanel()
        tmpPanel.layout = awt.GridLayout(3, 2)
        tmpPanel.border = swing.BorderFactory.createTitledBorder(
            "Travel Checklist")
        tmpPanel.add(
            swing.JCheckBox("Umbrella", actionPerformed=self.checkCallback))
        tmpPanel.add(
            swing.JCheckBox("Rain coat", actionPerformed=self.checkCallback))
        tmpPanel.add(
            swing.JCheckBox("Passport", actionPerformed=self.checkCallback))
        tmpPanel.add(
            swing.JCheckBox("Airline tickets",
                            actionPerformed=self.checkCallback))
        tmpPanel.add(
            swing.JCheckBox("iPod", actionPerformed=self.checkCallback))
        tmpPanel.add(
            swing.JCheckBox("Laptop", actionPerformed=self.checkCallback))
        thirdTab.add(tmpPanel)

        tmpPanel = swing.JPanel()
        tmpPanel.layout = awt.GridLayout(4, 1)
        tmpPanel.border = swing.BorderFactory.createTitledBorder("My Pets")
        #
        # A ButtonGroup is used to indicate which radio buttons
        # go together.
        #
        buttonGroup = swing.ButtonGroup()

        radioButton = swing.JRadioButton("Dog",
                                         actionPerformed=self.radioCallback)
        buttonGroup.add(radioButton)
        tmpPanel.add(radioButton)

        radioButton = swing.JRadioButton("Cat",
                                         actionPerformed=self.radioCallback)
        buttonGroup.add(radioButton)
        tmpPanel.add(radioButton)

        radioButton = swing.JRadioButton("Pig",
                                         actionPerformed=self.radioCallback)
        buttonGroup.add(radioButton)
        tmpPanel.add(radioButton)

        radioButton = swing.JRadioButton("Capybara",
                                         actionPerformed=self.radioCallback)
        buttonGroup.add(radioButton)
        tmpPanel.add(radioButton)

        thirdTab.add(tmpPanel)

        self.window.pack()
        self.window.show()
Пример #17
0
import java.awt as awt
import sys

if __name__ == "__main__":

    if len(sys.argv) > 1:
        uim = swing.UIManager
        nlf = uim.getSystemLookAndFeelClassName()
        uim.setLookAndFeel(nlf)
    else:
        pass

    jf = swing.JFrame()
    cp1 = jf.contentPane
    cp1.setBackground(awt.Color.RED)
    cp = swing.JPanel(awt.GridLayout(2, 2))
    cp.setOpaque(0)
    cp1.add(cp)
    jt = swing.JTree()
    jt.setOpaque(0)
    cp.add(jt)
    jta = swing.JTextArea()
    jta.setText("JTextArea")
    jta.setOpaque(0)
    cp.add(jta)
    jtp = swing.JTextPane()
    jtp.setText("JTextPane")
    jtp.setOpaque(0)
    cp.add(jtp)
    jb = swing.JButton("See Me")
    jb.setOpaque(0)
Пример #18
0
def doMath(e):
    n1 = getField(f1)
    n2 = getField(f2)
    sum.setText(repr(n1 + n2))
    diff.setText(repr(n1 - n2))
    prod.setText(repr(n1 * n2))
    quo.setText(repr(n1 / n2))


f = awt.Frame('BSH Calculator (jpython)', windowClosing=exit)

f1 = awt.TextField(20, actionPerformed=doMath)
f2 = awt.TextField(20, textValueChanged=doMath)

p = awt.Panel()
p.setLayout(awt.GridLayout(2, 2))
p.add(awt.Label('Enter Operand'))
p.add(f1)
p.add(awt.Label('Enter Operand'))
p.add(f2)

f.add('North', p)

f.add("Center", awt.Label('Results:'))

p = awt.Panel()
p.setLayout(awt.GridLayout(4, 2))
p.add(awt.Label('Sum'))
sum = awt.TextField(20)
p.add(sum)
p.add(awt.Label('Difference'))
Пример #19
0
    try:
        xBeta[:] = []  #Makes those empty lists so they are ready to hold new
        yBeta[:] = []  #data
        elements[:] = []
        setUp()
        plot.removeAllGraphData()  #To get rid of previous plots
        plotAns()
        filler.removeAll()  #Removes previous table
        makeTable()  #Adds the new table
    except ValueError:
        error.text = "Make sure all of the magnet displays are displaying numbers before plotting."


#Putting stuff on panels-----------------------------------------------------

buttons = swing.JPanel(awt.GridLayout(3, 2, 1, 10))

for label in labels:  #Adding most of the buttons
    key = swing.JButton(label)
    if label == 'clear x':
        key.actionPerformed = clrx
    if label == 'clear y':
        key.actionPerformed = clry
    if label == 'clear results':
        key.actionPerformed = clrr
    if label == 'clear all':
        key.actionPerformed = clra
    if label == 'clear energy':
        key.actionPerformed = clre
    if label == 'calculate':
        key.actionPerformed = calc