Пример #1
0
    def __init__(self):
        self.contentPane.layout = swing.BoxLayout(self.contentPane,
                                                  swing.BoxLayout.Y_AXIS)

        message = swing.JLabel(BUGREPORTMESSAGE)
        message.setAlignmentX(awt.Component.CENTER_ALIGNMENT)

        self.add(message)

        self.add(swing.Box.createVerticalStrut(10))

        buttonbox = swing.Box(swing.BoxLayout.X_AXIS)
        self.sendbutton = swing.JButton(COMMAND_SEND,
                                        actionPerformed=self.actionPerformed)
        self.cancelbutton = swing.JButton(COMMAND_CANCEL,
                                          actionPerformed=self.actionPerformed)
        buttonbox.add(self.sendbutton)
        buttonbox.add(self.cancelbutton)

        #self.add(swing.Box.createVerticalStrut(10))
        self.add(buttonbox)

        buttonbox.setAlignmentX(awt.Component.CENTER_ALIGNMENT)

        self.pack()

        self.size = (300, 175)
        self.setLocationRelativeTo(None)
        self.show()
Пример #2
0
def classify_image(image):
    """Displays a window that allows the user to view and classify an image."""
    frame = swing.JFrame()
    frame.defaultCloseOperation = swing.JFrame.DO_NOTHING_ON_CLOSE
    frame.add(swing.JLabel(swing.ImageIcon(image)))
    frame.add(swing.JLabel("Enter one of " + ", ".join(CLASS_NAMES)))
    frame.layout = swing.BoxLayout(frame.contentPane, swing.BoxLayout.Y_AXIS)
    class_field = swing.JTextField()
    classify_button = swing.JButton("Classify")
    condition = threading.Condition()

    def listener(_event):
        if class_field.text in CLASS_NAMES:
            with condition:
                condition.notifyAll()
        else:
            swing.JOptionPane.showMessageDialog(
                frame, "Image type is not one of the recognized types",
                "Input error", swing.JOptionPane.ERROR_MESSAGE)

    class_field.addActionListener(listener)
    classify_button.addActionListener(listener)
    frame.add(class_field)
    frame.add(classify_button)
    frame.pack()
    frame.visible = True
    with condition:
        condition.wait()
    frame.dispose()
    return class_field.text
Пример #3
0
 def registerExtenderCallbacks(self, callbacks):
     self._callbacks = callbacks
     self._helpers = callbacks.getHelpers()
     self.context = None
     callbacks.setExtensionName("quoted-printable Parser")
     self._jPanel = swing.JPanel()
     self._jPanel.setLayout(
         swing.BoxLayout(self._jPanel, swing.BoxLayout.Y_AXIS))
     self._jTextIn = swing.JTextArea("Input", 20, 10)
     self._jTextIn.setLineWrap(True)
     self._jScrollPaneIn = swing.JScrollPane(self._jTextIn)
     self._jScrollPaneIn.setVerticalScrollBarPolicy(
         swing.JScrollPane.VERTICAL_SCROLLBAR_ALWAYS)
     self._jScrollPaneIn.setPreferredSize(awt.Dimension(20, 10))
     self._jTextOut = swing.JTextArea("Output", 20, 10)
     self._jTextOut.setLineWrap(True)
     self._jScrollPaneOut = swing.JScrollPane(self._jTextOut)
     self._jScrollPaneOut.setVerticalScrollBarPolicy(
         swing.JScrollPane.VERTICAL_SCROLLBAR_ALWAYS)
     self._jScrollPaneOut.setPreferredSize(awt.Dimension(20, 10))
     self._jButtonPanel = swing.JPanel()
     self._jButtonDecode = swing.JButton('Decode',
                                         actionPerformed=self.decode)
     self._jButtonPanel.add(self._jButtonDecode)
     self._jPanel.add(self._jScrollPaneIn)
     self._jPanel.add(self._jButtonPanel)
     self._jPanel.add(self._jScrollPaneOut)
     callbacks.customizeUiComponent(self._jPanel)
     callbacks.addSuiteTab(self)
     return
Пример #4
0
    def __init__(self, localVars, globalVars, windowNumber, varsToFilter):
        """
        Creates the layout of the window.
        """
        self.varsToFilter = set(varsToFilter)

        now = time.localtime(time.time())
        self.title = time.strftime(DEBUG_WINDOW_TITLE, now)
        self.title = self.title % windowNumber
        self.size = DEBUG_WINDOW_SIZE
        self.contentPane.setLayout(
            swing.BoxLayout(self.contentPane, swing.BoxLayout.Y_AXIS))

        # Create panels and button, and place them on the frame
        closeButton = swing.JButton(CLOSE_BUTTON_CAPTION, actionListener=self)

        bottomPanel = swing.JPanel()
        bottomPanel.add(closeButton)

        localPane = self.buildTablePane(VAR_L_NAME_COL_CAPTION, localVars)
        globalPane = self.buildTablePane(VAR_G_NAME_COL_CAPTION, globalVars)

        self.contentPane.add(localPane)
        self.contentPane.add(globalPane)
        self.contentPane.add(bottomPanel)

        self.setDefaultCloseOperation(1)
        self.setVisible(1)
Пример #5
0
    def __init__(self):
        self.size = ABOUT_WINDOW_SIZE
        self.title = ABOUT_TITLE
        self.setLocationRelativeTo(None)
        self.contentPane.setLayout(
            swing.BoxLayout(self.contentPane, swing.BoxLayout.Y_AXIS))

        copyrightInfoArea = swing.JTextPane()
        copyrightInfoArea.setEditable(0)

        #Load copyright information from the JES copyright file
        copyrightFile = open(COPYRIGHT_FILE, 'r')
        copyrightInfoArea.text = copyrightFile.read()
        copyrightInfoArea.setCaretPosition(0)
        copyrightFile.close()

        okButton = swing.JButton(OK_BUTTON_CAPTION, actionListener=self)

        topPane = swing.JScrollPane(copyrightInfoArea)
        topPane.setPreferredSize(
            awt.Dimension(lang.Short.MAX_VALUE, lang.Short.MAX_VALUE))
        bottomPanel = swing.JPanel()
        bottomPanel.add(okButton)
        self.contentPane.add(topPane)
        self.contentPane.add(bottomPanel)
Пример #6
0
    def __init__(self, localVars, globalVars, windowNumber, varsToFilter):
        import time
        self.varsToFilter = varsToFilter

        now = time.localtime(time.time())
        self.title = time.strftime(DEBUG_WINDOW_TITLE, now)
        self.title = self.title % windowNumber
        self.size = DEBUG_WINDOW_SIZE
        self.contentPane.setLayout(
            swing.BoxLayout(self.contentPane, swing.BoxLayout.Y_AXIS))

        #Load the variables from varsToDisplay into an array for the JTable

        #Create panels and button, and place them on the frame
        closeButton = swing.JButton(CLOSE_BUTTON_CAPTION, actionListener=self)

        bottomPanel = swing.JPanel()
        bottomPanel.add(closeButton)

        (topPane, bottomPane) = self.buildContentPane(localVars, globalVars)
        self.contentPane.add(topPane)
        self.contentPane.add(bottomPane)
        self.contentPane.add(bottomPanel)

        self.setDefaultCloseOperation(1)
        self.setVisible(1)
Пример #7
0
    def registerExtenderCallbacks(self, callbacks):
        print "SAML BurpSuite Extension"
        print "Ben Campbell <eat_meatballs[at]hotmail.co.uk>"
        print "http://rewtdance.blogspot.co.uk"
        print "http://github.com/Meatballs1/burp_saml"

        # keep a reference to our callbacks object
        self._callbacks = callbacks

        # obtain an extension helpers object
        self._helpers = callbacks.getHelpers()

        # set our extension name
        callbacks.setExtensionName("SAML Decoder")

        # Create Tab
        self._jPanel = swing.JPanel()
        self._jPanel.setLayout(
            swing.BoxLayout(self._jPanel, swing.BoxLayout.Y_AXIS))

        # SAML Binding Format
        self._jTextIn = swing.JTextArea("SAML Binding In", 20, 120)
        self._jTextIn.setLineWrap(True)
        self._jTextOut = swing.JTextArea("SAML Binding Out", 20, 120)
        self._jTextOut.setLineWrap(True)
        self._jButtonPanel = swing.JPanel()
        self._jButtonEncode = swing.JButton('Encode',
                                            actionPerformed=self.encode)
        self._jButtonDecode = swing.JButton('Decode',
                                            actionPerformed=self.decode)
        self._jButtonPanel.add(self._jButtonEncode)
        self._jButtonPanel.add(self._jButtonDecode)
        self._jPanel.add(self._jTextIn)
        self._jPanel.add(self._jButtonPanel)
        self._jPanel.add(self._jTextOut)

        # SAML Artifact Format
        self._jTextArtIn = swing.JTextArea("SAML Artifact In", 20, 120)
        self._jTextArtIn.setLineWrap(True)
        self._jTextArtOut = swing.JTextArea("SAML Artifact Out", 20, 120)
        self._jTextArtOut.setLineWrap(True)
        self._jButtonArtPanel = swing.JPanel()
        self._jButtonArtEncode = swing.JButton('Encode',
                                               actionPerformed=self.art_encode)
        self._jButtonArtDecode = swing.JButton('Decode',
                                               actionPerformed=self.art_decode)
        self._jButtonArtPanel.add(self._jButtonArtEncode)
        self._jButtonArtPanel.add(self._jButtonArtDecode)
        self._jPanel.add(self._jTextArtIn)
        self._jPanel.add(self._jButtonArtPanel)
        self._jPanel.add(self._jTextArtOut)

        callbacks.customizeUiComponent(self._jPanel)

        # register ourselves as a message editor tab factory
        callbacks.addSuiteTab(self)
        return
    def registerExtenderCallbacks(self, callbacks):
        print "Install Successful...."
        # 测试文本
        testtext = u'''
admin u'\u8fd9\u662f\u4e00\u4e2a\u6d4b\u8bd5\u9875\u9762'
root u'\u4f60\u4ee5\u4e3a\u6709\u91cd\u8981\u4fe1\u606f\u4e48\uff1f'
\u6211\u662F\u4E00\u4E2A\u7C89\u5237\u5320\uFF0C\u7C89\u5237\u672C\u9886\u5F3A\uFF0C
\u6211\u8981\u628A\u90A3\u5C0F\u623F\u5B50\uFF0C\u5237\u7684\u5F88\u6F02\u4EAE\u3002
%u6211%u662F%u4E00%u4E2A%u7C89%u5237%u5320%uFF0C%u7C89%u5237%u672C%u9886%u5F3A%uFF0C
%u6211%u8981%u628A%u90A3%u5C0F%u623F%u5B50%uFF0C%u5237%u7684%u5F88%u6F02%u4EAE%u3002
\x31\x2C\x31\x29\x3B\x75\x70\x64\x61\x74\x65\x20\x5B\x64\x76\x5F\x75\x73\x65\x72\x5D\x20\x73\x65\x74\x20\x75\x73\x65\x72\x67\x72\x6F\x75\x70\x69\x64\x3D\x31\x20\x77\x68\x65\x72\x65\x20\x75\x73\x65\x72\x69\x64\x3D\x32\x3B\x2D\x2D\x20
\x75\x73\x65\x72\x69\x64\x3D\x32\x3B\x2D\x2D\x20
0x310x2C0x310x290x3B0x750x700x640x610x740x650x200x5B0x640x760x5F0x750x730x650x720x5D0x200x730x650x740x200x750x730x650x720x670x720x6F0x750x700x690x640x3D0x310x200x770x680x650x720x650x200x750x730x650x720x690x640x3D0x320x3B0x2D0x2D0x20
0x312C31293B757064617465205B64765F757365725D20736574207573657267726F757069643D31207768657265207573657269643D323B2D2D20
 闲话不说了,base64模块真正用的上的方法只有8个,分别是encode, decode,
 ZW5jb2Rlc3RyaW5n, ZGVjb2Rlc3RyaW5n, YjY0ZW5jb2Rl,b64decode,
  dXJsc2FmZV9iNjRkZWNvZGUsdXJsc2FmZV9iNjRlbmNvZGXjgII=他们8个可以两两分为4组,
  ZW5jb2RlLGRlY29kZQ==一组,专门用来编码和 解码文件的,也可以对StringIO里的数据做编解码;
 ZW5jb2Rlc3RyaW5nLGRlY29kZXN0cmluZw==一组,专门用来编码和解码字符串;
'''
        # 保持对象的引用
        self._callbacks = callbacks
        # 获得扩展辅助对象
        self._helpers = callbacks.getHelpers()
        # 设置Extender里面显示的插件名
        callbacks.setExtensionName("DecodeAssistantDev0.2")
        # 用java的swing库创建一个标签
        self._jPanel = swing.JPanel()
        self._jPanel.setLayout(
            swing.BoxLayout(self._jPanel, swing.BoxLayout.Y_AXIS))
        # 文本框
        self._jTextIn = swing.JTextArea(testtext, 20, 120)
        self._jTextIn.setLineWrap(True)
        self._jScrollPaneIn = swing.JScrollPane(self._jTextIn)
        self._jScrollPaneIn.setVerticalScrollBarPolicy(
            swing.JScrollPane.VERTICAL_SCROLLBAR_ALWAYS)
        self._jScrollPaneIn.setPreferredSize(awt.Dimension(20, 120))
        # 定义2个按钮,编码和解码
        self._jButtonPanel = swing.JPanel()
        self._jButtonEncode = swing.JButton('Encode',
                                            actionPerformed=self.encode)
        self._jButtonDecode = swing.JButton('Decode',
                                            actionPerformed=self.decode)
        self._jButtonPanel.add(self._jButtonEncode)
        self._jButtonPanel.add(self._jButtonDecode)
        self._jPanel.add(self._jScrollPaneIn)
        self._jPanel.add(self._jButtonPanel)

        callbacks.customizeUiComponent(self._jPanel)

        # register ourselves as a message editor tab factory
        callbacks.addSuiteTab(self)
        return
Пример #9
0
    def __init__(self, debugger):
        self.lastValue = None
        self.debugger = debugger
        MAX_SPEED = debugger.MAX_SPEED
        self.slider = swing.JSlider(swing.JSlider.HORIZONTAL,
                                    0,
                                    MAX_SPEED,
                                    self.debugger.speed,
                                    stateChanged=self.stateChanged)
        self.last_speed = self.debugger.speed
        labels = Hashtable()
        labels.put(0, swing.JLabel('slow'))
        labels.put(MAX_SPEED, swing.JLabel('fast'))
        self.slider.labelTable = labels
        self.slider.paintLabels = 1

        self.addButton = swing.JButton(swing.ImageIcon('images/plus.jpg'),
                                       actionPerformed=self.actionPerformed,
                                       toolTipText='add Variable',
                                       preferredSize=BUTTON_SIZE)
        self.deleteButton = swing.JButton(swing.ImageIcon('images/minus.jpg'),
                                          actionPerformed=self.actionPerformed,
                                          toolTipText='remove Variable',
                                          preferredSize=BUTTON_SIZE)
        self.stepButton = swing.JButton(swing.ImageIcon('images/boot.jpg'),
                                        actionPerformed=self.actionPerformed,
                                        toolTipText='step',
                                        preferredSize=BUTTON_SIZE)
        self.pauseIcon = swing.ImageIcon('images/pause.jpg')
        self.runIcon = swing.ImageIcon('images/run.jpg')
        self.runButton = swing.JButton(self.runIcon,
                                       actionPerformed=self.actionPerformed,
                                       toolTipText='run',
                                       preferredSize=BUTTON_SIZE)
        self.fullspeedButton = swing.JButton(
            swing.ImageIcon('images/fullspeed.jpg'),
            actionPerformed=self.actionPerformed,
            toolTipText='full speed',
            preferredSize=BUTTON_SIZE)
        self.stopButton = swing.JButton(swing.ImageIcon('images/stop.jpg'),
                                        actionPerformed=self.actionPerformed,
                                        toolTipText='stop',
                                        preferredSize=BUTTON_SIZE)
        self.setLayout(swing.BoxLayout(self, swing.BoxLayout.X_AXIS))
        self.add(self.slider)
        self.add(self.addButton)
        self.add(self.deleteButton)
        #self.add(self.stepButton) # These two lines commented out by Brian O because of removed Pause functionality -- 23 June 2008
        #self.add(self.runButton)
        self.add(self.fullspeedButton)
        self.add(self.stopButton)
        self.initialButtonState()
 def __init__(self, debugger):
     self.lastValue = None
     self.debugger = debugger
     self.slider = swing.JSlider(swing.JSlider.VERTICAL,
                                 0,
                                 10,
                                 self.debugger.speed,
                                 stateChanged=self.stateChanged)
     self.stepButton = swing.JButton('step',
                                     actionPerformed=self.actionPerformed
                                     )  # pic of a boot would be nice
     self.stepButton.setEnabled(0)
     self.setLayout(swing.BoxLayout(self, swing.BoxLayout.Y_AXIS))
     self.add(self.slider)
     self.add(self.stepButton)
Пример #11
0
    def __init__(self):
        self.frame=swing.JFrame(title="Simple Jython Interpreter", size=(600,500))
        self.frame.defaultCloseOperation=swing.JFrame.EXIT_ON_CLOSE;
        self.frame.layout=awt.BorderLayout()
        self.panel1=swing.JPanel(awt.BorderLayout())
        self.panel2=swing.JPanel(awt.BorderLayout())


        self.title=swing.JLabel("Jython Code")
        self.title2 = swing.JLabel("Interpreter Output")
        self.button1=swing.JButton("Run", actionPerformed=self.printMessage)
        self.button2=swing.JButton("Clear Output", actionPerformed=self.clearMessage)

        self.buttonPane = swing.JPanel()
        self.buttonPane.layout = swing.BoxLayout(self.buttonPane, swing.BoxLayout.LINE_AXIS)
        self.buttonPane.border = swing.BorderFactory.createEmptyBorder(0, 10, 10, 10)
        self.buttonPane.add(swing.Box.createHorizontalGlue())
        self.buttonPane.add(self.button1)
        self.buttonPane.add(swing.Box.createRigidArea(awt.Dimension(10, 0)))
        self.buttonPane.add(self.button2)

        self.textField=swing.JTextArea(4,15)
        self.textField.lineWrap = True
        self.scrollPaneOne = swing.JScrollPane(self.textField)
        self.scrollPaneOne.verticalScrollBarPolicy = swing.JScrollPane.VERTICAL_SCROLLBAR_ALWAYS
        self.outputText=swing.JTextArea(4,15)
        self.outputText.lineWrap = True
        self.outputText.editable = False
        self.scrollPane2 = swing.JScrollPane(self.outputText)
        self.scrollPane2.verticalScrollBarPolicy = swing.JScrollPane.VERTICAL_SCROLLBAR_ALWAYS
        

        self.panel1.add(self.title, awt.BorderLayout.PAGE_START)
        self.panel1.add(self.scrollPaneOne, awt.BorderLayout.CENTER)
        self.panel2.add(self.title2, awt.BorderLayout.PAGE_START)
        self.panel2.add(self.scrollPane2, awt.BorderLayout.CENTER)

        self.splitPane = swing.JSplitPane(swing.JSplitPane.VERTICAL_SPLIT,
                         self.panel1, self.panel2)
        self.splitPane.oneTouchExpandable = True
        self.minimumSize = awt.Dimension(50, 100)
        self.panel1.minimumSize = self.minimumSize
        self.panel2.minimumSize = self.minimumSize

        self.frame.contentPane.add(self.splitPane, awt.BorderLayout.CENTER)
        self.frame.contentPane.add(self.buttonPane, awt.BorderLayout.PAGE_END)
Пример #12
0
	def mkclk(self):
		global tmlab
		# create a borderless frame
		fclk = swing.JFrame("Clk",size=(390,295))
		fclk.setUndecorated(True)
		fclk.getContentPane().setOpaque(True)
		fclk.contentPane.setLayout(swing.BoxLayout(fclk.contentPane,swing.BoxLayout.X_AXIS))
		pan = swing.JPanel(size=(390,295),border= border.EtchedBorder(border.EtchedBorder.RAISED))
		tmlab=swing.JLabel()
		self.updclk()
		pan.add(tmlab)
		
		fclk.contentPane.add(pan)
		fclk.setSize(awt.Dimension(400,200))

		#  this sets the location on the screen 400 across and 15 down.
		fclk.setLocation(awt.Point(400,15))
		fclk.pack()
		fclk.show()
		#print "fin clk"
		return
Пример #13
0
    def __init__(self):
        self.size = ABOUT_WINDOW_SIZE
        self.title = ABOUT_TITLE
        self.setLocationRelativeTo(None)
        self.contentPane.setLayout(
            swing.BoxLayout(self.contentPane, swing.BoxLayout.Y_AXIS))

        introductionInfoArea = swing.JTextPane()
        introductionInfoArea.setEditable(0)

        #Load information from the JES introduction file
        introductionFile = open(INTRODUCTION_FILE, 'r')
        introductionInfoArea.text = introductionFile.read()
        introductionFile.close()

        okButton = swing.JButton(OK_BUTTON_CAPTION, actionListener=self)

        topPane = swing.JScrollPane(introductionInfoArea)
        topPane.setPreferredSize(
            awt.Dimension(lang.Short.MAX_VALUE, lang.Short.MAX_VALUE))
        bottomPanel = swing.JPanel()
        bottomPanel.add(okButton)
        self.contentPane.add(topPane)
        self.contentPane.add(bottomPanel)
Пример #14
0
    def __init__(self, title, host, port, service):
        # create window
        win = swing.JFrame(title, size=(800, 480))
        win.setDefaultCloseOperation(swing.JFrame.EXIT_ON_CLOSE)
        win.contentPane.layout = awt.BorderLayout(10, 10)

        # add scrollable textfield
        status = swing.JTextPane(preferredSize=(780, 400))
        status.setAutoscrolls(True)
        status.setEditable(False)
        status.setBorder(swing.BorderFactory.createEmptyBorder(20, 20, 20, 20))
        paneScrollPane = swing.JScrollPane(status)
        paneScrollPane.setVerticalScrollBarPolicy(
            swing.JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED)
        win.contentPane.add(paneScrollPane, awt.BorderLayout.CENTER)

        # add server button
        self.started = "Start Server"
        self.stopped = "Stop Server"
        self.serverButton = swing.JButton(self.started,
                                          preferredSize=(150, 20),
                                          actionPerformed=self.controlServer)

        # add client button
        self.clientButton = swing.JButton("Invoke Method",
                                          preferredSize=(150, 20),
                                          actionPerformed=self.runClient)
        self.clientButton.enabled = False

        # position buttons
        buttonPane = swing.JPanel()
        buttonPane.setLayout(
            swing.BoxLayout(buttonPane, swing.BoxLayout.X_AXIS))
        buttonPane.setBorder(
            swing.BorderFactory.createEmptyBorder(0, 10, 10, 10))
        buttonPane.add(swing.Box.createHorizontalGlue())
        buttonPane.add(self.serverButton)
        buttonPane.add(swing.Box.createRigidArea(awt.Dimension(10, 0)))
        buttonPane.add(self.clientButton)
        win.contentPane.add(buttonPane, awt.BorderLayout.SOUTH)

        # add handler that writes log messages to the status textfield
        txtHandler = TextFieldLogger(status)
        logger = logging.getLogger("")
        logger.setLevel(logging.DEBUG)
        formatter = logging.Formatter('%(asctime)s - %(message)s')
        txtHandler.setFormatter(formatter)
        logger.addHandler(txtHandler)

        # setup server
        self.service_name = service
        self.url = "http://%s:%d" % (host, port)
        self.server = ThreadedAmfServer(host, port, self.service_name)

        # center and display window on the screen
        win.pack()
        us = win.getSize()
        them = awt.Toolkit.getDefaultToolkit().getScreenSize()
        newX = (them.width - us.width) / 2
        newY = (them.height - us.height) / 2
        win.setLocation(newX, newY)
        win.show()
Пример #15
0
        def createWidgets(self):

            self.dialog = swing.JDialog()
            self.dialog.setTitle("Spell Checker")
            cpane = self.dialog.getContentPane()
            blayout = swing.BoxLayout(cpane, swing.BoxLayout.Y_AXIS)
            cpane.setLayout(blayout)
            self.word = swing.JTextField()
            self.word.setEditable(False)
            cwborder = sborder.TitledBorder("Current Word:")
            self.word.setBorder(cwborder)
            cpane.add(self.word)
            self.possible = swing.JTextField()
            pborder = sborder.TitledBorder("Change To:")
            self.possible.setBorder(pborder)
            cpane.add(self.possible)
            center = swing.JPanel()
            blayout = swing.BoxLayout(center, swing.BoxLayout.X_AXIS)
            center.setLayout(blayout)
            self.jlist = swing.JList()
            self.jlist.setSelectionMode(
                swing.ListSelectionModel.SINGLE_SELECTION)
            self.jlist.setVisibleRowCount(5)

            class _listSelectionListener(sevent.ListSelectionListener):
                def __init__(self, jlist, possible):
                    self.jlist = jlist
                    self.possible = possible

                def valueChanged(self, event):
                    self.possible.setText(str(self.jlist.getSelectedValue()))

            self.jlist.addListSelectionListener(
                _listSelectionListener(self.jlist, self.possible))
            spane = swing.JScrollPane(self.jlist)
            spborder = sborder.TitledBorder("Suggestions")
            spane.setBorder(spborder)
            center.add(spane)
            bpanel = swing.JPanel()
            blayout = swing.BoxLayout(bpanel, swing.BoxLayout.Y_AXIS)
            bpanel.setLayout(blayout)
            center.add(bpanel)
            change = swing.JButton("Change")
            change.actionPerformed = self.change
            changeall = swing.JButton("Change All")
            changeall.actionPerformed = self.changeAll
            ignore = swing.JButton("Ignore All")
            ignore.actionPerformed = self.ignore
            add = swing.JButton("Add")
            add.actionPerformed = self.add
            bpanel.add(change)
            bpanel.add(changeall)
            bpanel.add(ignore)
            bpanel.add(add)
            cpane.add(center)
            self.next = swing.JButton("Next")
            self.next.actionPerformed = self.checkNextWord
            self.close = swing.JButton("Close")
            self.close.actionPerformed = lambda event: self.dialog.hide()
            jpanel = swing.JPanel()
            jpanel.add(self.next)
            jpanel.add(self.close)
            cpane.add(jpanel)
            self.dialog.pack()
Пример #16
0
 def LayOut(self):
     self.setLayout(swing.BoxLayout(self, swing.BoxLayout.X_AXIS))
Пример #17
0
    def registerExtenderCallbacks(self, callbacks):
        # for error handling
        sys.stdout = callbacks.getStdout()
        sys.stderr = callbacks.getStderr()

        self._callbacks = callbacks
        self._helpers = callbacks.getHelpers()

        jsonFilter = FileNameExtensionFilter("JSON files", ['json'])

        basePath = self._callbacks.loadExtensionSetting(SETTING_LAST_PATH)
        # print("got last path {}".format(basePath))

        self._collectionChooser = swing.JFileChooser(basePath)
        self._collectionChooser.setFileFilter(jsonFilter)

        self._environmentChooser = swing.JFileChooser(basePath)
        self._environmentChooser.setFileFilter(jsonFilter)

        # ### Top "buttons" pane
        controlPane = swing.JPanel()
        controlPane.setBorder(EmptyBorder(10, 20, 0, 10))
        controlPane.setLayout(
            swing.BoxLayout(controlPane, swing.BoxLayout.PAGE_AXIS))
        controlPane.setAlignmentX(swing.Box.LEFT_ALIGNMENT)

        box1 = swing.Box.createHorizontalBox()
        box1.setAlignmentX(swing.Box.LEFT_ALIGNMENT)
        box1.add(
            swing.JButton('Load Collection',
                          actionPerformed=self.loadCollection))
        self._collectionLabel = swing.JLabel("Choose a collection file")
        box1.add(self._collectionLabel)
        controlPane.add(box1)

        box2 = swing.Box.createHorizontalBox()
        box2.setAlignmentX(swing.Box.LEFT_ALIGNMENT)
        box2.add(
            swing.JButton('Load Environment',
                          actionPerformed=self.loadEnvironment))
        self._environmentLabel = swing.JLabel("Choose an environment file")
        box2.add(self._environmentLabel)
        controlPane.add(box2)

        # ### end Top "controls" pane

        # ### instructions
        instructionsPane = swing.JPanel(BorderLayout())
        instructions = swing.JLabel()
        instructions.setText("""<html><body>
<h3>Usage:</h3>
<ol>
<li>Select the Collection Postman JSON file. This should extract all discovered environment variables.</li>
<li>(Optional) Select an Environment Postman JSON file. This can be the same as the Collection file.</li>
<li>Set environment variables below.</li>
<li>Choose 'Create Requests' to create Repeater tabs.</li>
</ol>
</body></html>""")
        instructionsPane.add(instructions, BorderLayout.NORTH)
        # ### end instructions

        # ### environment variables
        envTablePane = swing.JPanel(BorderLayout())
        envLabel = swing.JLabel("Environment Variables")
        envLabel.setBorder(EmptyBorder(5, 5, 5, 5))
        envLabel.setFont(
            Font(envLabel.getFont().getName(), Font.BOLD,
                 envLabel.getFont().getSize() + 2))
        envTablePane.add(envLabel, BorderLayout.NORTH)

        self._envTable = swing.JTable(DefaultTableModel([], self._envCols))
        self._envTable.setAutoCreateRowSorter(True)
        self._envTable.getTableHeader().setReorderingAllowed(False)
        tableMenu = swing.JPopupMenu()
        tableMenu.add(swing.JMenuItem("Add New", actionPerformed=self._addEnv))
        tableMenu.add(
            swing.JMenuItem("Clear All", actionPerformed=self._clearEnv))
        deleteMenuItem = swing.JMenuItem("Delete Row",
                                         actionPerformed=self._deleteEnv)
        deleteMenuItem.setEnabled(False)
        tableMenu.add(deleteMenuItem)
        self._envTable.setComponentPopupMenu(tableMenu)
        listener = self._envTableListener(self)
        self._envTable.addMouseListener(listener)
        renderer = self._envTableRenderer()
        self._envTable.setDefaultRenderer(Class.forName('java.lang.Object'),
                                          renderer)

        envTablePaneMenu = swing.JPopupMenu()
        envTablePaneMenu.add(
            swing.JMenuItem("Add New", actionPerformed=self._addEnv))
        envTablePaneMenu.add(
            swing.JMenuItem("Clear All", actionPerformed=self._clearEnv))
        scrl = swing.JScrollPane(self._envTable)
        scrl.setComponentPopupMenu(envTablePaneMenu)
        envTablePane.add(scrl)
        # ### end environment variables

        # ### requests
        reqTablePane = swing.JPanel(BorderLayout())
        reqLabel = swing.JLabel("Requests")
        reqLabel.setBorder(EmptyBorder(5, 5, 5, 5))
        reqLabel.setFont(envLabel.getFont())
        reqTablePane.add(reqLabel, BorderLayout.NORTH)

        self._reqTable = self._reqTableClass(
            DefaultTableModel([], self._reqCols))
        self._reqTable.setAutoCreateRowSorter(True)
        self._reqTable.getTableHeader().setReorderingAllowed(False)
        self._reqTable.setAutoResizeMode(swing.JTable.AUTO_RESIZE_LAST_COLUMN)
        self._reqTable.getTableHeader().setReorderingAllowed(False)
        self._reqTable.getColumnModel().getColumn(0).setMaxWidth(150)
        self._reqTable.getColumnModel().getColumn(0).setMinWidth(150)
        self._reqTable.getColumnModel().getColumn(2).setMaxWidth(150)
        self._reqTable.getColumnModel().getColumn(2).setMinWidth(150)
        scrl2 = swing.JScrollPane(self._reqTable)
        reqTablePane.add(scrl2)
        # ### end requests

        # ### Logs
        logPane = swing.JPanel(BorderLayout())

        buttonBox = swing.JPanel(FlowLayout(FlowLayout.LEFT, 20, 0))
        requestButtonBox = swing.Box.createHorizontalBox()
        self._selectButtons = [
            swing.JButton('Select All', actionPerformed=self.selectAll),
            swing.JButton('Select None', actionPerformed=self.selectNone),
            swing.JButton('Invert Selection',
                          actionPerformed=self.selectInvert)
        ]
        for btn in self._selectButtons:
            requestButtonBox.add(btn)
            btn.setEnabled(False)

        buttonBox.add(requestButtonBox)

        self._createRequestsButton = swing.JButton(
            'Create Requests', actionPerformed=self.createRequests)
        self._createRequestsButton.setEnabled(False)
        requestButtonBox.add(self._createRequestsButton)

        buttonBox.add(self._createRequestsButton)

        self._logButton = swing.JButton('Clear Log',
                                        actionPerformed=self.clearLog)
        self._logButton.setEnabled(False)
        buttonBox.add(self._logButton)

        logPane.add(buttonBox, BorderLayout.NORTH)

        self._log = swing.JTextPane()
        self._log.setEditable(False)
        self._log.setFont(Font("monospaced", Font.PLAIN, 12))
        logPane.add(swing.JScrollPane(self._log))
        # ### end Logs

        # ### add panels
        self._topControlsPane = swing.JSplitPane(
            swing.JSplitPane.HORIZONTAL_SPLIT, controlPane, instructionsPane)
        p1 = swing.JSplitPane(swing.JSplitPane.VERTICAL_SPLIT,
                              self._topControlsPane, envTablePane)
        p2 = swing.JSplitPane(swing.JSplitPane.VERTICAL_SPLIT, p1,
                              reqTablePane)
        p2.setResizeWeight(0.5)
        self._panel = swing.JSplitPane(swing.JSplitPane.VERTICAL_SPLIT, p2,
                                       logPane)
        self._panel.setResizeWeight(0.6)
        # ### end add panels

        callbacks.setExtensionName(NAME)
        callbacks.addSuiteTab(self)
Пример #18
0
    def registerExtenderCallbacks(self, callbacks):

        # Make available to whole class
        self._callbacks = callbacks

        # obtain an extension helpers object
        self._helpers = callbacks.getHelpers()

        # set our extension name
        callbacks.setExtensionName("MitM helper plugin for drozer")

        # create the log and a lock on which to synchronize when adding log entries
        self._log = ArrayList()
        self._lock = Lock()

        # Split pane
        self._splitpane = swing.JSplitPane(swing.JSplitPane.HORIZONTAL_SPLIT)

        # Create Tab
        topPanel = swing.JPanel()
        topPanel.setLayout(swing.BoxLayout(topPanel, swing.BoxLayout.Y_AXIS))

        # Define all tools
        self.tools = []
        self.tools.append(
            Tool(180, "JavaScript Injection",
                 "Inject Remote JS into HTTP Responses", self.nothing,
                 self.injectJs, "JS Location", "http://x.x.x.x:31415/dz.js"))
        self.tools.append(
            Tool(180, "APK Replacement",
                 "Replace APK with specified one when requested",
                 self.modifyAPKRequest, self.injectAPK, "APK Location", "",
                 True))
        self.tools.append(
            Tool(
                170, "Invoke drozer using pwn://",
                "Inject code into HTTP Responses that invokes installed drozer agent",
                self.nothing, self.injectPwn, None, None, None,
                "Perform active invocation (required for Chromium >= 25)"))
        self.tools.append(
            Tool(
                220, "Custom URI Handler Injection",
                "Inject code into HTTP Responses that invokes specified URI handler",
                self.nothing, self.injectCustomURI, "URI", "pwn://me", None,
                "Perform active invocation (required for Chromium >= 25)"))

        # Add all tools to panel
        for i in self.tools:
            topPanel.add(i.getPanel())
        self._splitpane.setLeftComponent(topPanel)

        # table of log entries
        logTable = Table(self)
        logTable.setAutoResizeMode(swing.JTable.AUTO_RESIZE_ALL_COLUMNS)

        logTable.getColumn("Time").setPreferredWidth(120)
        logTable.getColumn("URL").setPreferredWidth(500)

        scrollPane = swing.JScrollPane(logTable)
        self._splitpane.setRightComponent(scrollPane)

        # customize our UI components
        callbacks.customizeUiComponent(self._splitpane)
        callbacks.customizeUiComponent(logTable)
        callbacks.customizeUiComponent(scrollPane)
        callbacks.customizeUiComponent(topPanel)

        # add the custom tab to Burp's UI
        callbacks.addSuiteTab(self)

        # register ourselves as an HTTP listener
        callbacks.registerHttpListener(self)

        return
Пример #19
0
    def __init__(self, movie):
        try:
            self.size = (600, 400)
            self.movie = movie
            self.fps = 30

            # The buttons on the right side

            self.clearButton = swing.JButton(
                COMMAND_CLEAR_IMG, actionPerformed=self.actionPerformed)
            self.addButton = swing.JButton(
                COMMAND_ADD_IMG, actionPerformed=self.actionPerformed)
            self.addDirectoryButton = swing.JButton(
                COMMAND_ADD_DIR, actionPerformed=self.actionPerformed)
            self.deleteButton = swing.JButton(
                COMMAND_DELETE_IMG, actionPerformed=self.actionPerformed)
            self.playButton = swing.JButton(
                COMMAND_PLAY_MOVIE, actionPerformed=self.actionPerformed)
            self.moveUpButton = swing.JButton(
                COMMAND_MOVE_UP, actionPerformed=self.actionPerformed)
            self.moveDownButton = swing.JButton(
                COMMAND_MOVE_DOWN, actionPerformed=self.actionPerformed)
            self.changeFPSButton = swing.JButton(
                COMMAND_CHANGE_FPS, actionPerformed=self.actionPerformed)

            self.buttonpane = swing.JPanel()
            self.buttonpane.setLayout(
                swing.BoxLayout(self.buttonpane, swing.BoxLayout.Y_AXIS))

            self.buttonpane.add(self.clearButton)
            self.buttonpane.add(self.deleteButton)
            self.buttonpane.add(self.addDirectoryButton)
            self.buttonpane.add(self.addButton)
            self.buttonpane.add(self.playButton)
            self.buttonpane.add(self.moveUpButton)
            self.buttonpane.add(self.moveDownButton)
            self.buttonpane.add(self.changeFPSButton)

            # The images on the left side

            self.listModel = swing.DefaultListModel()
            self.list = swing.JList(self.listModel)

            self.listpane = swing.JScrollPane(self.list)
            #self.listpane.setLayout(swing.BoxLayout(self.listpane, swing.BoxLayout.X_AXIS))
            # self.listpane.add(self.list)

            # The splitter pane

            splitterPane = swing.JSplitPane()
            splitterPane.orientation = swing.JSplitPane.HORIZONTAL_SPLIT
            splitterPane.leftComponent = self.listpane
            splitterPane.rightComponent = self.buttonpane
            splitterPane.setDividerSize(SPLITTER_SIZE)
            splitterPane.setDividerLocation(VSPLITTER_LOCATION)
            splitterPane.setResizeWeight(1.0)

            self.add(splitterPane)
            self.addFramesIntoListModel(self.movie)
            self.show()

        except:
            import traceback
            import sys
            a, b, c = sys.exc_info()
            print "FrameSequencerTool exception:"
            traceback.print_exception(a, b, c)
Пример #20
0
    def __init__(self,
                 maxSizeY,
                 title,
                 description,
                 requestExecutor,
                 responseExecutor,
                 editBoxLabel=None,
                 editBox=None,
                 browseButton=None,
                 tickBox=None):

        self.title = title
        self.descriptionLabel = swing.JLabel(description)
        self.requestExecutor = requestExecutor
        self.responseExecutor = responseExecutor

        self.panel = swing.JPanel()
        self.panel.setLayout(
            swing.BoxLayout(self.panel, swing.BoxLayout.Y_AXIS))
        self.panel.setBorder(swing.BorderFactory.createTitledBorder(title))
        self.panel.setAlignmentX(awt.Component.LEFT_ALIGNMENT)
        self.panel.setMaximumSize(awt.Dimension(1000, maxSizeY))

        descriptionPanel = swing.JPanel()
        descriptionPanel.setLayout(
            swing.BoxLayout(descriptionPanel, swing.BoxLayout.X_AXIS))
        descriptionPanel.add(self.descriptionLabel)
        self._setBorder(descriptionPanel, 10, 10)
        self.panel.add(descriptionPanel)

        optionPanel = swing.JPanel()
        optionPanel.setLayout(
            swing.BoxLayout(optionPanel, swing.BoxLayout.X_AXIS))

        if editBox is not None:

            self.editBox = swing.JTextField(editBox)
            self.editBox.setMaximumSize(awt.Dimension(1000, 30))

            optionPanel.add(swing.JLabel(editBoxLabel))
            optionPanel.add(self.editBox)

        if browseButton is not None:
            self.browseButton = swing.JButton(
                'Browse', actionPerformed=self.openBrowseDialog)
            optionPanel.add(self.browseButton)

        if editBox is not None or browseButton is not None:
            self._setBorder(optionPanel, 10, 10)
            self.panel.add(optionPanel)

        if tickBox is not None:
            self.tickBox = swing.JCheckBox(tickBox)
            tickBoxPanel = swing.JPanel()
            tickBoxPanel.setLayout(
                swing.BoxLayout(tickBoxPanel, swing.BoxLayout.X_AXIS))
            tickBoxPanel.add(self.tickBox)
            self._setBorder(tickBoxPanel, 10, 10)
            self.panel.add(tickBoxPanel)

        enableButtonPanel = swing.JPanel()
        enableButtonPanel.setLayout(
            swing.BoxLayout(enableButtonPanel, swing.BoxLayout.X_AXIS))
        self.enableButton = swing.JToggleButton('Disabled',
                                                actionPerformed=self.toggle)
        enableButtonPanel.add(self.enableButton)
        self._setBorder(enableButtonPanel, 10, 10)
        self.panel.add(enableButtonPanel)
Пример #21
0
    def reportSolution_gsa(self, output,
                           cmdarray):  #w#for genome-scale analysis
        recordtabs = swing.JTabbedPane()
        #        records = output.split(ENDTAG)
        records = output.split(';\n')
        outputtable = []
        pscript = self.getScript()  #problem file
        precs = pscript.split(';')
        for i in range(len(records) - 1):
            record = records[i]
            outtabs = swing.JTabbedPane()
            if self.program == Util.GFAA:
                lines_reac, lines_gene = Data.Tabular.output2table_gfaa(record)
                table_reac = OutputTable.OutputTable(self.metabolicModel)
                table_reac.write(lines_reac, 'GFAAreac')
                tab_reac = swing.JScrollPane(table_reac)
                table_gene = OutputTable.OutputTable(self.metabolicModel)
                table_gene.write(lines_gene, 'GFAAgene')
                tab_gene = swing.JScrollPane(table_gene)
                outtabs.addTab('Reaction', tab_reac)
                outtabs.addTab('Gene', tab_gene)
                outtabs.setToolTipTextAt(outtabs.indexOfTab('Reaction'),
                                         'Flux-activity state for reactions')
                outtabs.setToolTipTextAt(outtabs.indexOfTab('Gene'),
                                         'Flux-activity state for Gene')
                outputtable += [table_reac, table_gene]
                recordtabs.addTab('Record' + str(i + 1), outtabs)
            elif self.program in (Util.GFVA2, Util.GFVA3, Util.GIMME2):
                lines_obj, lines_reac = Data.Tabular.output2table_gfva(
                    record, self.program)
                table_obj = OutputTable.OutputTable(self.metabolicModel)
                table_reac = OutputTable.OutputTable(self.metabolicModel)
                table_obj.write(lines_obj, 'GFVAobj')
                table_reac.write(lines_reac, 'GFVAreac')
                tabpanel = swing.JPanel()
                #                tabpanelsp = swing.JScrollPane(tabpanel)
                tabpanel.setLayout(
                    swing.BoxLayout(tabpanel, swing.BoxLayout.Y_AXIS))
                tab1 = swing.JScrollPane(table_obj)
                tab1.setPreferredSize(awt.Dimension(0, 60))
                tab2 = swing.JScrollPane(table_reac)
                tabpanel.add(tab1)
                tabpanel.add(tab2)
                #                outtabs.addTab('Results', tabpanel)
                outputtable += [table_obj, table_reac]
                recordtabs.addTab('Record' + str(i + 1), tabpanel)
            elif self.program == 'SGNI':
                media = precs[i].strip().split('\n')[0].strip().lstrip(
                    '!').split(' ')
                lines_blp, lines_gni = Data.Tabular.output2table_sgni(
                    record, media)
                table_blp = OutputTable.OutputTable(self.metabolicModel)
                table_blp.write_gni(lines_blp, 'SGNIblp', media)
                tab_blp = swing.JScrollPane(table_blp)
                table_gni = OutputTable.OutputTable(self.metabolicModel)
                table_gni.write_gni(lines_gni, 'SGNIgni', media)
                for col in range(table_gni.getColumnCount())[1:]:
                    table_gni.getColumnModel().getColumn(col).setCellRenderer(
                        OutputTable.SGNIRenderer())
                tab_gni = swing.JScrollPane(table_gni)
                outtabs.addTab('Results', tab_blp)
                outtabs.addTab('GNI matrix', tab_gni)
                outtabs.setToolTipTextAt(outtabs.indexOfTab('Results'),
                                         'bi-level LP optimization results')
                outtabs.setToolTipTextAt(
                    outtabs.indexOfTab('GNI matrix'),
                    'the predicted gene-nutrient interactions')
                outputtable += [table_blp, table_gni]
                recordtabs.addTab('Record' + str(i + 1), outtabs)
            elif self.program == 'WGNI':
                media = precs[i].strip().split('\n')[0].strip().lstrip(
                    '!').split(' ')
                lines_out, lines_gni = Data.Tabular.output2table_wgni(
                    record, media)
                table_out = OutputTable.OutputTable(self.metabolicModel)
                table_out.write(lines_out, 'WGNIout')
                tab_out = swing.JScrollPane(table_out)
                table_gni = OutputTable.OutputTable(self.metabolicModel)
                table_gni.write_gni(lines_gni, 'WGNIgni', media)
                tab_gni = swing.JScrollPane(table_gni)
                outtabs.addTab('Results', tab_out)
                outtabs.addTab('GNI matrix', tab_gni)
                outtabs.setToolTipTextAt(outtabs.indexOfTab('Results'),
                                         'weak GNI results')
                outtabs.setToolTipTextAt(
                    outtabs.indexOfTab('GNI matrix'),
                    'the predicted gene-nutrient interactions')
                outputtable += [table_out, table_gni]
                recordtabs.addTab('Record' + str(i + 1), outtabs)
            elif self.program == 'DPAplot':
                lines_m2g, lines_g2m, lines_mat, glist = Data.Tabular.output2table_dpaplot(
                    record)
                self.table_m2g = OutputTable.OutputTable(self.metabolicModel)
                table_g2m = OutputTable.OutputTable(self.metabolicModel)
                table_mat = OutputTable.OutputTable(self.metabolicModel)
                self.table_m2g.write(lines_m2g, 'DPAm2g')
                table_g2m.write(lines_g2m, 'DPAg2m')
                table_mat.write_gni(lines_mat, 'DPAmat', glist)
                tab_m2g = swing.JScrollPane(self.table_m2g)
                tab_g2m = swing.JScrollPane(table_g2m)
                tab_mat = swing.JScrollPane(table_mat)
                outtabs.addTab('Metabolites', tab_m2g)
                outtabs.addTab('Genes', tab_g2m)
                outtabs.addTab('Producibility of WT and KO', tab_mat)
                outtabs.setToolTipTextAt(
                    outtabs.indexOfTab('Metabolites'),
                    'mapping from metabolites to essential genes')
                outtabs.setToolTipTextAt(outtabs.indexOfTab('Genes'),
                                         'mapping from gene to metabolites')
                outtabs.setToolTipTextAt(
                    outtabs.indexOfTab('Producibility of WT and KO'),
                    'metabolic producibility in wildtype and gene-knockout models'
                )
                outputtable += [self.table_m2g, table_g2m, table_mat]
                recordtabs.addTab('Record' + str(i + 1), outtabs)
            elif self.program == 'DPAsig':
                lines_up, lines_dw, list = Data.Tabular.output2table_dpasig(
                    record)
                table_up = OutputTable.OutputTable(self.metabolicModel)
                table_dw = OutputTable.OutputTable(self.metabolicModel)
                table_up.write_gni(lines_up, 'DPAsig', list)
                table_dw.write_gni(lines_dw, 'DPAsig', list)
                tab_up = swing.JScrollPane(table_up)
                tab_dw = swing.JScrollPane(table_dw)
                outtabs.addTab('Signals_UP', tab_up)
                outtabs.addTab('Signals_DOWN', tab_dw)
                outtabs.setToolTipTextAt(outtabs.indexOfTab('Signals_UP'),
                                         'Signals for up-regulated genes')
                outtabs.setToolTipTextAt(outtabs.indexOfTab('Signals_DOWN'),
                                         'Signals for down-regulated genes')
                outputtable += [table_up, table_dw]
                recordtabs.addTab('Record' + str(i + 1), outtabs)
            else:
                reclines = record.strip().split('\n')
                table = OutputTable.OutputTable(self.metabolicModel)
                table.write(reclines, self.program)
                tab = swing.JScrollPane(table)
                #                table.setColWidths(self.getWidth())
                outputtable += [table]
                recordtabs.addTab('Record' + str(i + 1), tab)
#            if self.program in ('GFAA','SGNI','WGNI','DPAplot','DPAsig'):
#                recordtabs.addTab('Record'+str(i+1), outtabs)
#            else: recordtabs.addTab('Record'+str(i+1), outtab)

        INFO = '#Analysis : ' + self.program + '\n\n'
        for i in range(len(precs) - 1):
            INFO += '#Record' + str(i +
                                    1) + ' :\n' + precs[i].strip() + '\n;\n\n'
        INFO += '\n#Command :\n' + ' '.join(cmdarray) + '\n\n'
        INFO += '\n#Time spent : ' + records[-1].split(
            ':')[1].strip() + ' (second)\n\n'

        textArea = swing.JTextArea()
        textArea.append(INFO)
        textArea.setLineWrap(True)
        tab_info = swing.JScrollPane(textArea)
        recordtabs.addTab('INFO.', tab_info)
        TabCloser(self.program).put(recordtabs, self)
        for table in outputtable:
            table.setColWidths_gsa(self.getWidth())
        if self.listener:
            self.listener()
        #self.table=table#wtr#
        #print self.table#wtr#
        self.tabtitle = self.getTitleAt(self.getSelectedIndex())  #wtr#
Пример #22
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 )
Пример #23
0
import javax.swing as swing

# create a window
win = swing.JFrame("Welcome")

# access the current model
model = getCurrentModel()

# if there is no loaded model output message in window
if not model:
    win.getContentPane().add(swing.JLabel("No models"))
    win.setTitle("Example Window")
# otherwise display model summary statistics
else:
    # set the window layout
    win.getContentPane().setLayout(swing.BoxLayout(win.getContentPane(), 1))

    # display the model name
    dLabel = swing.JLabel("Model name: " + model.getName())
    win.add(dLabel)

    # display the number of bodies
    numBodiesString = "Number of bodies =" + lang.String.valueOf(
        model.getNumBodies())
    bLabel = swing.JLabel(numBodiesString)
    win.add(bLabel)

    #display the number of joints
    numJointsString = "Number of Joints =" + lang.String.valueOf(
        model.getNumJoints())
    njLabel = swing.JLabel(numJointsString)