public ScriptableDataFactory performConfiguration( final ScriptableDataFactory dataFactory, final String selectedQuery) { // Reset the confirmed / cancel flag // Initialize the internal storage queries = new TreeMap<String, DataSetQuery>(); // Load the current configuration if (dataFactory != null) { languageField.setSelectedValue(dataFactory.getLanguage(), true); final String[] queryNames = dataFactory.getQueryNames(); for (int i = 0; i < queryNames.length; i++) { final String queryName = queryNames[i]; final String query = dataFactory.getQuery(queryName); queries.put(queryName, new DataSetQuery(queryName, query)); } initScriptTextArea.setText(dataFactory.getScript()); shutdownScriptTextArea.setText(dataFactory.getShutdownScript()); } // Prepare the data and the enable the proper buttons updateComponents(); updateQueryList(); setSelectedQuery(selectedQuery); // Enable the dialog if (!performEdit()) { return null; } return produceFactory(); }
@Override public void clearGui() { super.clearGui(); filename.setText(""); // $NON-NLS-1$ parameters.setText(""); // $NON-NLS-1$ scriptField.setText(""); // $NON-NLS-1$ resetInterpreter.setSelected(false); }
@Override public void configure(TestElement element) { scriptField.setText(element.getPropertyAsString(BeanShellAssertion.SCRIPT)); filename.setText(element.getPropertyAsString(BeanShellAssertion.FILENAME)); parameters.setText(element.getPropertyAsString(BeanShellAssertion.PARAMETERS)); resetInterpreter.setSelected( element.getPropertyAsBoolean(BeanShellAssertion.RESET_INTERPRETER)); super.configure(element); }
/** Construit un panneau d'édition. */ public TextEditor() { setLayout(new BorderLayout()); // Creation de la barre de commande { toolBar = new ToolBar(); add(toolBar, BorderLayout.NORTH); } // Creation de la zone d'édition { textArea = new RSyntaxTextArea(25, 70); textArea.setCaretPosition(0); textArea.requestFocusInWindow(); textArea.setMarkOccurrences(true); textArea.setText(""); scrollPane = new RTextScrollPane(textArea, true); Gutter gutter = scrollPane.getGutter(); gutter.setBorderColor(Color.BLUE); add(scrollPane, BorderLayout.CENTER); } // Définition du mécanisme de complétion { completionsProvider = new DefaultCompletionProvider(); LanguageAwareCompletionProvider lacp = new LanguageAwareCompletionProvider(completionsProvider); AutoCompletion ac = new AutoCompletion(lacp) { @Override public void doCompletion() { if (isAutoCompleteEnabled()) { super.doCompletion(); } } }; ac.install(textArea); ac.setAutoCompleteSingleChoices(false); ac.setAutoActivationEnabled(true); ac.setAutoActivationDelay(1500); ac.setShowDescWindow(true); } // Ajout de l'aide à l'édition { JPopupMenu j = toolBar.addRightTool("Aide"); j.add(new JLabel("<html>\n<b>Commandes d'édition</b><br><table>\n" + helpText + "</table>")); } }
public void setText(String text, boolean resetCaret) { xmlViewTA.setText(text); if (resetCaret) { xmlViewTA.setCaretPosition(0); } }
/** * Initialise le texte à éditer. * * @param text Le texte à éditer. */ public void setText(String text) { textArea.setText(initialText = text); }
public void setContents() { String name = this.name.toLowerCase(); panelArea.setCodeFoldingEnabled(true); panelArea.setAntiAliasingEnabled(true); RTextScrollPane scrollPane = new RTextScrollPane(panelArea); panelArea.addKeyListener( new KeyListener() { public void keyPressed(KeyEvent e) { if ((e.getKeyCode() == KeyEvent.VK_F) && ((e.getModifiers() & KeyEvent.CTRL_MASK) != 0)) { field.requestFocus(); } BytecodeViewer.checkHotKey(e); } @Override public void keyReleased(KeyEvent arg0) {} @Override public void keyTyped(KeyEvent arg0) {} }); String contentsS = new String(contents); if (!isPureAscii(contentsS)) { if (name.endsWith(".png") || name.endsWith(".jpg") || name.endsWith(".jpeg") || name.endsWith(".gif") || name.endsWith(".tif") || name.endsWith(".bmp")) { canRefresh = true; try { image = ImageIO.read(new ByteArrayInputStream(contents)); // gifs fail cause of this JLabel label = new JLabel("", new ImageIcon(image), JLabel.CENTER); panel2.add(label, BorderLayout.CENTER); panel2.addMouseWheelListener( new MouseWheelListener() { @Override public void mouseWheelMoved(MouseWheelEvent e) { int notches = e.getWheelRotation(); if (notches < 0) { image = Scalr.resize( image, Scalr.Method.SPEED, image.getWidth() + 10, image.getHeight() + 10); } else { image = Scalr.resize( image, Scalr.Method.SPEED, image.getWidth() - 10, image.getHeight() - 10); } panel2.removeAll(); JLabel label = new JLabel("", new ImageIcon(image), JLabel.CENTER); panel2.add(label, BorderLayout.CENTER); panel2.updateUI(); } }); return; } catch (Exception e) { new the.bytecode.club.bytecodeviewer.api.ExceptionUI(e); } } else { JHexEditor hex = new JHexEditor(contents); panel2.add(hex); return; } } if (name.endsWith(".xml") || contentsS.startsWith("<?xml") || contentsS.startsWith(("<xml"))) { panelArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_XML); panelArea.setText(contentsS); } else if (name.endsWith(".py") || name.endsWith(".python")) { panelArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_PYTHON); panelArea.setText(contentsS); } else if (name.endsWith(".rb") || name.endsWith(".ruby")) { panelArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_RUBY); panelArea.setText(contentsS); } else if (name.endsWith(".java")) { panelArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA); panelArea.setText(contentsS); } else if (name.endsWith(".html")) { panelArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_HTML); panelArea.setText(contentsS); } else if (name.endsWith(".css")) { panelArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_CSS); panelArea.setText(contentsS); } else if (name.endsWith(".properties") || name.endsWith(".mf") || name.endsWith(".sf")) { panelArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_PROPERTIES_FILE); panelArea.setText(contentsS); } else if (name.endsWith(".php") || contentsS.startsWith("<?php")) { panelArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_PHP); panelArea.setText(contentsS); } else if (name.endsWith(".js")) { panelArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVASCRIPT); panelArea.setText(contentsS); } else if (name.endsWith(".bat")) { panelArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_WINDOWS_BATCH); panelArea.setText(contentsS); } else if (name.endsWith(".sh")) { panelArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_UNIX_SHELL); panelArea.setText(contentsS); } else if (name.endsWith(".c")) { panelArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_C); panelArea.setText(contentsS); } else if (name.endsWith(".cpp")) { panelArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_CPLUSPLUS); panelArea.setText(contentsS); } else if (name.endsWith(".scala")) { panelArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_SCALA); panelArea.setText(contentsS); } else if (name.endsWith(".clojure")) { panelArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_CLOJURE); panelArea.setText(contentsS); } else if (name.endsWith(".groovy")) { panelArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_GROOVY); panelArea.setText(contentsS); } else if (name.endsWith(".lua")) { panelArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_LUA); panelArea.setText(contentsS); } else if (name.endsWith(".sql")) { panelArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_SQL); panelArea.setText(contentsS); } else if (name.endsWith(".json")) { panelArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JSON); panelArea.setText(contentsS); } else if (name.endsWith(".jsp")) { panelArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JSP); panelArea.setText(contentsS); } else { panelArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_NONE); panelArea.setText(contentsS); } panelArea.setCaretPosition(0); scrollPane.setColumnHeaderView(panel); panel2.add(scrollPane); }
/** * Update the display to show the information about the specified example. * * @param example the currently-selected example */ private void display(Example example) { if (example == null) { tabbedPane.removeAll(); runButton.setEnabled(false); } else { tabbedPane.removeAll(); JEditorPane description = new JEditorPane(); description.setContentType("text/html"); description.setText(example.getDescription()); description.setEditable(false); description.addHyperlinkListener( new HyperlinkListener() { @Override public void hyperlinkUpdate(HyperlinkEvent hle) { if (HyperlinkEvent.EventType.ACTIVATED.equals(hle.getEventType())) { Desktop desktop = Desktop.getDesktop(); try { desktop.browse(hle.getURL().toURI()); } catch (Exception ex) { // unable to launch browser } } } }); tabbedPane.addTab("Description", description); for (String resource : example.getResources()) { try { RSyntaxTextArea textArea = new RSyntaxTextArea(20, 60); if (resource.endsWith(".java")) { textArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA); } else { textArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_NONE); } textArea.setCodeFoldingEnabled(true); textArea.setText(load(resource)); textArea.setSelectionStart(0); textArea.setSelectionEnd(0); textArea.setEditable(false); RTextScrollPane sp = new RTextScrollPane(textArea); tabbedPane.addTab(new File(resource).getName(), sp); } catch (IOException ex) { ex.printStackTrace(); } } if (example.getMainClass() == null) { runButton.setEnabled(false); } else { runButton.setEnabled(true); } } }
private Component createEntryViewer(JarEntry entry) { if (entry.getType().equals(JarEntryType.classEntry) || entry.getType().equals(JarEntryType.javaEntry) || entry.getType().equals(JarEntryType.fileEntry)) { String ext = FileUtils.getFileExtPart(entry.getName(), false).toLowerCase(); if (GlobalConstants.IMAGE_FORMATS.contains(ext)) { // todo A better image viewer (actually a new component - WebImageViewer) // Image file viewer WebImage image = new WebImage(); image.setIcon(ImageUtils.loadImage(getEntryInputStream(entry))); // Image scroll WebScrollPane imageScroll = new WebScrollPane(image, false); imageScroll.setVerticalScrollBarPolicy(WebScrollPane.VERTICAL_SCROLLBAR_ALWAYS); imageScroll.setHorizontalScrollBarPolicy(WebScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); return imageScroll; } else { // Source code viewer final RSyntaxTextArea source = new RSyntaxTextArea(); // Syntax style boolean libraryCode = false; if (ext.equals("java") || ext.equals("class")) { source.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA); libraryCode = true; } else if (ext.equals("xml")) { source.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_XML); } else if (ext.equals("html")) { source.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_HTML); } else if (ext.equals("css")) { source.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_CSS); } else if (ext.equals("js")) { source.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVASCRIPT); } else if (ext.equals("php")) { source.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_PHP); } else if (ext.equals("sql")) { source.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_SQL); } else { source.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_NONE); } // Settings source.setEditable(false); source.setMargin(new Insets(0, 5, 0, 0)); source.setAntiAliasingEnabled(true); source.setUseFocusableTips(true); source.setTabSize(4); // source.setLineWrap ( true ); // source.setWrapStyleWord ( true ); source.setCodeFoldingEnabled(allowCodeFolding.isSelected()); source.setPaintTabLines(paintTabLines.isSelected()); source.setWhitespaceVisible(showWhitespaces.isSelected()); source.setEOLMarkersVisible(showEol.isSelected()); source.addHyperlinkListener( new HyperlinkListener() { @Override public void hyperlinkUpdate(HyperlinkEvent e) { WebUtils.browseSiteSafely(e.getURL().toExternalForm()); } }); ((RSyntaxTextAreaHighlighter) source.getHighlighter()).setDrawsLayeredHighlights(false); // Source code source.setText(libraryCode ? loadSource(entry) : loadString(entry)); source.setCaretPosition(0); // "Jump to source"-like action source.addMouseListener( new MouseAdapter() { @Override public void mousePressed(MouseEvent e) { // todo Fix when clicked in class "MyName" on string "MyName" // Additional feature to dive into related classes if (SwingUtilities.isMiddleMouseButton(e) || SwingUtils.isCtrl(e) && SwingUtilities.isLeftMouseButton(e)) { int pos = source.getUI().viewToModel(source, e.getPoint()); String word = TextUtils.getWord(source.getText(), pos); if (word != null) { JarEntry classByName = jarStructure.findEntryByName(word); if (classByName != null && (classByName.getType().equals(JarEntryType.classEntry) || classByName.getType().equals(JarEntryType.javaEntry))) { updateClassPath(classByName, true); } } } } }); // Saving opened editor synchronized (activeEditorsLock) { activeEditors.put(entry, source); } // Special code viewer scroll pane RTextScrollPane sourceScroll = new RTextScrollPane(source); sourceScroll.setVerticalScrollBarPolicy(WebScrollPane.VERTICAL_SCROLLBAR_ALWAYS); ((WebScrollPaneUI) sourceScroll.getUI()).setDrawBorder(false); // Source code viewer theme loadTheme(theme.getSelectedItem().toString().toLowerCase(), source); return sourceScroll; } } return new WebLabel(); }