2978 lines
147 KiB
Java
2978 lines
147 KiB
Java
|
/*
|
|||
|
* To change this template, choose Tools | Templates
|
|||
|
* and open the template in the editor.
|
|||
|
*/
|
|||
|
|
|||
|
/*
|
|||
|
* JConsole2.java
|
|||
|
*
|
|||
|
* Created on 20 avr. 2009, 08:24:41
|
|||
|
* by Éric Hakenholz,
|
|||
|
* with somme addons by Alain Busser
|
|||
|
* wwith addons by Patrice Debrabant
|
|||
|
*/
|
|||
|
package eric.JSprogram;
|
|||
|
|
|||
|
import eric.JBrowserLauncher;
|
|||
|
import eric.JZirkelCanvas;
|
|||
|
import eric.OS;
|
|||
|
import java.awt.Color;
|
|||
|
import java.awt.Cursor;
|
|||
|
import java.awt.Dimension;
|
|||
|
import java.awt.Font;
|
|||
|
import java.awt.FontMetrics;
|
|||
|
import java.awt.Insets;
|
|||
|
import java.awt.MouseInfo;
|
|||
|
import java.awt.Point;
|
|||
|
import java.awt.Toolkit;
|
|||
|
import java.awt.event.ActionEvent;
|
|||
|
import java.awt.event.InputEvent;
|
|||
|
import java.awt.event.KeyEvent;
|
|||
|
import java.awt.event.MouseAdapter;
|
|||
|
import java.awt.event.MouseEvent;
|
|||
|
import java.io.BufferedReader;
|
|||
|
import java.io.IOException;
|
|||
|
import java.io.StringReader;
|
|||
|
import java.util.ArrayList;
|
|||
|
import java.util.regex.Matcher;
|
|||
|
import java.util.regex.Pattern;
|
|||
|
import javax.swing.AbstractAction;
|
|||
|
import javax.swing.BorderFactory;
|
|||
|
import javax.swing.JComponent;
|
|||
|
import javax.swing.JOptionPane;
|
|||
|
import javax.swing.JTextPane;
|
|||
|
import javax.swing.KeyStroke;
|
|||
|
import javax.swing.SwingUtilities;
|
|||
|
import javax.swing.ToolTipManager;
|
|||
|
import javax.swing.border.BevelBorder;
|
|||
|
import javax.swing.event.DocumentEvent;
|
|||
|
import javax.swing.event.DocumentListener;
|
|||
|
import javax.swing.event.UndoableEditEvent;
|
|||
|
import javax.swing.event.UndoableEditListener;
|
|||
|
import javax.swing.text.AbstractDocument;
|
|||
|
import javax.swing.text.Element;
|
|||
|
import javax.swing.text.Style;
|
|||
|
import javax.swing.text.StyleConstants;
|
|||
|
import javax.swing.text.StyledDocument;
|
|||
|
import javax.swing.text.TabSet;
|
|||
|
import javax.swing.text.TabStop;
|
|||
|
import javax.swing.undo.CannotRedoException;
|
|||
|
import javax.swing.undo.CannotUndoException;
|
|||
|
import javax.swing.undo.UndoManager;
|
|||
|
import javax.swing.undo.UndoableEdit;
|
|||
|
import rene.gui.Global;
|
|||
|
|
|||
|
/**
|
|||
|
*
|
|||
|
* @author erichake
|
|||
|
*/
|
|||
|
public class JSEditor extends javax.swing.JFrame {
|
|||
|
|
|||
|
// final UndoManager undo=new UndoManager();
|
|||
|
StyledDocument doc;
|
|||
|
final int ctrlkey=(OS.isMac())?InputEvent.META_DOWN_MASK
|
|||
|
:InputEvent.CTRL_DOWN_MASK;
|
|||
|
private boolean NoTypeNoClic=true;
|
|||
|
UndoManager undo;
|
|||
|
private Point origin;
|
|||
|
private Point winloc;
|
|||
|
private Point current;
|
|||
|
private int xx;
|
|||
|
private int yy;
|
|||
|
private int w;
|
|||
|
private int h;
|
|||
|
private int JSsel=0;
|
|||
|
private Pattern p;
|
|||
|
private boolean matchFound = false;
|
|||
|
protected static int TailleTexte=16;
|
|||
|
private String filename=""; // script in file
|
|||
|
private String scriptname=""; // script in figure
|
|||
|
private ScriptItem ITEM;
|
|||
|
private boolean FlagSimp=false; // Dibs : drapeau interface simplifiée
|
|||
|
private boolean infrench; // Dibs
|
|||
|
private boolean pseudoCode=false;
|
|||
|
private boolean ancienPseudoCode=false;
|
|||
|
|
|||
|
/** Creates new form JConsole2 */
|
|||
|
public JSEditor(ScriptItem item) {
|
|||
|
infrench = Global.getParameter("language", "").equals("fr");
|
|||
|
ITEM=item;
|
|||
|
initComponents();
|
|||
|
if (JZirkelCanvas.getCurrentZC().is3D()){
|
|||
|
c_carmetal.setMaximumSize(new java.awt.Dimension(182, 380));
|
|||
|
c_carmetal.setMinimumSize(new java.awt.Dimension(182, 370));
|
|||
|
c_carmetal.setPreferredSize(new java.awt.Dimension(182, 370));
|
|||
|
}
|
|||
|
else {
|
|||
|
c_carmetal.setMaximumSize(new java.awt.Dimension(182, 290));
|
|||
|
c_carmetal.setMinimumSize(new java.awt.Dimension(182, 280));
|
|||
|
c_carmetal.setPreferredSize(new java.awt.Dimension(182, 280));
|
|||
|
}
|
|||
|
doc=script_area.getStyledDocument();
|
|||
|
initCaRMetalBtns();
|
|||
|
initScriptArea();
|
|||
|
initUndoRedo();
|
|||
|
initJSlist();
|
|||
|
setWindowTitle(Loc("JSeditor.title"));
|
|||
|
if ((OS.isMac())) {
|
|||
|
fixsize(macpanel, 1, 1);
|
|||
|
winpanel.removeAll();
|
|||
|
winpanel.add(title_lbl);
|
|||
|
winpanel.revalidate();
|
|||
|
} else {
|
|||
|
fixsize(winpanel, 1, 1);
|
|||
|
}
|
|||
|
this.setLocationRelativeTo(JZirkelCanvas.getCurrentZC());
|
|||
|
errorpanel.removeAll();
|
|||
|
errorpanel.revalidate();
|
|||
|
|
|||
|
setTabs(script_area, 3);
|
|||
|
setSize(920, 690);
|
|||
|
|
|||
|
// Show tool tips immediately
|
|||
|
ToolTipManager.sharedInstance().setInitialDelay(50);
|
|||
|
setVisible(true);
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
public void setBackBtnEnabled(boolean bool) {
|
|||
|
backbtn.setEnabled(bool);
|
|||
|
}
|
|||
|
|
|||
|
public void setScriptName(String s) {
|
|||
|
scriptname=s;
|
|||
|
}
|
|||
|
|
|||
|
public String getScriptName() {
|
|||
|
return scriptname;
|
|||
|
}
|
|||
|
|
|||
|
public void setFileName(String s) {
|
|||
|
filename=s;
|
|||
|
}
|
|||
|
|
|||
|
public String getFileName() {
|
|||
|
return filename;
|
|||
|
}
|
|||
|
|
|||
|
public void setWindowTitle(String s) {
|
|||
|
title_lbl.setText(s);
|
|||
|
}
|
|||
|
|
|||
|
public String getWindowTitle() {
|
|||
|
return title_lbl.getText();
|
|||
|
}
|
|||
|
|
|||
|
public boolean isFileOpened() {
|
|||
|
return !(filename.equals(""));
|
|||
|
}
|
|||
|
|
|||
|
private void initJSlist() {
|
|||
|
}
|
|||
|
|
|||
|
static void fixsize(final JComponent cp, final int w, final int h) {
|
|||
|
final Dimension d=new Dimension(w, h);
|
|||
|
cp.setMaximumSize(d);
|
|||
|
cp.setMinimumSize(d);
|
|||
|
cp.setPreferredSize(d);
|
|||
|
cp.setSize(d);
|
|||
|
}
|
|||
|
|
|||
|
public void NoTypeNoClic() {
|
|||
|
NoTypeNoClic=true;
|
|||
|
}
|
|||
|
|
|||
|
public void addOrChange(String st) {
|
|||
|
if (NoTypeNoClic) {
|
|||
|
undo.undo();
|
|||
|
} else {
|
|||
|
NoTypeNoClic();
|
|||
|
}
|
|||
|
addToScript(st);
|
|||
|
}
|
|||
|
|
|||
|
public void addToScript(String st) {
|
|||
|
script_area.requestFocus();
|
|||
|
script_area.replaceSelection(st);
|
|||
|
// syntaxColoring();
|
|||
|
script_area.requestFocus();
|
|||
|
}
|
|||
|
|
|||
|
public void clearSelection() {
|
|||
|
script_area.replaceSelection("");
|
|||
|
script_area.requestFocus();
|
|||
|
}
|
|||
|
|
|||
|
public JSIcon addCMicon(String obj, String syntax) {
|
|||
|
JSIcon jsi=new JSIcon(this, obj, syntax);
|
|||
|
jsi.setToolTipText(Loc("JSeditor."+obj));
|
|||
|
c_carmetal.add(jsi);
|
|||
|
return jsi;
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
*
|
|||
|
* @param obj
|
|||
|
* @param example
|
|||
|
* @return
|
|||
|
*/
|
|||
|
public JSButton addJSIcon(String obj, final String example) {
|
|||
|
JSButton jb=new JSButton(obj, 24, true);
|
|||
|
jb.addMouseListener(new MouseAdapter() {
|
|||
|
|
|||
|
@Override
|
|||
|
public void mousePressed(MouseEvent e) {
|
|||
|
addToScript(example);
|
|||
|
}
|
|||
|
});
|
|||
|
js_btns.add(jb);
|
|||
|
return jb;
|
|||
|
}
|
|||
|
|
|||
|
public JSButton addCMicon2(String obj, final String example) { //Dibs
|
|||
|
JSButton jb=new JSButton(obj, 24, true);
|
|||
|
jb.setToolTipText(Loc("JSeditor."+obj));
|
|||
|
jb.addMouseListener(new MouseAdapter() {
|
|||
|
|
|||
|
@Override
|
|||
|
public void mousePressed(MouseEvent e) {
|
|||
|
addToScript(example);
|
|||
|
}
|
|||
|
});
|
|||
|
c_carmetal.add(jb);
|
|||
|
return jb;
|
|||
|
}
|
|||
|
|
|||
|
public void addBlankIcon(int nb, int size) {
|
|||
|
for (int i=0; i<nb; i++) {
|
|||
|
c_carmetal.add(new JSBlankIcon(size));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public void addSeparator(int nb) {
|
|||
|
|
|||
|
javax.swing.JSeparator jSeparator1=new javax.swing.JSeparator();
|
|||
|
|
|||
|
jSeparator1.setPreferredSize(new java.awt.Dimension(170, nb));
|
|||
|
jSeparator1.setBorder(BorderFactory.createLineBorder(Color.BLACK));
|
|||
|
c_carmetal.add(jSeparator1);
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
public void syntaxColoring() {
|
|||
|
String[] keynames={"for", "from", "allant de", "to", "à", "repeat", "times", "répéter", "Répéter", "fois", "until", "jusqu'à", "pour", "Pour", "while", "tant que", "Tant que", "if", "si", "Si", "else", "sinon", "do", "faire", "new", "function", "fonction",
|
|||
|
"true", "false", "vrai", "faux", "var", "return", "retourner", "switch", "bifurquer", "case", "cas", "break", "rompre", "default", "par défaut", "try",
|
|||
|
"catch", "++", "--", "valueOf", "length", "taille", "{", "}"};
|
|||
|
String[] mathkeynames={"Math.PI", "Math.sin", "Math.cos", "Math.tan", "Math.asin", "Math.acos", "Math.atan",
|
|||
|
"Math.abs", "Math.ceil", "Math.round", "Math.min", "Math.max", "Math.floor",
|
|||
|
"Math.PI", "Math.E", "Math.pow", "Math.exp", "Math.log", "Math.sqrt",
|
|||
|
"Math.LN10", "Math.random", "Math.LN2", "Math.LOG2E", "Math.SQRT2", "Math.SQRT1_2"};
|
|||
|
String[] mathkeynames2={"sin", "cos", "tan", "asin", "acos", "atan",
|
|||
|
"abs", "ceil", "round", "arrondi", "floor", "troncature", "exp", "log", "ln", "sqrt", "racine", "random", "nombre_aleatoire", "pow", "puissance","PI", "modulo", "min", "max", "val_approchée_par_excès","Math.PI", "Math.sin", "Math.cos", "Math.tan", "Math.asin", "Math.acos", "Math.atan",
|
|||
|
"Math.abs", "Math.ceil", "Math.round", "Math.min", "Math.max", "Math.floor",
|
|||
|
"Math.PI", "Math.E", "Math.pow", "Math.exp", "Math.log", "Math.sqrt",
|
|||
|
"Math.LN10", "Math.random", "Math.LN2", "Math.LOG2E", "Math.SQRT2", "Math.SQRT1_2"};
|
|||
|
|
|||
|
String scp=script_area.getText();
|
|||
|
int posCurseur;
|
|||
|
|
|||
|
if (Pattern.compile("^pseudo-code").matcher(scp).find()) {
|
|||
|
pseudoCode=true;
|
|||
|
if (!ancienPseudoCode) {
|
|||
|
js_btns.removeAll();
|
|||
|
c_carmetal.removeAll();
|
|||
|
initCaRMetalBtns();
|
|||
|
js_btns.revalidate();
|
|||
|
c_carmetal.revalidate();
|
|||
|
ancienPseudoCode=true;
|
|||
|
}
|
|||
|
Matcher m = Pattern.compile("\t").matcher(scp);
|
|||
|
if (m.find()) {
|
|||
|
posCurseur=script_area.getCaretPosition();
|
|||
|
scp=scp.replace("\t"," ");
|
|||
|
script_area.setText(scp);
|
|||
|
try {
|
|||
|
script_area.setCaretPosition(posCurseur+2);
|
|||
|
}
|
|||
|
catch(Exception e) {
|
|||
|
}
|
|||
|
}
|
|||
|
p = Pattern.compile("(^[^\"]*)(?:<-)", Pattern.MULTILINE);
|
|||
|
m = p.matcher(scp);
|
|||
|
matchFound = m.find();
|
|||
|
while (matchFound) {
|
|||
|
posCurseur=script_area.getCaretPosition();
|
|||
|
scp= m.replaceFirst(String.valueOf(m.group(1))+"⟵");
|
|||
|
script_area.setText(scp);
|
|||
|
try {
|
|||
|
script_area.setCaretPosition(posCurseur-1);
|
|||
|
}
|
|||
|
catch(Exception e) {
|
|||
|
}
|
|||
|
m = p.matcher(scp);
|
|||
|
matchFound = m.find();
|
|||
|
}
|
|||
|
p = Pattern.compile("(^[^\"]+(?:\"[^\"]*\"[^\"]*)+[^\"\n]*)(?:<-)", Pattern.MULTILINE);
|
|||
|
m = p.matcher(scp);
|
|||
|
matchFound = m.find();
|
|||
|
while (matchFound) {
|
|||
|
posCurseur=script_area.getCaretPosition();
|
|||
|
scp= m.replaceFirst(String.valueOf(m.group(1))+"⟵");
|
|||
|
script_area.setText(scp);
|
|||
|
try {
|
|||
|
script_area.setCaretPosition(posCurseur-1);
|
|||
|
}
|
|||
|
catch(Exception e) {
|
|||
|
}
|
|||
|
m = p.matcher(scp);
|
|||
|
matchFound = m.find();
|
|||
|
}
|
|||
|
p = Pattern.compile("(^[^\"]*)(?:\\:=)", Pattern.MULTILINE);
|
|||
|
m = p.matcher(scp);
|
|||
|
matchFound = m.find();
|
|||
|
while (matchFound) {
|
|||
|
posCurseur=script_area.getCaretPosition();
|
|||
|
scp= m.replaceFirst(String.valueOf(m.group(1))+"⟵");
|
|||
|
script_area.setText(scp);
|
|||
|
try {
|
|||
|
script_area.setCaretPosition(posCurseur-1);
|
|||
|
}
|
|||
|
catch(Exception e) {
|
|||
|
}
|
|||
|
m = p.matcher(scp);
|
|||
|
matchFound = m.find();
|
|||
|
}
|
|||
|
p = Pattern.compile("(^[^\"]+(?:\"[^\"]*\"[^\"]*)+[^\"\n]*)(?:\\:=)", Pattern.MULTILINE);
|
|||
|
m = p.matcher(scp);
|
|||
|
matchFound = m.find();
|
|||
|
while (matchFound) {
|
|||
|
posCurseur=script_area.getCaretPosition();
|
|||
|
scp= m.replaceFirst(String.valueOf(m.group(1))+"⟵");
|
|||
|
script_area.setText(scp);
|
|||
|
try {
|
|||
|
script_area.setCaretPosition(posCurseur-1);
|
|||
|
}
|
|||
|
catch(Exception e) {
|
|||
|
}
|
|||
|
m = p.matcher(scp);
|
|||
|
matchFound = m.find();
|
|||
|
}
|
|||
|
p = Pattern.compile("(^[^\"]*)(?:<=)", Pattern.MULTILINE);
|
|||
|
m = p.matcher(scp);
|
|||
|
matchFound = m.find();
|
|||
|
while (matchFound) {
|
|||
|
posCurseur=script_area.getCaretPosition();
|
|||
|
scp= m.replaceFirst(String.valueOf(m.group(1))+"≤");
|
|||
|
script_area.setText(scp);
|
|||
|
try {
|
|||
|
script_area.setCaretPosition(posCurseur-1);
|
|||
|
}
|
|||
|
catch(Exception e) {
|
|||
|
}
|
|||
|
m = p.matcher(scp);
|
|||
|
matchFound = m.find();
|
|||
|
}
|
|||
|
p = Pattern.compile("(^[^\"]+(?:\"[^\"]*\"[^\"]*)+[^\"\n]*)(?:<=)", Pattern.MULTILINE);
|
|||
|
m = p.matcher(scp);
|
|||
|
matchFound = m.find();
|
|||
|
while (matchFound) {
|
|||
|
posCurseur=script_area.getCaretPosition();
|
|||
|
scp= m.replaceFirst(String.valueOf(m.group(1))+"≤");
|
|||
|
script_area.setText(scp);
|
|||
|
try {
|
|||
|
script_area.setCaretPosition(posCurseur-1);
|
|||
|
}
|
|||
|
catch(Exception e) {
|
|||
|
}
|
|||
|
m = p.matcher(scp);
|
|||
|
matchFound = m.find();
|
|||
|
}
|
|||
|
p = Pattern.compile("(^[^\"]*)(?:>=)", Pattern.MULTILINE);
|
|||
|
m = p.matcher(scp);
|
|||
|
matchFound = m.find();
|
|||
|
while (matchFound) {
|
|||
|
posCurseur=script_area.getCaretPosition();
|
|||
|
scp= m.replaceFirst(String.valueOf(m.group(1))+"≥");
|
|||
|
script_area.setText(scp);
|
|||
|
try {
|
|||
|
script_area.setCaretPosition(posCurseur-1);
|
|||
|
}
|
|||
|
catch(Exception e) {
|
|||
|
}
|
|||
|
m = p.matcher(scp);
|
|||
|
matchFound = m.find();
|
|||
|
}
|
|||
|
p = Pattern.compile("(^[^\"]+(?:\"[^\"]*\"[^\"]*)+[^\"\n]*)(?:>=)", Pattern.MULTILINE);
|
|||
|
m = p.matcher(scp);
|
|||
|
matchFound = m.find();
|
|||
|
while (matchFound) {
|
|||
|
posCurseur=script_area.getCaretPosition();
|
|||
|
scp= m.replaceFirst(String.valueOf(m.group(1))+"≥");
|
|||
|
script_area.setText(scp);
|
|||
|
try {
|
|||
|
script_area.setCaretPosition(posCurseur-1);
|
|||
|
}
|
|||
|
catch(Exception e) {
|
|||
|
}
|
|||
|
m = p.matcher(scp);
|
|||
|
matchFound = m.find();
|
|||
|
}
|
|||
|
p = Pattern.compile("(^[^\"]*)(?:!=)", Pattern.MULTILINE);
|
|||
|
m = p.matcher(scp);
|
|||
|
matchFound = m.find();
|
|||
|
while (matchFound) {
|
|||
|
posCurseur=script_area.getCaretPosition();
|
|||
|
scp= m.replaceFirst(String.valueOf(m.group(1))+"≠");
|
|||
|
script_area.setText(scp);
|
|||
|
try {
|
|||
|
script_area.setCaretPosition(posCurseur-1);
|
|||
|
}
|
|||
|
catch(Exception e) {
|
|||
|
}
|
|||
|
m = p.matcher(scp);
|
|||
|
matchFound = m.find();
|
|||
|
}
|
|||
|
p = Pattern.compile("(^[^\"]+(?:\"[^\"]*\"[^\"]*)+[^\"\n]*)(?:!=)", Pattern.MULTILINE);
|
|||
|
m = p.matcher(scp);
|
|||
|
matchFound = m.find();
|
|||
|
while (matchFound) {
|
|||
|
posCurseur=script_area.getCaretPosition();
|
|||
|
scp= m.replaceFirst(String.valueOf(m.group(1))+"≠");
|
|||
|
script_area.setText(scp);
|
|||
|
try {
|
|||
|
script_area.setCaretPosition(posCurseur-1);
|
|||
|
}
|
|||
|
catch(Exception e) {
|
|||
|
}
|
|||
|
m = p.matcher(scp);
|
|||
|
matchFound = m.find();
|
|||
|
}
|
|||
|
p = Pattern.compile("(^[^\"]*)\\*", Pattern.MULTILINE);
|
|||
|
m = p.matcher(scp);
|
|||
|
matchFound = m.find();
|
|||
|
while (matchFound) {
|
|||
|
posCurseur=script_area.getCaretPosition();
|
|||
|
scp= m.replaceFirst(String.valueOf(m.group(1))+"×");
|
|||
|
script_area.setText(scp);
|
|||
|
try {
|
|||
|
script_area.setCaretPosition(posCurseur);
|
|||
|
}
|
|||
|
catch(Exception e) {
|
|||
|
}
|
|||
|
m = p.matcher(scp);
|
|||
|
matchFound = m.find();
|
|||
|
}
|
|||
|
p = Pattern.compile("(^[^\"]+(?:\"[^\"]*\"[^\"]*)+[^\"\n]*)\\*", Pattern.MULTILINE);
|
|||
|
m = p.matcher(scp);
|
|||
|
matchFound = m.find();
|
|||
|
while (matchFound) {
|
|||
|
posCurseur=script_area.getCaretPosition();
|
|||
|
scp= m.replaceFirst(String.valueOf(m.group(1))+"×");
|
|||
|
script_area.setText(scp);
|
|||
|
try {
|
|||
|
script_area.setCaretPosition(posCurseur);
|
|||
|
}
|
|||
|
catch(Exception e) {
|
|||
|
}
|
|||
|
m = p.matcher(scp);
|
|||
|
matchFound = m.find();
|
|||
|
}
|
|||
|
p = Pattern.compile("(^[^\"]*)Infinity", Pattern.MULTILINE);
|
|||
|
m = p.matcher(scp);
|
|||
|
matchFound = m.find();
|
|||
|
while (matchFound) {
|
|||
|
posCurseur=script_area.getCaretPosition();
|
|||
|
scp= m.replaceFirst(String.valueOf(m.group(1))+"∞");
|
|||
|
script_area.setText(scp);
|
|||
|
try {
|
|||
|
script_area.setCaretPosition(posCurseur-7);
|
|||
|
}
|
|||
|
catch(Exception e) {
|
|||
|
}
|
|||
|
m = p.matcher(scp);
|
|||
|
matchFound = m.find();
|
|||
|
}
|
|||
|
p = Pattern.compile("(^[^\"]+(?:\"[^\"]*\"[^\"]*)+[^\"\n]*)Infinity", Pattern.MULTILINE);
|
|||
|
m = p.matcher(scp);
|
|||
|
matchFound = m.find();
|
|||
|
while (matchFound) {
|
|||
|
posCurseur=script_area.getCaretPosition();
|
|||
|
scp= m.replaceFirst(String.valueOf(m.group(1))+"∞");
|
|||
|
script_area.setText(scp);
|
|||
|
try {
|
|||
|
script_area.setCaretPosition(posCurseur-7);
|
|||
|
}
|
|||
|
catch(Exception e) {
|
|||
|
}
|
|||
|
m = p.matcher(scp);
|
|||
|
matchFound = m.find();
|
|||
|
}
|
|||
|
}
|
|||
|
else {
|
|||
|
pseudoCode=false;
|
|||
|
if (ancienPseudoCode) {
|
|||
|
js_btns.removeAll();
|
|||
|
c_carmetal.removeAll();
|
|||
|
initCaRMetalBtns();
|
|||
|
js_btns.revalidate();
|
|||
|
c_carmetal.revalidate();
|
|||
|
ancienPseudoCode=false;
|
|||
|
}
|
|||
|
}
|
|||
|
scp="\n"+scp+"\n";
|
|||
|
// scp=scp.replace("(", "@").replace(")", "@");
|
|||
|
|
|||
|
//CaRMetal javascript instructions coloring :
|
|||
|
String[] allnames=JSFunctions.getKeywords();
|
|||
|
ArrayList<Integer> carmetal_matches=new ArrayList<Integer>();
|
|||
|
for (int i=1; i<allnames.length; i++) {
|
|||
|
Matcher m=Pattern.compile("\\W{1}(\\Q"+allnames[i]+"\\E)\\W{1}", Pattern.MULTILINE).matcher(scp);
|
|||
|
while (m.find()) {
|
|||
|
carmetal_matches.add(m.start(1)-1);
|
|||
|
carmetal_matches.add(m.end(1)-1);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//Standard javascript instructions coloring :
|
|||
|
ArrayList<Integer> js_matches=new ArrayList<Integer>();
|
|||
|
for (int i=0; i<keynames.length; i++) {
|
|||
|
Matcher m=Pattern.compile("\\W{1}(\\Q"+keynames[i]+"\\E)\\W{1}", Pattern.MULTILINE).matcher(scp);
|
|||
|
while (m.find()) {
|
|||
|
js_matches.add(m.start(1)-1);
|
|||
|
js_matches.add(m.end(1)-1);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//Standard Math object javascript instructions coloring :
|
|||
|
ArrayList<Integer> js_maths_matches=new ArrayList<Integer>();
|
|||
|
if (pseudoCode) {
|
|||
|
for (int i=0; i<mathkeynames2.length; i++) {
|
|||
|
Matcher m=Pattern.compile("\\W{1}(\\Q"+mathkeynames2[i]+"\\E)\\W{1}", Pattern.MULTILINE).matcher(scp);
|
|||
|
while (m.find()) {
|
|||
|
js_maths_matches.add(m.start(1)-1);
|
|||
|
js_maths_matches.add(m.end(1)-1);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
else{
|
|||
|
for (int i=0; i<mathkeynames.length; i++) {
|
|||
|
Matcher m=Pattern.compile("\\W{1}(\\Q"+mathkeynames[i]+"\\E)\\W{1}", Pattern.MULTILINE).matcher(scp);
|
|||
|
while (m.find()) {
|
|||
|
js_maths_matches.add(m.start(1)-1);
|
|||
|
js_maths_matches.add(m.end(1)-1);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
//Comment coloring :
|
|||
|
ArrayList<Integer> js_comments=new ArrayList<Integer>();
|
|||
|
// Matcher m = Pattern.compile("[\n\t]+(\\Q//\\E[^\n]*)", Pattern.MULTILINE).matcher(scp);
|
|||
|
Matcher m=Pattern.compile("(\\Q//\\E[^\n]*)", Pattern.MULTILINE).matcher(scp);
|
|||
|
while (m.find()) {
|
|||
|
js_comments.add(m.start(1)-1);
|
|||
|
js_comments.add(m.end(1)-1);
|
|||
|
// System.out.println("start="+m.start(1)+" end="+m.end(1));
|
|||
|
// m = Pattern.compile("/\\*([^*]|\\*+[^*/])*\\*+/").matcher(scp);
|
|||
|
// m = Pattern.compile("(\\/\\*.*\\*\\/)").matcher(scp);
|
|||
|
// while (m.find()) {
|
|||
|
// js_comments.add(m.start(1) - 1);
|
|||
|
// js_comments.add(m.end(1) - 1);
|
|||
|
// marche pas, je sais pas pourquoi
|
|||
|
}
|
|||
|
// }
|
|||
|
|
|||
|
// Text coloring :
|
|||
|
ArrayList<Integer> text_matches=new ArrayList<Integer>();
|
|||
|
m=Pattern.compile("\"([^\"]*)\"", Pattern.MULTILINE).matcher(scp);
|
|||
|
while (m.find()) {
|
|||
|
text_matches.add(m.start(1)-1);
|
|||
|
text_matches.add(m.end(1)-1);
|
|||
|
// System.out.println("start="+m.start(1)+" end="+m.end(1));
|
|||
|
}
|
|||
|
|
|||
|
// Number coloring :
|
|||
|
ArrayList<Integer> number_matches=new ArrayList<Integer>();
|
|||
|
// m = Pattern.compile("[\\+\\-]?\\d+(\\.\\d*)?([Ee][\\+\\-]?\\d+)?", Pattern.MULTILINE).matcher(scp);
|
|||
|
m=Pattern.compile("([0-9\\.]+)", Pattern.MULTILINE).matcher(scp);
|
|||
|
// m = Pattern.compile("([0-9\\.\\+\\-]+)", Pattern.MULTILINE).matcher(scp);
|
|||
|
while (m.find()) {
|
|||
|
number_matches.add(m.start(1)-1);
|
|||
|
number_matches.add(m.end(1)-1);
|
|||
|
// System.out.println("start="+m.start(1)+" end="+m.end(1));
|
|||
|
}
|
|||
|
|
|||
|
doc.setCharacterAttributes(0, script_area.getText().length(), script_area.getStyle("Normal"), true);
|
|||
|
|
|||
|
for (int i=0; i<carmetal_matches.size(); i+=2) {
|
|||
|
int start=carmetal_matches.get(i);
|
|||
|
int end=carmetal_matches.get(i+1);
|
|||
|
doc.setCharacterAttributes(start, end-start, script_area.getStyle("CMkeyword"), true);
|
|||
|
}
|
|||
|
|
|||
|
for (int i=0; i<js_matches.size(); i+=2) {
|
|||
|
int start=js_matches.get(i);
|
|||
|
int end=js_matches.get(i+1);
|
|||
|
doc.setCharacterAttributes(start, end-start, script_area.getStyle("Blue"), true);
|
|||
|
}
|
|||
|
|
|||
|
for (int i=0; i<js_maths_matches.size(); i+=2) {
|
|||
|
int start=js_maths_matches.get(i);
|
|||
|
int end=js_maths_matches.get(i+1);
|
|||
|
doc.setCharacterAttributes(start, end-start, script_area.getStyle("Math_keyword"), true);
|
|||
|
}
|
|||
|
|
|||
|
for (int i=0; i<number_matches.size(); i+=2) {
|
|||
|
int start=number_matches.get(i);
|
|||
|
int end=number_matches.get(i+1);
|
|||
|
doc.setCharacterAttributes(start, end-start, script_area.getStyle("Red"), true);
|
|||
|
}
|
|||
|
|
|||
|
for (int i=0; i<text_matches.size(); i+=2) {
|
|||
|
int start=text_matches.get(i);
|
|||
|
int end=text_matches.get(i+1);
|
|||
|
doc.setCharacterAttributes(start, end-start, script_area.getStyle("Green"), true);
|
|||
|
}
|
|||
|
|
|||
|
for (int i=0; i<js_comments.size(); i+=2) {
|
|||
|
int start=js_comments.get(i);
|
|||
|
int end=js_comments.get(i+1);
|
|||
|
doc.setCharacterAttributes(start, end-start, script_area.getStyle("Comment"), true);
|
|||
|
}
|
|||
|
if (pseudoCode) {// transformations à la volée pour le pseudo-code
|
|||
|
doc.setCharacterAttributes(0, 11, script_area.getStyle("Gray"), true);
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
public void clearStatusBar() {
|
|||
|
errorpanel.removeAll();
|
|||
|
errorpanel.revalidate();
|
|||
|
errorpanel.repaint();
|
|||
|
}
|
|||
|
|
|||
|
public void initScriptArea() {
|
|||
|
// unbelievable... with those two lines, windows understands what
|
|||
|
// symbol it must use as carriage return :
|
|||
|
script_area.setText("\n");
|
|||
|
script_area.setText("");
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Style style=script_area.addStyle("Normal", null);
|
|||
|
StyleConstants.setForeground(style, new Color(70, 70, 70));
|
|||
|
|
|||
|
style=script_area.addStyle("CMkeyword", null);
|
|||
|
StyleConstants.setForeground(style, new Color(143, 69, 0));
|
|||
|
StyleConstants.setBold(style, true);
|
|||
|
|
|||
|
style=script_area.addStyle("Math_keyword", null);
|
|||
|
StyleConstants.setForeground(style, new Color(194, 151, 0));
|
|||
|
StyleConstants.setBold(style, true);
|
|||
|
|
|||
|
// Makes text green
|
|||
|
style=script_area.addStyle("Green", null);
|
|||
|
StyleConstants.setForeground(style, new Color(0, 153, 116));
|
|||
|
StyleConstants.setBold(style, true);
|
|||
|
|
|||
|
// Makes text blue
|
|||
|
style=script_area.addStyle("Blue", null);
|
|||
|
StyleConstants.setForeground(style, new Color(0, 95, 163));
|
|||
|
StyleConstants.setBold(style, true);
|
|||
|
|
|||
|
// Makes comment text
|
|||
|
style=script_area.addStyle("Comment", null);
|
|||
|
StyleConstants.setForeground(style, new Color(50, 150, 250));
|
|||
|
StyleConstants.setItalic(style, true);
|
|||
|
|
|||
|
|
|||
|
// Makes text red
|
|||
|
style=script_area.addStyle("Red", null);
|
|||
|
StyleConstants.setForeground(style, Color.red);
|
|||
|
|
|||
|
// Makes text cyan
|
|||
|
style=script_area.addStyle("Gray", null);
|
|||
|
StyleConstants.setForeground(style, Color.gray);
|
|||
|
|
|||
|
// Inherits from "Red"; makes text red and underlined
|
|||
|
style=script_area.addStyle("Red Underline", style);
|
|||
|
StyleConstants.setUnderline(style, true);
|
|||
|
|
|||
|
// Makes text 24pts
|
|||
|
style=script_area.addStyle("24pts", null);
|
|||
|
StyleConstants.setFontSize(style, 24);
|
|||
|
|
|||
|
// Makes text 12pts
|
|||
|
style=script_area.addStyle("12pts", null);
|
|||
|
StyleConstants.setFontSize(style, 12);
|
|||
|
|
|||
|
// Makes text italicized
|
|||
|
style=script_area.addStyle("Italic", null);
|
|||
|
StyleConstants.setItalic(style, true);
|
|||
|
|
|||
|
// A style can have multiple attributes; this one makes text bold and italic
|
|||
|
style=script_area.addStyle("Bold Italic", null);
|
|||
|
StyleConstants.setBold(style, true);
|
|||
|
StyleConstants.setItalic(style, true);
|
|||
|
|
|||
|
script_area.getDocument().addDocumentListener(new DocumentListener() {
|
|||
|
|
|||
|
public void insertUpdate(DocumentEvent e) {
|
|||
|
SwingUtilities.invokeLater(new Runnable() {
|
|||
|
|
|||
|
public void run() {
|
|||
|
syntaxColoring();
|
|||
|
}
|
|||
|
});
|
|||
|
ITEM.setScriptSource(script_area.getText());
|
|||
|
}
|
|||
|
|
|||
|
public void removeUpdate(DocumentEvent e) {
|
|||
|
SwingUtilities.invokeLater(new Runnable() {
|
|||
|
|
|||
|
public void run() {
|
|||
|
syntaxColoring();
|
|||
|
}
|
|||
|
});
|
|||
|
ITEM.setScriptSource(script_area.getText());
|
|||
|
}
|
|||
|
|
|||
|
public void changedUpdate(DocumentEvent e) {
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
|
|||
|
script_area.setFont(new Font("monospaced", Font.PLAIN, TailleTexte));//taille script
|
|||
|
script_area.setMargin(new Insets(0, 5, 0, 0));
|
|||
|
|
|||
|
|
|||
|
KeyStroke enter=KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0);
|
|||
|
script_area.getInputMap().put(enter, "enterCommand");
|
|||
|
script_area.getActionMap().put("enterCommand",
|
|||
|
new AbstractAction("enterCommand") {
|
|||
|
|
|||
|
public void actionPerformed(ActionEvent evt) {
|
|||
|
FindDelimiters();
|
|||
|
int t=tabIndent(script_area.getCaretPosition());
|
|||
|
script_area.replaceSelection("\n"+tabs(t));
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
KeyStroke comment=KeyStroke.getKeyStroke(KeyEvent.VK_C, ctrlkey+KeyEvent.SHIFT_DOWN_MASK);
|
|||
|
script_area.getInputMap().put(comment, "commentCommand");
|
|||
|
script_area.getActionMap().put("commentCommand",
|
|||
|
new AbstractAction("commentCommand") {
|
|||
|
|
|||
|
public void actionPerformed(ActionEvent evt) {
|
|||
|
commentSelection();
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
jScrollPane1.setRowHeaderView(new LineNumberView(script_area));
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
public String getScript() {
|
|||
|
return script_area.getText();
|
|||
|
}
|
|||
|
|
|||
|
public void setScriptArea(String s) {
|
|||
|
script_area.setText(s);
|
|||
|
//Format();
|
|||
|
}
|
|||
|
private char endline="\n".charAt(0);
|
|||
|
|
|||
|
private boolean firstLineCar(int pos) {
|
|||
|
if (pos==0) {
|
|||
|
return true;
|
|||
|
}
|
|||
|
return (script_area.getText().charAt(pos-1)==endline);
|
|||
|
}
|
|||
|
|
|||
|
public int linestartAt(int pos) {
|
|||
|
while (!firstLineCar(pos)) {
|
|||
|
pos--;
|
|||
|
}
|
|||
|
return pos;
|
|||
|
}
|
|||
|
|
|||
|
private boolean lastLineCar(int pos) {
|
|||
|
if (pos==script_area.getText().length()) {
|
|||
|
return true;
|
|||
|
}
|
|||
|
return (script_area.getText().charAt(pos)==endline);
|
|||
|
}
|
|||
|
|
|||
|
public int lineendAt(int pos) {
|
|||
|
while (!lastLineCar(pos)) {
|
|||
|
pos++;
|
|||
|
}
|
|||
|
return pos;
|
|||
|
}
|
|||
|
|
|||
|
public void commentSelection() {
|
|||
|
int caret=script_area.getCaretPosition();
|
|||
|
int start=script_area.getSelectionStart();
|
|||
|
int end=script_area.getSelectionEnd();
|
|||
|
script_area.setSelectionStart(linestartAt(start));
|
|||
|
script_area.setSelectionEnd(lineendAt(end));
|
|||
|
String mystr=script_area.getSelectedText();
|
|||
|
int caretoffs=2;
|
|||
|
if (mystr==null) {
|
|||
|
mystr="";
|
|||
|
}
|
|||
|
mystr="\n"+mystr;
|
|||
|
if (Pattern.compile("\n([ \t]*)\\Q//\\E", Pattern.MULTILINE).matcher(mystr).find()) {
|
|||
|
mystr=Pattern.compile("\n([ \t]*)\\Q//\\E", Pattern.MULTILINE).matcher(mystr).replaceAll("\n$1");
|
|||
|
caretoffs=-2;
|
|||
|
} else {
|
|||
|
mystr=mystr.replaceAll("\n", "\n//");
|
|||
|
}
|
|||
|
mystr=mystr.substring(1);
|
|||
|
script_area.replaceSelection(mystr);
|
|||
|
script_area.setCaretPosition(caret+caretoffs);
|
|||
|
}
|
|||
|
|
|||
|
public void initCaRMetalBtns() {
|
|||
|
//infrench = System.getProperty("user.language").equals("fr");
|
|||
|
// "point", "intersection", "midpoint", "bi_syma",
|
|||
|
// "bi_symc", "bi_trans", "line", "ray", "parallel", "plumb",
|
|||
|
// "bi_med", "bi_biss", "segment", "fixedsegment", "vector",
|
|||
|
// "area", "angle", "fixedangle", "circle", "fixedcircle",
|
|||
|
// "circle3", "bi_circ", "bi_arc", "quadric"
|
|||
|
String scp=script_area.getText();
|
|||
|
if (pseudoCode) {
|
|||
|
if (infrench) {
|
|||
|
if (FlagSimp) {
|
|||
|
addCMicon("point", "Point(<name,null>,<nb,var,exp>,<nb,var,exp>)");
|
|||
|
addCMicon("intersection", "Intersection(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("midpoint", "Milieu(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_syma", "SymétrieAxiale(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_symc", "SymétrieCentrale(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_trans", "Translation(<name,null>,<name,var>,<name,var>,<name,var>)");
|
|||
|
addCMicon("line", "Droite(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("ray", "DemiDroite(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("parallel", "Parallèle(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("plumb", "Perpendiculaire(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_med", "Médiatrice(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_biss", "Bissectrice(<name,var>,<name,var>,<name,var>,<name,var>)");
|
|||
|
addCMicon("segment", "Segment(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("fixedsegment", "SegmentFixe(<name,null>,<name,var>,<nb,var>)");
|
|||
|
addCMicon("vector", "Vecteur(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("area", "Polygone(<name,null>,<objs>)");
|
|||
|
addCMicon("angle", "Angle(<name,null>,<name,var>,<name,var>,<name,var>)");
|
|||
|
addCMicon("fixedangle", "AngleFixe(<name,null>,<name,var>,<name,var>,<nb,var,exp>)");
|
|||
|
addCMicon("circle", "Cercle(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("fixedcircle", "CercleRayon(<name,null>,<name,var>,<nb,exp>)");
|
|||
|
addCMicon("circle3", "Cercle3(<name,null>,<name,var>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_circ", "Cercle3pts(<name,null>,<name,var>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_arc", "Arc3pts(<name,null>,<name,var>,<name,var>,<name,var>)");
|
|||
|
addCMicon("quadric", "Quadrique(<name,null>,<name,var>,<name,var>,<name,var>,<name,var>,<name,var>)");
|
|||
|
// addCMicon("text", "");
|
|||
|
addCMicon("expression", "Expression(<name,null>,\"Votre expression\",<nb>,<nb>)");
|
|||
|
addCMicon("text", "Texte(<name,null>,\"Votre message\",<nb>,<nb>)");
|
|||
|
// addCMicon("image3", "");
|
|||
|
// addBlankIcon(3);
|
|||
|
addCMicon("function", "FonctionCartésienne(<name,null>,-5,5,\"x^2-2*x+1\")");
|
|||
|
addCMicon("parametricfunction", "FonctionParamétrique(<name,null>,-3.14,3.14,\"3*rcos(t)^3\",\"3*rsin(t)^3\")");
|
|||
|
addCMicon("equationxy", "TracéImplicite(<name,null>,\"x^3-2*x-y^2+1\")");
|
|||
|
addCMicon("macro", "ExécuterMacro(<name,null>,\"_x,_y,_z\")");
|
|||
|
}
|
|||
|
else {
|
|||
|
addCMicon("point", "<var,null> ⟵ Point(<null,name>,<nb,var,exp>,<nb,var,exp>)");
|
|||
|
addCMicon("intersection", "<var,null> ⟵ Intersection(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("midpoint", "<var,null> ⟵ Milieu(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_syma", "<var,null> ⟵ SymétrieAxiale(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_symc", "<var,null> ⟵ SymétrieCentrale(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_trans", "<var,null> ⟵ Translation(<null,name>,<name,var>,<name,var>,<name,var>)");
|
|||
|
addCMicon("line", "<var,null> ⟵ Droite(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("ray", "<var,null> ⟵ DemiDroite(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("parallel", "<var,null> ⟵ Parallèle(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("plumb", "<var,null> ⟵ Perpendiculaire(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_med", "<var,null> ⟵ Médiatrice(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_biss", "<var,null> ⟵ Bissectrice(<null,name>,<name,var>,<name,var>,<name,var>)");
|
|||
|
addCMicon("segment", "<var,null> ⟵ Segment(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("fixedsegment", "<var,null> ⟵ SegmentFixe(<null,name>,<name,var>,<nb,var>)");
|
|||
|
addCMicon("vector", "<var,null> ⟵ Vecteur(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("area", "<var,null> ⟵ Polygone(<null,name>,<objs>)");
|
|||
|
addCMicon("angle", "<var,null> ⟵ Angle(<null,name>,<name,var>,<name,var>,<name,var>)");
|
|||
|
addCMicon("fixedangle", "<var,null> ⟵ AngleFixe(<null,name>,<name,var>,<name,var>,<nb,var,exp>)");
|
|||
|
addCMicon("circle", "<var,null> ⟵ Cercle(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("fixedcircle", "<var,null> ⟵ CercleRayon(<null,name>,<name,var>,<nb,exp>)");
|
|||
|
addCMicon("circle3", "<var,null> ⟵ Cercle3(<null,name>,<name,var>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_circ", "<var,null> ⟵ Cercle3pts(<null,name>,<name,var>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_arc", "<var,null> ⟵ Arc3pts(<null,name>,<name,var>,<name,var>,<name,var>)");
|
|||
|
addCMicon("quadric", "<var,null> ⟵ Quadrique(<null,name>,<name,var>,<name,var>,<name,var>,<name,var>,<name,var>)");
|
|||
|
// addCMicon("text", "");
|
|||
|
addCMicon("expression", "<var,null> ⟵ Expression(<null,name>,\"Votre expression\",<nb>,<nb>)");
|
|||
|
addCMicon("text", "<var,null>=Texte(<null,name>,\"Votre message\",<nb>,<nb>)");
|
|||
|
// addCMicon("image3", "");
|
|||
|
// addBlankIcon(3);
|
|||
|
addCMicon("function", "<var,null> ⟵ FonctionCartésienne(<null,name>,-5,5,\"x^2-2*x+1\")");
|
|||
|
addCMicon("parametricfunction", "<var,null> ⟵ FonctionParamétrique(<null,name>,-3.14,3.14,\"3*rcos(t)^3\",\"3*rsin(t)^3\")");
|
|||
|
addCMicon("equationxy", "<var,null> ⟵ TracéImplicite(<null,name>,\"x^3-2*x-y^2+1\")");
|
|||
|
addCMicon("macro", "<var,null> ⟵ ExécuterMacro(\"macroName\",\"_x,_y,_z\")");
|
|||
|
|
|||
|
}
|
|||
|
addSeparator(1);
|
|||
|
addCMicon("interactiveinput", "<var> ⟵ EntréeInteractive(\"Message\",<\"Point,Segment,Line,Circle\">)");
|
|||
|
addCMicon("aimant", "MettreObjetsMagnétiques(<name,var>,<objs,var>)");
|
|||
|
addCMicon("hide", "MettreCaché(<objs,var>,<\"vrai,faux\">)");
|
|||
|
addCMicon("type2", "MettreTypePoint(<objs,var>,<\"square,circle,diamond,point,cross,dcross\">)");
|
|||
|
addCMicon("color4", "MettreCouleur(<objs,var>,<\"green,blue,brown,cyan,red,black\">)");
|
|||
|
addCMicon("thickness1", "MettreEpaisseur(<objs,var>,<\"thick,normal,thin\">)");
|
|||
|
addCMicon("partial", "MettrePartiel(<objs,var>,<\"vrai,faux\">)");
|
|||
|
addCMicon("showvalue", "MettreMontrerValeur(<objs,var>,<\"vrai,faux\">)");
|
|||
|
addCMicon("showname", "MettreMontrerNom(<objs,var>,<\"vrai,faux\">)");
|
|||
|
addCMicon("filled", "MettreRempli(<objs,var>,<\"vrai,faux\">)");
|
|||
|
addCMicon("monkey", "Déplacer(<name,var>,<nb,var,exp>,<nb,var,exp>)");
|
|||
|
addCMicon("nail", "MettreFixe(<name,var>,<\"vrai,faux\">)");
|
|||
|
// addCMicon("dice", "<var,null>=Math.ceil(Math.random()*6)");
|
|||
|
addSeparator(1);
|
|||
|
addCMicon("tortue", "AttacherTortue(<name,null>)");
|
|||
|
addCMicon("avancer", "Avancer(<nb,var,exp>)");
|
|||
|
addCMicon("reculer", "Reculer(<nb,var,exp>)");
|
|||
|
addCMicon("tournerG", "TournerGauche(<nb,var,exp>)");
|
|||
|
addCMicon("tournerD", "TournerDroite(<nb,var,exp>)");
|
|||
|
addCMicon("vitesse", "VitesseTortue(<nb,var,exp>)");
|
|||
|
addCMicon2("crayonB", "BaisserStylo()");
|
|||
|
addCMicon2("crayonH", "LeverStylo()");
|
|||
|
addCMicon2("cacher", "CacherTortue()");
|
|||
|
addCMicon2("montrer", "MontrerTortue()");
|
|||
|
addCMicon("orienter", "OrienterTortue(<nb,var,exp>)");
|
|||
|
addCMicon("viser", "Viser(<name,var>)");
|
|||
|
addCMicon("avancer2", "<var,null> ⟵ Avancer(<nb,var,exp>)");
|
|||
|
//addCMicon("avancer3", "<var,null> ⟵ Avancer(<nb,var,exp>)[1]");
|
|||
|
//addCMicon("avancer4", "t ⟵ Avancer(<nb,var,exp>);<var,null> ⟵ t[0];<var,null> ⟵ t[1]");
|
|||
|
addCMicon("reculer2", "<var,null> ⟵ Reculer(<nb,var,exp>)");
|
|||
|
//addCMicon("reculer3", "<var,null> ⟵ Reculer(<nb,var,exp>)[1]");
|
|||
|
//addCMicon("reculer4", "t ⟵ Reculer(<nb,var,exp>);<var,null> ⟵ t[0];<var,null> ⟵ t[1]");
|
|||
|
addSeparator(1);
|
|||
|
if (FlagSimp) {
|
|||
|
addCMicon("bi_3Dcoords", "Point3D(<name,null>,<nb,var,exp>,<nb,var,exp>,<nb,var,exp>)");
|
|||
|
addCMicon("bi_3Dproj", "Projection3D(<name,null>,\"C,D,E\",<name,var>)");
|
|||
|
addCMicon("bi_3Dsymc", "SymétrieCentrale3D(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_3Dsymp", "Symétrie3DPlan(<name,null>,\"C,D,E\",<name,var>)");
|
|||
|
addCMicon("bi_3Dtrans", "Translation3D(<name,null>,<name,var>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_3Dsphererayon", "SphèreRayon(<name,null>,<name,var>,<nb,var,exp>)");
|
|||
|
addCMicon("bi_3Dspherepoint", "Sphère(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_3Dcircle1", "Cercle3D(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_3Dcircle2", "CercleRayon3D(<name,null>,<name,var>,<name,var>,\"E7\")");
|
|||
|
addCMicon("bi_3Dcircle3pts", "Cercle3D3pts(<name,null>,<name,var>,<name,var>,<name,var>)");
|
|||
|
}
|
|||
|
else {
|
|||
|
addCMicon("bi_3Dcoords", "<var,null> ⟵ Point3D(<null,name>,<nb,var,exp>,<nb,var,exp>,<nb,var,exp>)");
|
|||
|
addCMicon("bi_3Dproj", "<var,null> ⟵ Projection3D(<null,name>,\"_f,_g,_h\",<name,var>)");
|
|||
|
addCMicon("bi_3Dsymc", "<var,null> ⟵ SymétrieCentrale3D(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_3Dsymp", "<var,null> ⟵ Symétrie3DPlan(<null,name>,\"_f,_g,_h\",<name,var>)");
|
|||
|
addCMicon("bi_3Dtrans", "<var,null> ⟵ Translation3D(<null,name>,<name,var>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_3Dsphererayon", "<var,null> ⟵ SphèreRayon(<null,name>,<name,var>,<nb,var,exp>)");
|
|||
|
addCMicon("bi_3Dspherepoint", "<var,null> ⟵ Sphère(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_3Dcircle1", "<var,null> ⟵ Cercle3D(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_3Dcircle2", "<var,null> ⟵ CercleRayon3D(<null,name>,<name,var>,<name,var>,\"E7\")");
|
|||
|
addCMicon("bi_3Dcircle3pts", "<var,null> ⟵ Cercle3D3pts(<null,name>,<name,var>,<name,var>,<name,var>)");
|
|||
|
}
|
|||
|
addSeparator(1);
|
|||
|
addCMicon("tournerG3D", "TournerGauche(<nb,var,exp>)");
|
|||
|
addCMicon("tournerD3D", "TournerDroite(<nb,var,exp>)");
|
|||
|
addCMicon("pivoterH", "PivoterHaut(<nb,var,exp>)");
|
|||
|
addCMicon("pivoterB", "PivoterBas(<nb,var,exp>)");
|
|||
|
addCMicon("pivoterG", "PivoterGauche(<nb,var,exp>)");
|
|||
|
addCMicon("pivoterD", "PivoterDroite(<nb,var,exp>)");
|
|||
|
|
|||
|
}
|
|||
|
else {
|
|||
|
if (FlagSimp) {
|
|||
|
addCMicon("point", "Point(<name,null>,<nb,var,exp>,<nb,var,exp>)");
|
|||
|
addCMicon("intersection", "Intersection(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("midpoint", "MidPoint(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_syma", "Reflection(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_symc", "Symmetry(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_trans", "Translation(<name,null>,<name,var>,<name,var>,<name,var>)");
|
|||
|
addCMicon("line", "Line(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("ray", "Ray(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("parallel", "Parallel(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("plumb", "Perpendicular(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_med", "PerpendicularBisector(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_biss", "AngleBisector(,<name,var>,<name,var>,<name,var>)");
|
|||
|
addCMicon("segment", "Segment(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("fixedsegment", "FixedSegment(<name,null>,<name,var>,<nb,var>)");
|
|||
|
addCMicon("vector", "Vector(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("area", "Polygon(<name,null>,<objs>)");
|
|||
|
addCMicon("angle", "Angle(<name,null>,<name,var>,<name,var>,<name,var>)");
|
|||
|
addCMicon("fixedangle", "FixedAngle(<name,null>,<name,var>,<name,var>,<nb,var,exp>)");
|
|||
|
addCMicon("circle", "Circle(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("fixedcircle", "FixedCircle(<name,null>,<name,var>,<nb,exp>)");
|
|||
|
addCMicon("circle3", "Circle3(<name,null>,<name,var>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_circ", "Circle3pts(<name,null>,<name,var>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_arc", "Arc3pts(<name,null>,<name,var>,<name,var>,<name,var>)");
|
|||
|
addCMicon("quadric", "Quadric(<name,null>,<name,var>,<name,var>,<name,var>,<name,var>,<name,var>)");
|
|||
|
// addCMicon("text", "");
|
|||
|
addCMicon("expression", "Expression(<name,null>,\"Votre expression\",<nb>,<nb>)");
|
|||
|
addCMicon("text", "Text(<name,null>,\"Votre message\",<nb>,<nb>)");
|
|||
|
// addCMicon("image3", "");
|
|||
|
// addBlankIcon(3);
|
|||
|
addCMicon("function", "CartesianFunction(<name,null>,-5,5,\"x^2-2*x+1\")");
|
|||
|
addCMicon("parametricfunction", "ParametricFunction(<name,null>,-3.14,3.14,\"3*rcos(t)^3\",\"3*rsin(t)^3\")");
|
|||
|
addCMicon("equationxy", "ImplicitPlot(<name,null>,\"x^3-2*x-y^2+1\")");
|
|||
|
addCMicon("macro", "ExecuteMacro(<name,null>,\"_x,_y,_z\")");
|
|||
|
}
|
|||
|
else {
|
|||
|
addCMicon("point", "<var,null> ⟵ Point(<null,name>,<nb,var,exp>,<nb,var,exp>)");
|
|||
|
addCMicon("intersection", "<var,null> ⟵ Intersection(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("midpoint", "<var,null> ⟵ MidPoint(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_syma", "<var,null> ⟵ Reflection(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_symc", "<var,null> ⟵ Symmetry(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_trans", "<var,null> ⟵ Translation(<null,name>,<name,var>,<name,var>,<name,var>)");
|
|||
|
addCMicon("line", "<var,null> ⟵ Line(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("ray", "<var,null> ⟵ Ray(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("parallel", "<var,null> ⟵ Parallel(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("plumb", "<var,null> ⟵ Perpendicular(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_med", "<var,null> ⟵ PerpendicularBisector(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_biss", "<var,null> ⟵ AngleBisector(<null,name>,<name,var>,<name,var>,<name,var>)");
|
|||
|
addCMicon("segment", "<var,null> ⟵ Segment(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("fixedsegment", "<var,null> ⟵ FixedSegment(<null,name>,<name,var>,<nb,var>)");
|
|||
|
addCMicon("vector", "<var,null> ⟵ Vector(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("area", "<var,null> ⟵ Polygon(<null,name>,<objs>)");
|
|||
|
addCMicon("angle", "<var,null> ⟵ Angle(<null,name>,<name,var>,<name,var>,<name,var>)");
|
|||
|
addCMicon("fixedangle", "<var,null> ⟵ FixedAngle(<null,name>,<name,var>,<name,var>,<nb,var,exp>)");
|
|||
|
addCMicon("circle", "<var,null> ⟵ Circle(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("fixedcircle", "<var,null> ⟵ FixedCircle(<null,name>,<name,var>,<nb,exp>)");
|
|||
|
addCMicon("circle3", "<var,null> ⟵ Circle3(<null,name>,<name,var>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_circ", "<var,null> ⟵ Circle3pts(<null,name>,<name,var>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_arc", "<var,null> ⟵ Arc3pts(<null,name>,<name,var>,<name,var>,<name,var>)");
|
|||
|
addCMicon("quadric", "<var,null> ⟵ Quadric(<null,name>,<name,var>,<name,var>,<name,var>,<name,var>,<name,var>)");
|
|||
|
// addCMicon("text", "");
|
|||
|
addCMicon("expression", "<var,null> ⟵ Expression(<null,name>,\"Votre expression\",<nb>,<nb>)");
|
|||
|
addCMicon("text", "<var,null> ⟵ Text(<null,name>,\"Votre message\",<nb>,<nb>)");
|
|||
|
// addCMicon("image3", "");
|
|||
|
// addBlankIcon(3);
|
|||
|
addCMicon("function", "<var,null> ⟵ CartesianFunction(<null,name>,-5,5,\"x^2-2*x+1\")");
|
|||
|
addCMicon("parametricfunction", "<var,null> ⟵ ParametricFunction(<null,name>,-3.14,3.14,\"3*rcos(t)^3\",\"3*rsin(t)^3\")");
|
|||
|
addCMicon("equationxy", "<var,null> ⟵ ImplicitPlot(<null,name>,\"x^3-2*x-y^2+1\")");
|
|||
|
addCMicon("macro", "<var,null> ⟵ ExecuteMacro(\"macroName\",\"_x,_y,_z\")");
|
|||
|
}
|
|||
|
addSeparator(1);
|
|||
|
addCMicon("interactiveinput", "<var> ⟵ InteractiveInput(\"Message\",<\"Point,Segment,Line,Circle\">)");
|
|||
|
addCMicon("aimant", "SetMagneticObjects(<name,var>,<objs,var>)");
|
|||
|
addCMicon("hide", "SetHide(<objs,var>,<\"true,false\">)");
|
|||
|
addCMicon("type2", "SetPointType(<objs,var>,<\"square,circle,diamond,point,cross,dcross\">)");
|
|||
|
addCMicon("color4", "SetColor(<objs,var>,<\"green,blue,brown,cyan,red,black\">)");
|
|||
|
addCMicon("thickness1", "SetThickness(<objs,var>,<\"thick,normal,thin\">)");
|
|||
|
addCMicon("partial", "SetPartial(<objs,var>,<\"true,false\">)");
|
|||
|
addCMicon("showvalue", "SetShowValue(<objs,var>,<\"true,false\">)");
|
|||
|
addCMicon("showname", "SetShowName(<objs,var>,<\"true,false\">)");
|
|||
|
addCMicon("filled", "SetFilled(<objs,var>,<\"true,false\">)");
|
|||
|
addCMicon("monkey", "Move(<name,var>,<nb,var,exp>,<nb,var,exp>)");
|
|||
|
addCMicon("nail", "SetFixed(<name,var>,<\"true,false\">)");
|
|||
|
// addCMicon("dice", "<var,null>=Math.ceil(Math.random()*6)");
|
|||
|
|
|||
|
addSeparator(1);
|
|||
|
addCMicon("tortue", "FixTurtle(<name,null>)");
|
|||
|
addCMicon("avancer", "MoveForward(<nb,var,exp>)");
|
|||
|
addCMicon("reculer", "MoveBackward(<nb,var,exp>)");
|
|||
|
addCMicon("tournerG", "TurnLeft(<nb,var,exp>)");
|
|||
|
addCMicon("tournerD", "TurnRight(<nb,var,exp>)");
|
|||
|
addCMicon("vitesse", "TurtleSpeed(<nb,var,exp>)");
|
|||
|
addCMicon2("crayonB", "TurtleDown()");
|
|||
|
addCMicon2("crayonH", "TurtleUp()");
|
|||
|
addCMicon2("cacher", "HideTurtle()");
|
|||
|
addCMicon2("montrer", "ShowTurtle()");
|
|||
|
addCMicon("orienter", "OrientateTurtle(<nb,var,exp>)");
|
|||
|
addCMicon("viser", "OrientateTowards(<name,var>)");
|
|||
|
addCMicon("avancer2", "<var,null> ⟵ MoveForward(<nb,var,exp>)");
|
|||
|
//addCMicon("avancer3", "<var,null> ⟵ MoveForward(<nb,var,exp>)[1]");
|
|||
|
//addCMicon("avancer4", "t ⟵ MoveForward(<nb,var,exp>);<var,null> ⟵ t[0];<var,null> ⟵ t[1]");
|
|||
|
addCMicon("reculer2", "<var,null> ⟵ MoveBackward(<nb,var,exp>)");
|
|||
|
//addCMicon("reculer3", "<var,null> ⟵ MoveBackward(<nb,var,exp>)[1]");
|
|||
|
//addCMicon("reculer4", "t ⟵ MoveBackward(<nb,var,exp>);<var,null> ⟵ t[0];<var,null> ⟵ t[1]");
|
|||
|
addSeparator(1);
|
|||
|
if (FlagSimp) {
|
|||
|
addCMicon("bi_3Dcoords", "Point3D(<name,null>,<nb,var,exp>,<nb,var,exp>,<nb,var,exp>)");
|
|||
|
addCMicon("bi_3Dproj", "Projection3D(<name,null>,\"C,D,E\",<name,var>)");
|
|||
|
addCMicon("bi_3Dsymc", "Symmetry3D(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_3Dsymp", "Reflection3D(<name,null>,\"C,D,E\",<name,var>)");
|
|||
|
addCMicon("bi_3Dtrans", "Translation3D(<name,null>,<name,var>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_3Dsphererayon", "FixedSphere(<name,null>,<name,var>,<nb,var,exp>)");
|
|||
|
addCMicon("bi_3Dspherepoint", "Sphere(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_3Dcircle1", "Circle3D(<name,null>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_3Dcircle2", "FixedCircle3D(<name,null>,<name,var>,<name,var>,\"E7\")");
|
|||
|
addCMicon("bi_3Dcircle3pts", "Circle3D3pts(<name,null>,<name,var>,<name,var>,<name,var>)");
|
|||
|
}
|
|||
|
else {
|
|||
|
addCMicon("bi_3Dcoords", "<var,null> ⟵ Point3D(<null,name>,<nb,var,exp>,<nb,var,exp>,<nb,var,exp>)");
|
|||
|
addCMicon("bi_3Dproj", "<var,null> ⟵ Projection3D(<null,name>,\"_f,_g,_h\",<name,var>)");
|
|||
|
addCMicon("bi_3Dsymc", "<var,null> ⟵ Symmetry3D(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_3Dsymp", "<var,null> ⟵ Reflection3D(<null,name>,\"_f,_g,_h\",<name,var>)");
|
|||
|
addCMicon("bi_3Dtrans", "<var,null> ⟵ Translation3D(<null,name>,<name,var>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_3Dsphererayon", "<var,null> ⟵ FixedSphere(<null,name>,<name,var>,<nb,var,exp>)");
|
|||
|
addCMicon("bi_3Dspherepoint", "<var,null> ⟵ Sphere(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_3Dcircle1", "<var,null> ⟵ Circle3D(<null,name>,<name,var>,<name,var>)");
|
|||
|
addCMicon("bi_3Dcircle2", "<var,null> ⟵ FixedCircle3D(<null,name>,<name,var>,<name,var>,\"E7\")");
|
|||
|
addCMicon("bi_3Dcircle3pts", "<var,null> ⟵ Circle3D3pts(<null,name>,<name,var>,<name,var>,<name,var>)");
|
|||
|
}
|
|||
|
addSeparator(1);
|
|||
|
addCMicon("tournerG3D", "TurnLeft(<nb,var,exp>)");
|
|||
|
addCMicon("tournerD3D", "TurnRight(<nb,var,exp>)");
|
|||
|
addCMicon("pivoterH", "PitchUp(<nb,var,exp>)");
|
|||
|
addCMicon("pivoterB", "PitchDown(<nb,var,exp>)");
|
|||
|
addCMicon("pivoterG", "RollLeft(<nb,var,exp>)");
|
|||
|
addCMicon("pivoterD", "RollRight(<nb,var,exp>)");
|
|||
|
}
|
|||
|
addJSIcon("js_cos", "cos(x)");
|
|||
|
addJSIcon("js_sin", "sin(x)");
|
|||
|
addJSIcon("js_tan", "tan(x)");
|
|||
|
addJSIcon("js_acos", "acos(x)");
|
|||
|
addJSIcon("js_asin", "asin(x)");
|
|||
|
addJSIcon("js_atan", "atan(x)");
|
|||
|
addJSIcon("js_abs", "abs(x)");
|
|||
|
if (infrench) {
|
|||
|
addJSIcon("js_ceil", "val_approchée_par_excès(x)");
|
|||
|
addJSIcon("js_floor", "troncature(x)");
|
|||
|
addJSIcon("js_round", "arrondi(x)");
|
|||
|
addJSIcon("js_min", "min(x,y)");
|
|||
|
addJSIcon("js_max", "max(x,y)");
|
|||
|
addJSIcon("js_pi", "PI");
|
|||
|
addJSIcon("js_e", "Math.E");
|
|||
|
addJSIcon("js_xn", "puissance(x,n)");
|
|||
|
addJSIcon("js_ex", "exp(x)");
|
|||
|
addJSIcon("js_ln", "ln(x)");
|
|||
|
addJSIcon("js_sqrt", "racine(x)");
|
|||
|
addJSIcon("js_or", "(x=2 || x>5)");
|
|||
|
addJSIcon("js_and", "(x>2 && x<=5)");
|
|||
|
addJSIcon("js_no", "!(x>0)");
|
|||
|
addJSIcon("hour", "Pause(1000)");
|
|||
|
addJSIcon("js_array", "tableau ⟵ [[1,2],[3,4]]");
|
|||
|
addJSIcon("dice", "val_approchée_par_excès(nombre_aleatoire()*6)");
|
|||
|
}
|
|||
|
else {
|
|||
|
addJSIcon("js_ceil", "ceil(x)");
|
|||
|
addJSIcon("js_floor", "floor(x)");
|
|||
|
addJSIcon("js_round", "round(x)");
|
|||
|
addJSIcon("js_min", "min(x,y)");
|
|||
|
addJSIcon("js_max", "max(x,y)");
|
|||
|
addJSIcon("js_pi", "PI");
|
|||
|
addJSIcon("js_e", "Math.E");
|
|||
|
addJSIcon("js_xn", "pow(x,n)");
|
|||
|
addJSIcon("js_ex", "exp(x)");
|
|||
|
addJSIcon("js_ln", "ln(x)");
|
|||
|
addJSIcon("js_sqrt", "sqrt(x)");
|
|||
|
addJSIcon("js_or", "(x=2 || x>5)");
|
|||
|
addJSIcon("js_and", "(x>2 && x<=5)");
|
|||
|
addJSIcon("js_no", "!(x>0)");
|
|||
|
addJSIcon("hour", "Pause(1000)");
|
|||
|
addJSIcon("js_array", "tableau ⟵ [[1,2],[3,4]]");
|
|||
|
addJSIcon("dice", "ceil(random()*6)");
|
|||
|
}
|
|||
|
}
|
|||
|
else {
|
|||
|
if (infrench) {
|
|||
|
if (FlagSimp) {
|
|||
|
addCMicon("point", "Point(<name,null>,<nb,var,exp>,<nb,var,exp>);");
|
|||
|
addCMicon("intersection", "Intersection(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("midpoint", "Milieu(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_syma", "SymétrieAxiale(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_symc", "SymétrieCentrale(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_trans", "Translation(<name,null>,<name,var>,<name,var>,<name,var>);");
|
|||
|
addCMicon("line", "Droite(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("ray", "DemiDroite(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("parallel", "Parallèle(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("plumb", "Perpendiculaire(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_med", "Médiatrice(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_biss", "Bissectrice(<name,var>,<name,var>,<name,var>,<name,var>);");
|
|||
|
addCMicon("segment", "Segment(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("fixedsegment", "SegmentFixe(<name,null>,<name,var>,<nb,var>);");
|
|||
|
addCMicon("vector", "Vecteur(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("area", "Polygone(<name,null>,<objs>);");
|
|||
|
addCMicon("angle", "Angle(<name,null>,<name,var>,<name,var>,<name,var>);");
|
|||
|
addCMicon("fixedangle", "AngleFixe(<name,null>,<name,var>,<name,var>,<nb,var,exp>);");
|
|||
|
addCMicon("circle", "Cercle(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("fixedcircle", "CercleRayon(<name,null>,<name,var>,<nb,exp>);");
|
|||
|
addCMicon("circle3", "Cercle3(<name,null>,<name,var>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_circ", "Cercle3pts(<name,null>,<name,var>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_arc", "Arc3pts(<name,null>,<name,var>,<name,var>,<name,var>);");
|
|||
|
addCMicon("quadric", "Quadrique(<name,null>,<name,var>,<name,var>,<name,var>,<name,var>,<name,var>);");
|
|||
|
// addCMicon("text", "");
|
|||
|
addCMicon("expression", "Expression(<name,null>,\"Votre expression\",<nb>,<nb>);");
|
|||
|
addCMicon("text", "Texte(<name,null>,\"Votre message\",<nb>,<nb>);");
|
|||
|
// addCMicon("image3", "");
|
|||
|
// addBlankIcon(3);
|
|||
|
addCMicon("function", "FonctionCartésienne(<name,null>,-5,5,\"x^2-2*x+1\");");
|
|||
|
addCMicon("parametricfunction", "FonctionParamétrique(<name,null>,-3.14,3.14,\"3*rcos(t)^3\",\"3*rsin(t)^3\");");
|
|||
|
addCMicon("equationxy", "TracéImplicite(<name,null>,\"x^3-2*x-y^2+1\");");
|
|||
|
addCMicon("macro", "ExécuterMacro(<name,null>,\"_x,_y,_z\");");
|
|||
|
addSeparator(1);
|
|||
|
addCMicon("interactiveinput", "<var>:=EntréeInteractive(\"Message\",<\"Point,Segment,Line,Circle\">);");
|
|||
|
addCMicon("aimant", "MettreObjetsMagnétiques(<name,var>,<objs,var>);");
|
|||
|
addCMicon("hide", "MettreCaché(<objs,var>,<\"vrai,faux\">);");
|
|||
|
addCMicon("type2", "MettreTypePoint(<objs,var>,<\"square,circle,diamond,point,cross,dcross\">);");
|
|||
|
addCMicon("color4", "MettreCouleur(<objs,var>,<\"green,blue,brown,cyan,red,black\">);");
|
|||
|
addCMicon("thickness1", "MettreEpaisseur(<objs,var>,<\"thick,normal,thin\">);");
|
|||
|
addCMicon("partial", "MettrePartiel(<objs,var>,<\"vrai,faux\">);");
|
|||
|
addCMicon("showvalue", "MettreMontrerValeur(<objs,var>,<\"vrai,faux\">);");
|
|||
|
addCMicon("showname", "MettreMontrerNom(<objs,var>,<\"vrai,faux\">);");
|
|||
|
addCMicon("filled", "MettreRempli(<objs,var>,<\"vrai,faux\">);");
|
|||
|
addCMicon("monkey", "Déplacer(<name,var>,<nb,var,exp>,<nb,var,exp>);");
|
|||
|
addCMicon("nail", "MettreFixe(<name,var>,<\"vrai,faux\">);");
|
|||
|
// addCMicon("dice", "<var,null>=Math.ceil(Math.random()*6);");
|
|||
|
addSeparator(1);
|
|||
|
addCMicon("tortue", "AttacherTortue(<name,null>);");
|
|||
|
addCMicon("avancer", "Avancer(<nb,var,exp>);");
|
|||
|
addCMicon("reculer", "Reculer(<nb,var,exp>);");
|
|||
|
addCMicon("tournerG", "TournerGauche(<nb,var,exp>);");
|
|||
|
addCMicon("tournerD", "TournerDroite(<nb,var,exp>);");
|
|||
|
addCMicon("vitesse", "VitesseTortue(<nb,var,exp>);");
|
|||
|
addCMicon2("crayonB", "BaisserStylo();");
|
|||
|
addCMicon2("crayonH", "LeverStylo();");
|
|||
|
addCMicon2("cacher", "CacherTortue();");
|
|||
|
addCMicon2("montrer", "MontrerTortue();");
|
|||
|
addCMicon("orienter", "OrienterTortue(<nb,var,exp>);");
|
|||
|
addCMicon("viser", "Viser(<name,var>);");
|
|||
|
addCMicon("avancer2", "<var,null>:=Avancer(<nb,var,exp>)[0];");
|
|||
|
addCMicon("avancer3", "<var,null>:=Avancer(<nb,var,exp>)[1];");
|
|||
|
addCMicon("avancer4", "t:=Avancer(<nb,var,exp>);<var,null>:=t[0];<var,null>:=t[1];");
|
|||
|
addCMicon("reculer2", "<var,null>:=Reculer(<nb,var,exp>)[0];");
|
|||
|
addCMicon("reculer3", "<var,null>:=Reculer(<nb,var,exp>)[1];");
|
|||
|
addCMicon("reculer4", "t:=Reculer(<nb,var,exp>);<var,null>:=t[0];<var,null>:=t[1];");
|
|||
|
addSeparator(1);
|
|||
|
addCMicon("bi_3Dcoords", "Point3D(<name,null>,<nb,var,exp>,<nb,var,exp>,<nb,var,exp>);");
|
|||
|
addCMicon("bi_3Dproj", "Projection3D(<name,null>,\"C,D,E\",<name,var>);");
|
|||
|
addCMicon("bi_3Dsymc", "SymétrieCentrale3D(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_3Dsymp", "Symétrie3DPlan(<name,null>,\"C,D,E\",<name,var>);");
|
|||
|
addCMicon("bi_3Dtrans", "Translation3D(<name,null>,<name,var>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_3Dsphererayon", "SphèreRayon(<name,null>,<name,var>,<nb,var,exp>);");
|
|||
|
addCMicon("bi_3Dspherepoint", "Sphère(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_3Dcircle1", "Cercle3D(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_3Dcircle2", "CercleRayon3D(<name,null>,<name,var>,<name,var>,\"E7\");");
|
|||
|
addCMicon("bi_3Dcircle3pts", "Cercle3D3pts(<name,null>,<name,var>,<name,var>,<name,var>);");
|
|||
|
}
|
|||
|
else {
|
|||
|
addCMicon("point", "<var,null>=Point(<null,name>,<nb,var,exp>,<nb,var,exp>);");
|
|||
|
addCMicon("intersection", "<var,null>=Intersection(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("midpoint", "<var,null>=Milieu(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_syma", "<var,null>=SymétrieAxiale(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_symc", "<var,null>=SymétrieCentrale(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_trans", "<var,null>=Translation(<null,name>,<name,var>,<name,var>,<name,var>);");
|
|||
|
addCMicon("line", "<var,null>=Droite(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("ray", "<var,null>=DemiDroite(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("parallel", "<var,null>=Parallèle(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("plumb", "<var,null>=Perpendiculaire(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_med", "<var,null>=Médiatrice(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_biss", "<var,null>=Bissectrice(<null,name>,<name,var>,<name,var>,<name,var>);");
|
|||
|
addCMicon("segment", "<var,null>=Segment(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("fixedsegment", "<var,null>=SegmentFixe(<null,name>,<name,var>,<nb,var>);");
|
|||
|
addCMicon("vector", "<var,null>=Vecteur(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("area", "<var,null>=Polygone(<null,name>,<objs>);");
|
|||
|
addCMicon("angle", "<var,null>=Angle(<null,name>,<name,var>,<name,var>,<name,var>);");
|
|||
|
addCMicon("fixedangle", "<var,null>=AngleFixe(<null,name>,<name,var>,<name,var>,<nb,var,exp>);");
|
|||
|
addCMicon("circle", "<var,null>=Cercle(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("fixedcircle", "<var,null>=CercleRayon(<null,name>,<name,var>,<nb,exp>);");
|
|||
|
addCMicon("circle3", "<var,null>=Cercle3(<null,name>,<name,var>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_circ", "<var,null>=Cercle3pts(<null,name>,<name,var>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_arc", "<var,null>=Arc3pts(<null,name>,<name,var>,<name,var>,<name,var>);");
|
|||
|
addCMicon("quadric", "<var,null>=Quadrique(<null,name>,<name,var>,<name,var>,<name,var>,<name,var>,<name,var>);");
|
|||
|
// addCMicon("text", "");
|
|||
|
addCMicon("expression", "<var,null>=Expression(<null,name>,\"Votre expression\",<nb>,<nb>);");
|
|||
|
addCMicon("text", "<var,null>=Texte(<null,name>,\"Votre message\",<nb>,<nb>);");
|
|||
|
// addCMicon("image3", "");
|
|||
|
// addBlankIcon(3);
|
|||
|
addCMicon("function", "<var,null>=FonctionCartésienne(<null,name>,-5,5,\"x^2-2*x+1\");");
|
|||
|
addCMicon("parametricfunction", "<var,null>=FonctionParamétrique(<null,name>,-3.14,3.14,\"3*rcos(t)^3\",\"3*rsin(t)^3\");");
|
|||
|
addCMicon("equationxy", "<var,null>=TracéImplicite(<null,name>,\"x^3-2*x-y^2+1\");");
|
|||
|
addCMicon("macro", "<var,null>=ExécuterMacro(\"macroName\",\"_x,_y,_z\");");
|
|||
|
addSeparator(1);
|
|||
|
addCMicon("interactiveinput", "<var>=EntréeInteractive(\"Message\",<\"Point,Segment,Line,Circle\">);");
|
|||
|
addCMicon("aimant", "MettreObjetsMagnétiques(<name,var>,<objs,var>);");
|
|||
|
addCMicon("hide", "MettreCaché(<objs,var>,<\"vrai,faux\">);");
|
|||
|
addCMicon("type2", "MettreTypePoint(<objs,var>,<\"square,circle,diamond,point,cross,dcross\">);");
|
|||
|
addCMicon("color4", "MettreCouleur(<objs,var>,<\"green,blue,brown,cyan,red,black\">);");
|
|||
|
addCMicon("thickness1", "MettreEpaisseur(<objs,var>,<\"thick,normal,thin\">);");
|
|||
|
addCMicon("partial", "MettrePartiel(<objs,var>,<\"vrai,faux\">);");
|
|||
|
addCMicon("showvalue", "MettreMontrerValeur(<objs,var>,<\"vrai,faux\">);");
|
|||
|
addCMicon("showname", "MettreMontrerNom(<objs,var>,<\"vrai,faux\">);");
|
|||
|
addCMicon("filled", "MettreRempli(<objs,var>,<\"vrai,faux\">);");
|
|||
|
addCMicon("monkey", "Déplacer(<name,var>,<nb,var,exp>,<nb,var,exp>);");
|
|||
|
addCMicon("nail", "MettreFixe(<name,var>,<\"vrai,faux\">);");
|
|||
|
// addCMicon("dice", "<var,null>=Math.ceil(Math.random()*6);");
|
|||
|
addSeparator(1);
|
|||
|
addCMicon("tortue", "AttacherTortue(<name,null>);");
|
|||
|
addCMicon("avancer", "Avancer(<nb,var,exp>);");
|
|||
|
addCMicon("reculer", "Reculer(<nb,var,exp>);");
|
|||
|
addCMicon("tournerG", "TournerGauche(<nb,var,exp>);");
|
|||
|
addCMicon("tournerD", "TournerDroite(<nb,var,exp>);");
|
|||
|
addCMicon("vitesse", "VitesseTortue(<nb,var,exp>);");
|
|||
|
addCMicon2("crayonB", "BaisserStylo();");
|
|||
|
addCMicon2("crayonH", "LeverStylo();");
|
|||
|
addCMicon2("cacher", "CacherTortue();");
|
|||
|
addCMicon2("montrer", "MontrerTortue();");
|
|||
|
addCMicon("orienter", "OrienterTortue(<nb,var,exp>);");
|
|||
|
addCMicon("viser", "Viser(<name,var>);");
|
|||
|
addCMicon("avancer2", "<var,null>=Avancer(<nb,var,exp>)[0];");
|
|||
|
addCMicon("avancer3", "<var,null>=Avancer(<nb,var,exp>)[1];");
|
|||
|
addCMicon("avancer4", "t=Avancer(<nb,var,exp>);<var,null>=t[0];<var,null>=t[1];");
|
|||
|
addCMicon("reculer2", "<var,null>=Reculer(<nb,var,exp>)[0];");
|
|||
|
addCMicon("reculer3", "<var,null>=Reculer(<nb,var,exp>)[1];");
|
|||
|
addCMicon("reculer4", "t=Reculer(<nb,var,exp>);<var,null>=t[0];<var,null>=t[1];");
|
|||
|
addSeparator(1);
|
|||
|
addCMicon("bi_3Dcoords", "<var,null>=Point3D(<null,name>,<nb,var,exp>,<nb,var,exp>,<nb,var,exp>);");
|
|||
|
addCMicon("bi_3Dproj", "<var,null>=Projection3D(<null,name>,\"_f,_g,_h\",<name,var>);");
|
|||
|
addCMicon("bi_3Dsymc", "<var,null>=SymétrieCentrale3D(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_3Dsymp", "<var,null>=Symétrie3DPlan(<null,name>,\"_f,_g,_h\",<name,var>);");
|
|||
|
addCMicon("bi_3Dtrans", "<var,null>=Translation3D(<null,name>,<name,var>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_3Dsphererayon", "<var,null>=SphèreRayon(<null,name>,<name,var>,<nb,var,exp>);");
|
|||
|
addCMicon("bi_3Dspherepoint", "<var,null>=Sphère(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_3Dcircle1", "<var,null>=Cercle3D(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_3Dcircle2", "<var,null>=CercleRayon3D(<null,name>,<name,var>,<name,var>,\"E7\");");
|
|||
|
addCMicon("bi_3Dcircle3pts", "<var,null>=Cercle3D3pts(<null,name>,<name,var>,<name,var>,<name,var>);");
|
|||
|
}
|
|||
|
addSeparator(1);
|
|||
|
addCMicon("tournerG3D", "TournerGauche(<nb,var,exp>);");
|
|||
|
addCMicon("tournerD3D", "TournerDroite(<nb,var,exp>);");
|
|||
|
addCMicon("pivoterH", "PivoterHaut(<nb,var,exp>);");
|
|||
|
addCMicon("pivoterB", "PivoterBas(<nb,var,exp>);");
|
|||
|
addCMicon("pivoterG", "PivoterGauche(<nb,var,exp>);");
|
|||
|
addCMicon("pivoterD", "PivoterDroite(<nb,var,exp>);");
|
|||
|
|
|||
|
}
|
|||
|
else {
|
|||
|
if (FlagSimp) {
|
|||
|
addCMicon("point", "Point(<name,null>,<nb,var,exp>,<nb,var,exp>);");
|
|||
|
addCMicon("intersection", "Intersection(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("midpoint", "MidPoint(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_syma", "Reflection(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_symc", "Symmetry(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_trans", "Translation(<name,null>,<name,var>,<name,var>,<name,var>);");
|
|||
|
addCMicon("line", "Line(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("ray", "Ray(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("parallel", "Parallel(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("plumb", "Perpendicular(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_med", "PerpendicularBisector(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_biss", "AngleBisector(,<name,var>,<name,var>,<name,var>);");
|
|||
|
addCMicon("segment", "Segment(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("fixedsegment", "FixedSegment(<name,null>,<name,var>,<nb,var>);");
|
|||
|
addCMicon("vector", "Vector(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("area", "Polygon(<name,null>,<objs>);");
|
|||
|
addCMicon("angle", "Angle(<name,null>,<name,var>,<name,var>,<name,var>);");
|
|||
|
addCMicon("fixedangle", "FixedAngle(<name,null>,<name,var>,<name,var>,<nb,var,exp>);");
|
|||
|
addCMicon("circle", "Circle(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("fixedcircle", "FixedCircle(<name,null>,<name,var>,<nb,exp>);");
|
|||
|
addCMicon("circle3", "Circle3(<name,null>,<name,var>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_circ", "Circle3pts(<name,null>,<name,var>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_arc", "Arc3pts(<name,null>,<name,var>,<name,var>,<name,var>);");
|
|||
|
addCMicon("quadric", "Quadric(<name,null>,<name,var>,<name,var>,<name,var>,<name,var>,<name,var>);");
|
|||
|
// addCMicon("text", "");
|
|||
|
addCMicon("expression", "Expression(<name,null>,\"Votre expression\",<nb>,<nb>);");
|
|||
|
addCMicon("text", "Text(<name,null>,\"Votre message\",<nb>,<nb>);");
|
|||
|
// addCMicon("image3", "");
|
|||
|
// addBlankIcon(3);
|
|||
|
addCMicon("function", "CartesianFunction(<name,null>,-5,5,\"x^2-2*x+1\");");
|
|||
|
addCMicon("parametricfunction", "ParametricFunction(<name,null>,-3.14,3.14,\"3*rcos(t)^3\",\"3*rsin(t)^3\");");
|
|||
|
addCMicon("equationxy", "ImplicitPlot(<name,null>,\"x^3-2*x-y^2+1\");");
|
|||
|
addCMicon("macro", "ExecuteMacro(<name,null>,\"_x,_y,_z\");");
|
|||
|
addSeparator(1);
|
|||
|
addCMicon("interactiveinput", "<var>:=InteractiveInput(\"Message\",<\"Point,Segment,Line,Circle\">);");
|
|||
|
}
|
|||
|
else {
|
|||
|
addCMicon("point", "<var,null>=Point(<null,name>,<nb,var,exp>,<nb,var,exp>);");
|
|||
|
addCMicon("intersection", "<var,null>=Intersection(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("midpoint", "<var,null>=MidPoint(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_syma", "<var,null>=Reflection(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_symc", "<var,null>=Symmetry(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_trans", "<var,null>=Translation(<null,name>,<name,var>,<name,var>,<name,var>);");
|
|||
|
addCMicon("line", "<var,null>=Line(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("ray", "<var,null>=Ray(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("parallel", "<var,null>=Parallel(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("plumb", "<var,null>=Perpendicular(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_med", "<var,null>=PerpendicularBisector(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_biss", "<var,null>=AngleBisector(<null,name>,<name,var>,<name,var>,<name,var>);");
|
|||
|
addCMicon("segment", "<var,null>=Segment(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("fixedsegment", "<var,null>=FixedSegment(<null,name>,<name,var>,<nb,var>);");
|
|||
|
addCMicon("vector", "<var,null>=Vector(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("area", "<var,null>=Polygon(<null,name>,<objs>);");
|
|||
|
addCMicon("angle", "<var,null>=Angle(<null,name>,<name,var>,<name,var>,<name,var>);");
|
|||
|
addCMicon("fixedangle", "<var,null>=FixedAngle(<null,name>,<name,var>,<name,var>,<nb,var,exp>);");
|
|||
|
addCMicon("circle", "<var,null>=Circle(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("fixedcircle", "<var,null>=FixedCircle(<null,name>,<name,var>,<nb,exp>);");
|
|||
|
addCMicon("circle3", "<var,null>=Circle3(<null,name>,<name,var>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_circ", "<var,null>=Circle3pts(<null,name>,<name,var>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_arc", "<var,null>=Arc3pts(<null,name>,<name,var>,<name,var>,<name,var>);");
|
|||
|
addCMicon("quadric", "<var,null>=Quadric(<null,name>,<name,var>,<name,var>,<name,var>,<name,var>,<name,var>);");
|
|||
|
// addCMicon("text", "");
|
|||
|
addCMicon("expression", "<var,null>=Expression(<null,name>,\"Votre expression\",<nb>,<nb>);");
|
|||
|
addCMicon("text", "<var,null>=Text(<null,name>,\"Votre message\",<nb>,<nb>);");
|
|||
|
// addCMicon("image3", "");
|
|||
|
// addBlankIcon(3);
|
|||
|
addCMicon("function", "<var,null>=CartesianFunction(<null,name>,-5,5,\"x^2-2*x+1\");");
|
|||
|
addCMicon("parametricfunction", "<var,null>=ParametricFunction(<null,name>,-3.14,3.14,\"3*rcos(t)^3\",\"3*rsin(t)^3\");");
|
|||
|
addCMicon("equationxy", "<var,null>=ImplicitPlot(<null,name>,\"x^3-2*x-y^2+1\");");
|
|||
|
addCMicon("macro", "<var,null>=ExecuteMacro(\"macroName\",\"_x,_y,_z\");");
|
|||
|
addSeparator(1);
|
|||
|
addCMicon("interactiveinput", "<var>=InteractiveInput(\"Message\",<\"Point,Segment,Line,Circle\">);");
|
|||
|
}
|
|||
|
addCMicon("aimant", "SetMagneticObjects(<name,var>,<objs,var>);");
|
|||
|
addCMicon("hide", "SetHide(<objs,var>,<\"true,false\">);");
|
|||
|
addCMicon("type2", "SetPointType(<objs,var>,<\"square,circle,diamond,point,cross,dcross\">);");
|
|||
|
addCMicon("color4", "SetColor(<objs,var>,<\"green,blue,brown,cyan,red,black\">);");
|
|||
|
addCMicon("thickness1", "SetThickness(<objs,var>,<\"thick,normal,thin\">);");
|
|||
|
addCMicon("partial", "SetPartial(<objs,var>,<\"true,false\">);");
|
|||
|
addCMicon("showvalue", "SetShowValue(<objs,var>,<\"true,false\">);");
|
|||
|
addCMicon("showname", "SetShowName(<objs,var>,<\"true,false\">);");
|
|||
|
addCMicon("filled", "SetFilled(<objs,var>,<\"true,false\">);");
|
|||
|
addCMicon("monkey", "Move(<name,var>,<nb,var,exp>,<nb,var,exp>);");
|
|||
|
addCMicon("nail", "SetFixed(<name,var>,<\"true,false\">);");
|
|||
|
// addCMicon("dice", "<var,null>=Math.ceil(Math.random()*6);");
|
|||
|
|
|||
|
addSeparator(1);
|
|||
|
addCMicon("tortue", "FixTurtle(<name,null>);");
|
|||
|
addCMicon("avancer", "MoveForward(<nb,var,exp>);");
|
|||
|
addCMicon("reculer", "MoveBackward(<nb,var,exp>);");
|
|||
|
addCMicon("tournerG", "TurnLeft(<nb,var,exp>);");
|
|||
|
addCMicon("tournerD", "TurnRight(<nb,var,exp>);");
|
|||
|
addCMicon("vitesse", "TurtleSpeed(<nb,var,exp>);");
|
|||
|
addCMicon2("crayonB", "TurtleDown();");
|
|||
|
addCMicon2("crayonH", "TurtleUp();");
|
|||
|
addCMicon2("cacher", "HideTurtle();");
|
|||
|
addCMicon2("montrer", "ShowTurtle();");
|
|||
|
addCMicon("orienter", "OrientateTurtle(<nb,var,exp>);");
|
|||
|
addCMicon("viser", "OrientateTowards(<name,var>);");
|
|||
|
if (FlagSimp) {
|
|||
|
addCMicon("avancer2", "<var,null>:=MoveForward(<nb,var,exp>)[0];");
|
|||
|
addCMicon("avancer3", "<var,null>:=MoveForward(<nb,var,exp>)[1];");
|
|||
|
addCMicon("avancer4", "t:=MoveForward(<nb,var,exp>);<var,null>:=t[0];<var,null>:=t[1];");
|
|||
|
addCMicon("reculer2", "<var,null>:=MoveBackward(<nb,var,exp>)[0];");
|
|||
|
addCMicon("reculer3", "<var,null>:=MoveBackward(<nb,var,exp>)[1];");
|
|||
|
addCMicon("reculer4", "t:=MoveBackward(<nb,var,exp>);<var,null>:=t[0];<var,null>:=t[1];");
|
|||
|
addSeparator(1);
|
|||
|
addCMicon("bi_3Dcoords", "Point3D(<name,null>,<nb,var,exp>,<nb,var,exp>,<nb,var,exp>);");
|
|||
|
addCMicon("bi_3Dproj", "Projection3D(<name,null>,\"C,D,E\",<name,var>);");
|
|||
|
addCMicon("bi_3Dsymc", "Symmetry3D(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_3Dsymp", "Reflection3D(<name,null>,\"C,D,E\",<name,var>);");
|
|||
|
addCMicon("bi_3Dtrans", "Translation3D(<name,null>,<name,var>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_3Dsphererayon", "FixedSphere(<name,null>,<name,var>,<nb,var,exp>);");
|
|||
|
addCMicon("bi_3Dspherepoint", "Sphere(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_3Dcircle1", "Circle3D(<name,null>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_3Dcircle2", "FixedCircle3D(<name,null>,<name,var>,<name,var>,\"E7\");");
|
|||
|
addCMicon("bi_3Dcircle3pts", "Circle3D3pts(<name,null>,<name,var>,<name,var>,<name,var>);");
|
|||
|
}
|
|||
|
else {
|
|||
|
addCMicon("avancer2", "<var,null>=MoveForward(<nb,var,exp>)[0];");
|
|||
|
addCMicon("avancer3", "<var,null>=MoveForward(<nb,var,exp>)[1];");
|
|||
|
addCMicon("avancer4", "t=MoveForward(<nb,var,exp>);<var,null>=t[0];<var,null>=t[1];");
|
|||
|
addCMicon("reculer2", "<var,null>=MoveBackward(<nb,var,exp>)[0];");
|
|||
|
addCMicon("reculer3", "<var,null>=MoveBackward(<nb,var,exp>)[1];");
|
|||
|
addCMicon("reculer4", "t=MoveBackward(<nb,var,exp>);<var,null>=t[0];<var,null>=t[1];");
|
|||
|
addSeparator(1);
|
|||
|
addCMicon("bi_3Dcoords", "<var,null>=Point3D(<null,name>,<nb,var,exp>,<nb,var,exp>,<nb,var,exp>);");
|
|||
|
addCMicon("bi_3Dproj", "<var,null>=Projection3D(<null,name>,\"_f,_g,_h\",<name,var>);");
|
|||
|
addCMicon("bi_3Dsymc", "<var,null>=Symmetry3D(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_3Dsymp", "<var,null>=Reflection3D(<null,name>,\"_f,_g,_h\",<name,var>);");
|
|||
|
addCMicon("bi_3Dtrans", "<var,null>=Translation3D(<null,name>,<name,var>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_3Dsphererayon", "<var,null>=FixedSphere(<null,name>,<name,var>,<nb,var,exp>);");
|
|||
|
addCMicon("bi_3Dspherepoint", "<var,null>=Sphere(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_3Dcircle1", "<var,null>=Circle3D(<null,name>,<name,var>,<name,var>);");
|
|||
|
addCMicon("bi_3Dcircle2", "<var,null>=FixedCircle3D(<null,name>,<name,var>,<name,var>,\"E7\");");
|
|||
|
addCMicon("bi_3Dcircle3pts", "<var,null>=Circle3D3pts(<null,name>,<name,var>,<name,var>,<name,var>);");
|
|||
|
}
|
|||
|
addSeparator(1);
|
|||
|
addCMicon("tournerG3D", "TurnLeft(<nb,var,exp>);");
|
|||
|
addCMicon("tournerD3D", "TurnRight(<nb,var,exp>);");
|
|||
|
addCMicon("pivoterH", "PitchUp(<nb,var,exp>);");
|
|||
|
addCMicon("pivoterB", "PitchDown(<nb,var,exp>);");
|
|||
|
addCMicon("pivoterG", "RollLeft(<nb,var,exp>);");
|
|||
|
addCMicon("pivoterD", "RollRight(<nb,var,exp>);");
|
|||
|
}
|
|||
|
addJSIcon("js_cos", "Math.cos(x)");
|
|||
|
addJSIcon("js_sin", "Math.sin(x)");
|
|||
|
addJSIcon("js_tan", "Math.tan(x)");
|
|||
|
addJSIcon("js_acos", "Math.acos(x)");
|
|||
|
addJSIcon("js_asin", "Math.asin(x)");
|
|||
|
addJSIcon("js_atan", "Math.atan(x)");
|
|||
|
addJSIcon("js_abs", "Math.abs(x)");
|
|||
|
addJSIcon("js_ceil", "Math.ceil(x)");
|
|||
|
addJSIcon("js_floor", "Math.floor(x)");
|
|||
|
addJSIcon("js_round", "Math.round(x)");
|
|||
|
addJSIcon("js_min", "Math.min(x,y)");
|
|||
|
addJSIcon("js_max", "Math.max(x,y)");
|
|||
|
addJSIcon("js_pi", "Math.PI");
|
|||
|
addJSIcon("js_e", "Math.E");
|
|||
|
addJSIcon("js_xn", "Math.pow(x,n)");
|
|||
|
addJSIcon("js_ex", "Math.exp(x)");
|
|||
|
addJSIcon("js_ln", "Math.log(x)");
|
|||
|
addJSIcon("js_sqrt", "Math.sqrt(x)");
|
|||
|
addJSIcon("js_or", "(x==2 || x>=5)");
|
|||
|
addJSIcon("js_and", "(x>=2 && x<=5)");
|
|||
|
addJSIcon("js_no", "!(x==0)");
|
|||
|
addJSIcon("hour", "Pause(1000);");
|
|||
|
addJSIcon("js_array", "tableau = [[1,2],[3,4]];");
|
|||
|
addJSIcon("dice", "Math.ceil(Math.random()*6)");
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
public void initUndoRedo() {
|
|||
|
|
|||
|
undo=new UndoManager() {
|
|||
|
|
|||
|
public synchronized boolean addEdit(UndoableEdit anEdit) {
|
|||
|
if (anEdit instanceof AbstractDocument.DefaultDocumentEvent) {
|
|||
|
AbstractDocument.DefaultDocumentEvent de=(AbstractDocument.DefaultDocumentEvent) anEdit;
|
|||
|
if (de.getType()==DocumentEvent.EventType.CHANGE) {
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
return super.addEdit(anEdit);
|
|||
|
}
|
|||
|
};
|
|||
|
|
|||
|
script_area.getStyledDocument().addUndoableEditListener(new UndoableEditListener() {
|
|||
|
|
|||
|
public void undoableEditHappened(UndoableEditEvent e) {
|
|||
|
undo.addEdit(e.getEdit());
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
script_area.getActionMap().put("Undo",
|
|||
|
new AbstractAction("Undo") {
|
|||
|
|
|||
|
public void actionPerformed(ActionEvent evt) {
|
|||
|
try {
|
|||
|
if (undo.canUndo()) {
|
|||
|
undo.undo();
|
|||
|
}
|
|||
|
} catch (CannotUndoException e) {
|
|||
|
}
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
script_area.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_Z, ctrlkey), "Undo");
|
|||
|
script_area.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_Y, ctrlkey), "Redo");
|
|||
|
script_area.getActionMap().put("Redo",
|
|||
|
new AbstractAction("Redo") {
|
|||
|
|
|||
|
public void actionPerformed(ActionEvent evt) {
|
|||
|
try {
|
|||
|
if (undo.canRedo()) {
|
|||
|
undo.redo();
|
|||
|
}
|
|||
|
} catch (CannotRedoException e) {
|
|||
|
}
|
|||
|
}
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
// Select a line (linenumber starts at 1)
|
|||
|
private void selectLine(int linenumber) {
|
|||
|
Element root=script_area.getDocument().getDefaultRootElement();
|
|||
|
Element myline=root.getElement(linenumber-1);
|
|||
|
int start=myline.getStartOffset();
|
|||
|
int end=myline.getEndOffset();
|
|||
|
script_area.select(start, end);
|
|||
|
}
|
|||
|
|
|||
|
static public String Loc(final String s) {
|
|||
|
return Global.Loc(s);
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* In case of errors, it's called at Runtime by JSRun class
|
|||
|
* @param errormessage
|
|||
|
*/
|
|||
|
public void Error(String errormessage) {
|
|||
|
StringBuffer sb=new StringBuffer();
|
|||
|
int errorline=1;
|
|||
|
Pattern p=Pattern.compile("\\([^#]*#([0-9]+)\\)", Pattern.CASE_INSENSITIVE);
|
|||
|
Matcher m=p.matcher(errormessage);
|
|||
|
if (m.find()) {
|
|||
|
errorline=Integer.parseInt(m.group(1))+1;
|
|||
|
m.appendReplacement(sb, "");
|
|||
|
} else {
|
|||
|
sb=sb.append(errormessage);
|
|||
|
}
|
|||
|
errorpanel.removeAll();
|
|||
|
errortitlelabel.setText(" "+Loc("JSerror.title")+" ("+Loc("JSerror.line")+" "+errorline+") :");
|
|||
|
errormessagelabel.setText(sb.toString());
|
|||
|
errorpanel.add(errortitlelabel);
|
|||
|
errorpanel.add(errormessagelabel);
|
|||
|
errorpanel.revalidate();
|
|||
|
errorpanel.repaint();
|
|||
|
selectLine(errorline);
|
|||
|
script_area.requestFocus();
|
|||
|
}
|
|||
|
|
|||
|
public void setTabs(JTextPane textPane, int charactersPerTab) {
|
|||
|
FontMetrics fm=textPane.getFontMetrics(textPane.getFont());
|
|||
|
int charWidth=fm.charWidth('w');
|
|||
|
int tabWidth=charWidth*charactersPerTab;
|
|||
|
|
|||
|
TabStop[] tabs=new TabStop[10];
|
|||
|
|
|||
|
for (int j=0; j<tabs.length; j++) {
|
|||
|
int tab=j+1;
|
|||
|
tabs[j]=new TabStop(tab*tabWidth);
|
|||
|
}
|
|||
|
TabSet tabSet=new TabSet(tabs);
|
|||
|
Style style=textPane.getLogicalStyle();
|
|||
|
StyleConstants.setTabSet(style, tabSet);
|
|||
|
textPane.setLogicalStyle(style);
|
|||
|
}
|
|||
|
private ArrayList<Integer> braces;
|
|||
|
|
|||
|
private int tabIndent(int carnum) {
|
|||
|
int priority=0;
|
|||
|
int i=0;
|
|||
|
while ((i<braces.size())&&(carnum>braces.get(i))) {
|
|||
|
priority=braces.get(i+1);
|
|||
|
i+=2;
|
|||
|
}
|
|||
|
//
|
|||
|
//
|
|||
|
//
|
|||
|
// for (int i=0;i<braces.size();i+=2){
|
|||
|
// if (carnum>braces.get(i)) {
|
|||
|
// return braces.get(i+1);
|
|||
|
// }
|
|||
|
// }
|
|||
|
return priority;
|
|||
|
}
|
|||
|
|
|||
|
private void shiftposition(int lg, int sh) {
|
|||
|
for (int i=0; i<braces.size(); i+=2) {
|
|||
|
if (braces.get(i)>lg) {
|
|||
|
braces.set(i, braces.get(i)+sh);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private String tabs(int t) {
|
|||
|
String st="";
|
|||
|
for (int i=0; i<t; i++) {
|
|||
|
st+="\t";
|
|||
|
}
|
|||
|
return st;
|
|||
|
}
|
|||
|
|
|||
|
private void indentText() {
|
|||
|
String alltxt=script_area.getText();
|
|||
|
String myline;
|
|||
|
String newtxt="";
|
|||
|
int length=0;
|
|||
|
int linenum=1;
|
|||
|
BufferedReader reader=new BufferedReader(new StringReader(alltxt));
|
|||
|
try {
|
|||
|
while ((myline=reader.readLine())!=null) {
|
|||
|
int tabnb=tabIndent(length);
|
|||
|
if (myline.matches("^[ \t]*}.*$")) {
|
|||
|
// System.out.println("line="+linenum);
|
|||
|
tabnb--;
|
|||
|
}
|
|||
|
String newline=myline.replaceAll("^([ \t]*)([^ \t])", tabs(tabnb)+"$2");
|
|||
|
int shift=newline.length()-myline.length();
|
|||
|
newtxt+=newline+"\n";
|
|||
|
|
|||
|
// System.out.println("line="+(linenum++)+" pos="+length+" indent="+tabs(tabIndent(length))+tabIndent(length));
|
|||
|
|
|||
|
length+=newline.length()+1;
|
|||
|
shiftposition(myline.length(), shift);
|
|||
|
}
|
|||
|
|
|||
|
} catch (IOException e) {
|
|||
|
e.printStackTrace();
|
|||
|
}
|
|||
|
script_area.setText(newtxt);
|
|||
|
}
|
|||
|
|
|||
|
private void FindDelimiters() {
|
|||
|
char openedbrace="{".charAt(0);
|
|||
|
char closedbrace="}".charAt(0);
|
|||
|
char quotemark="\"".charAt(0);
|
|||
|
char backslash="\\".charAt(0);
|
|||
|
braces=new ArrayList<Integer>();
|
|||
|
String alltxt=script_area.getText();
|
|||
|
boolean inquote=false;
|
|||
|
char oldcur=0;
|
|||
|
char cur=0;
|
|||
|
int bracesnum=0;
|
|||
|
int oldbracesnum=0;
|
|||
|
for (int i=0; i<alltxt.length(); i++) {
|
|||
|
oldcur=cur;
|
|||
|
cur=alltxt.charAt(i);
|
|||
|
if ((cur==quotemark)&&(oldcur!=backslash)) {
|
|||
|
inquote=(!inquote);
|
|||
|
}
|
|||
|
if (!inquote) {
|
|||
|
if (alltxt.charAt(i)==openedbrace) {
|
|||
|
bracesnum++;
|
|||
|
braces.add(i);
|
|||
|
braces.add(bracesnum);
|
|||
|
oldbracesnum=bracesnum;
|
|||
|
} else if (alltxt.charAt(i)==closedbrace) {
|
|||
|
bracesnum--;
|
|||
|
braces.add(i);
|
|||
|
braces.add(bracesnum);
|
|||
|
oldbracesnum=bracesnum;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
// System.out.println(newtxt);
|
|||
|
|
|||
|
|
|||
|
// System.out.println("******");
|
|||
|
// for (int i=0; i<braces.size(); i+=2) {
|
|||
|
// int i1=braces.get(i);
|
|||
|
// int i2=braces.get(i+1);
|
|||
|
// System.out.println("rang="+i1+" priorité="+i2);
|
|||
|
// }
|
|||
|
// System.out.println("******");
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
private String replace(String s, String reg, String repl) {
|
|||
|
String st="";
|
|||
|
while (!s.equals(st)) {
|
|||
|
st=s;
|
|||
|
// s=s.replaceFirst(reg, repl);
|
|||
|
s=Pattern.compile(reg, Pattern.MULTILINE|Pattern.DOTALL).matcher(s).replaceAll(repl);
|
|||
|
}
|
|||
|
return st;
|
|||
|
}
|
|||
|
|
|||
|
private void Format() {
|
|||
|
int i=script_area.getCaretPosition();
|
|||
|
String alltxt=script_area.getText();
|
|||
|
if (!pseudoCode) {
|
|||
|
alltxt=replace(alltxt, "\\Q}\\E[ \t]*\\Q}\\E[ \t]*\n", "\n}\n}\n");
|
|||
|
alltxt=replace(alltxt, ";[ \t]*\\Q}\\E[ \t]*\n", ";\n}\n");
|
|||
|
|
|||
|
alltxt=alltxt.replaceAll("\\Q}\\E[ \t]*\\Qelse\\E[ \t]*\\Q{\\E", "} else {");
|
|||
|
|
|||
|
alltxt=alltxt.replaceAll("\n[ \t]*\\Q{\\E[ \t]*\n", "{\n");
|
|||
|
script_area.setText(alltxt);
|
|||
|
FindDelimiters();
|
|||
|
indentText();
|
|||
|
try {
|
|||
|
script_area.setCaretPosition(i);
|
|||
|
} catch (Exception e) {
|
|||
|
}
|
|||
|
}
|
|||
|
else {
|
|||
|
int nbOuverts=0;
|
|||
|
String[] lesLignes= alltxt.split("\n");
|
|||
|
int indentationLignePrec=0;
|
|||
|
int indentationLigneActu=0;
|
|||
|
Boolean cherchonsUnEspace=true;
|
|||
|
int ancienneLigne=0;
|
|||
|
for (int j=1; j<lesLignes.length; j++){
|
|||
|
if (Pattern.compile("^[\\s]*$").matcher(lesLignes[j]).find()) {
|
|||
|
continue;
|
|||
|
}
|
|||
|
indentationLigneActu=0;
|
|||
|
cherchonsUnEspace=true;
|
|||
|
while (cherchonsUnEspace) {
|
|||
|
cherchonsUnEspace=false;
|
|||
|
p = Pattern.compile("^ ");
|
|||
|
Matcher m = p.matcher(lesLignes[j]);
|
|||
|
matchFound = m.find();
|
|||
|
if (matchFound) {
|
|||
|
lesLignes[j]= m.replaceFirst("");
|
|||
|
indentationLigneActu++;
|
|||
|
cherchonsUnEspace=true;
|
|||
|
}
|
|||
|
}
|
|||
|
if (indentationLigneActu%3==1) {
|
|||
|
indentationLigneActu--;
|
|||
|
}
|
|||
|
else if (indentationLigneActu%3==2) {
|
|||
|
indentationLigneActu++;
|
|||
|
}
|
|||
|
for (int k=0; k<indentationLigneActu; k++) {
|
|||
|
lesLignes[j]=" "+lesLignes[j];
|
|||
|
}
|
|||
|
}
|
|||
|
alltxt="";
|
|||
|
for (int j=0; j<lesLignes.length; j++){
|
|||
|
alltxt=alltxt+lesLignes[j]+"\n";
|
|||
|
}
|
|||
|
script_area.setText(alltxt);
|
|||
|
try {
|
|||
|
script_area.setCaretPosition(i);
|
|||
|
} catch (Exception e) {
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/** This method is called from within the constructor to
|
|||
|
* initialize the form.
|
|||
|
* WARNING: Do NOT modify this code. The content of this method is
|
|||
|
* always regenerated by the Form Editor.
|
|||
|
*/
|
|||
|
@SuppressWarnings("unchecked")
|
|||
|
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
|||
|
private void initComponents() {
|
|||
|
|
|||
|
jPanel3 = new myJTitleBar();
|
|||
|
macpanel = new javax.swing.JPanel();
|
|||
|
title_lbl = new javax.swing.JLabel();
|
|||
|
closeBTN = new javax.swing.JButton();
|
|||
|
winpanel = new javax.swing.JPanel();
|
|||
|
jPanel1 = new javax.swing.JPanel();
|
|||
|
LeftBorder = new myJVerticalSeparatorPanel();
|
|||
|
jPanel15 = new javax.swing.JPanel();
|
|||
|
jPanel2 = new javax.swing.JPanel();
|
|||
|
action_buttons = new javax.swing.JPanel();
|
|||
|
jTextHeight = new javax.swing.JSlider();
|
|||
|
jPanel18 = new javax.swing.JPanel();
|
|||
|
openbtnfrench = new javax.swing.JButton();
|
|||
|
openbtnSimp = new javax.swing.JButton();
|
|||
|
openbtn5 = new javax.swing.JButton();
|
|||
|
jPanel16 = new javax.swing.JPanel();
|
|||
|
openbtn2 = new javax.swing.JButton();
|
|||
|
jPanel10 = new javax.swing.JPanel();
|
|||
|
backbtn = new javax.swing.JButton();
|
|||
|
jPanel11 = new javax.swing.JPanel();
|
|||
|
openbtn3 = new javax.swing.JButton();
|
|||
|
jPanel12 = new javax.swing.JPanel();
|
|||
|
openbtn4 = new javax.swing.JButton();
|
|||
|
jPanel4 = new javax.swing.JPanel();
|
|||
|
jScrollPane1 = new javax.swing.JScrollPane();
|
|||
|
script_area = new javax.swing.JTextPane();
|
|||
|
jPanel14 = new javax.swing.JPanel();
|
|||
|
commands = new javax.swing.JPanel();
|
|||
|
jLabel1 = new javax.swing.JLabel();
|
|||
|
c_carmetal = new javax.swing.JPanel();
|
|||
|
c_js = new javax.swing.JPanel();
|
|||
|
jLabel2 = new javax.swing.JLabel();
|
|||
|
js_btns = new javax.swing.JPanel();
|
|||
|
jScrollPane2 = new javax.swing.JScrollPane();
|
|||
|
JSlist = new javax.swing.JList();
|
|||
|
RightBorder = new myJVerticalSeparatorPanel();
|
|||
|
controls = new myStatusBarPanel();
|
|||
|
jPanel13 = new javax.swing.JPanel();
|
|||
|
errorpanel = new javax.swing.JPanel();
|
|||
|
errortitlelabel = new javax.swing.JLabel();
|
|||
|
errormessagelabel = new javax.swing.JLabel();
|
|||
|
jButton2 = new javax.swing.JButton();
|
|||
|
|
|||
|
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
|
|||
|
setUndecorated(true);
|
|||
|
addWindowListener(new java.awt.event.WindowAdapter() {
|
|||
|
public void windowClosing(java.awt.event.WindowEvent evt) {
|
|||
|
formWindowClosing(evt);
|
|||
|
}
|
|||
|
public void windowClosed(java.awt.event.WindowEvent evt) {
|
|||
|
formWindowClosed(evt);
|
|||
|
}
|
|||
|
public void windowActivated(java.awt.event.WindowEvent evt) {
|
|||
|
formWindowActivated(evt);
|
|||
|
}
|
|||
|
public void windowDeactivated(java.awt.event.WindowEvent evt) {
|
|||
|
formWindowDeactivated(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
getContentPane().setLayout(new javax.swing.BoxLayout(getContentPane(), javax.swing.BoxLayout.Y_AXIS));
|
|||
|
|
|||
|
jPanel3.setMaximumSize(new java.awt.Dimension(32767, 25));
|
|||
|
jPanel3.setMinimumSize(new java.awt.Dimension(0, 25));
|
|||
|
jPanel3.setPreferredSize(new java.awt.Dimension(199, 25));
|
|||
|
jPanel3.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
|
|||
|
public void mouseDragged(java.awt.event.MouseEvent evt) {
|
|||
|
jPanel3MouseDragged(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
jPanel3.addMouseListener(new java.awt.event.MouseAdapter() {
|
|||
|
public void mousePressed(java.awt.event.MouseEvent evt) {
|
|||
|
jPanel3MousePressed(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
jPanel3.setLayout(new javax.swing.BoxLayout(jPanel3, javax.swing.BoxLayout.X_AXIS));
|
|||
|
|
|||
|
macpanel.setAlignmentX(0.0F);
|
|||
|
macpanel.setEnabled(false);
|
|||
|
macpanel.setFocusable(false);
|
|||
|
macpanel.setMaximumSize(new java.awt.Dimension(32767, 25));
|
|||
|
macpanel.setMinimumSize(new java.awt.Dimension(0, 25));
|
|||
|
macpanel.setOpaque(false);
|
|||
|
macpanel.setPreferredSize(new java.awt.Dimension(523, 25));
|
|||
|
macpanel.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
|
|||
|
public void mouseDragged(java.awt.event.MouseEvent evt) {
|
|||
|
macpanelMouseDragged(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
macpanel.addMouseListener(new java.awt.event.MouseAdapter() {
|
|||
|
public void mousePressed(java.awt.event.MouseEvent evt) {
|
|||
|
macpanelMousePressed(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
macpanel.setLayout(new javax.swing.BoxLayout(macpanel, javax.swing.BoxLayout.X_AXIS));
|
|||
|
|
|||
|
title_lbl.setBackground(new java.awt.Color(117, 112, 104));
|
|||
|
title_lbl.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
|
|||
|
title_lbl.setText("jLabel3");
|
|||
|
title_lbl.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
|
|||
|
title_lbl.setMaximumSize(new java.awt.Dimension(32767, 32767));
|
|||
|
title_lbl.setMinimumSize(new java.awt.Dimension(0, 25));
|
|||
|
title_lbl.setPreferredSize(new java.awt.Dimension(45, 25));
|
|||
|
macpanel.add(title_lbl);
|
|||
|
|
|||
|
jPanel3.add(macpanel);
|
|||
|
|
|||
|
closeBTN.setIcon(new javax.swing.ImageIcon(getClass().getResource("/eric/GUI/icons/themes/gray/zclosebutton.png"))); // NOI18N
|
|||
|
closeBTN.setBorder(null);
|
|||
|
closeBTN.setBorderPainted(false);
|
|||
|
closeBTN.setContentAreaFilled(false);
|
|||
|
closeBTN.setFocusPainted(false);
|
|||
|
closeBTN.setFocusable(false);
|
|||
|
closeBTN.setMaximumSize(new java.awt.Dimension(25, 30));
|
|||
|
closeBTN.setMinimumSize(new java.awt.Dimension(25, 30));
|
|||
|
closeBTN.setPreferredSize(new java.awt.Dimension(25, 30));
|
|||
|
closeBTN.setRolloverIcon(new javax.swing.ImageIcon(getClass().getResource("/eric/GUI/icons/themes/gray/zclosebuttonover.png"))); // NOI18N
|
|||
|
closeBTN.addMouseListener(new java.awt.event.MouseAdapter() {
|
|||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
|||
|
closeBTNMouseClicked(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
jPanel3.add(closeBTN);
|
|||
|
|
|||
|
winpanel.setAlignmentX(0.0F);
|
|||
|
winpanel.setEnabled(false);
|
|||
|
winpanel.setFocusable(false);
|
|||
|
winpanel.setMaximumSize(new java.awt.Dimension(32767, 25));
|
|||
|
winpanel.setMinimumSize(new java.awt.Dimension(0, 25));
|
|||
|
winpanel.setOpaque(false);
|
|||
|
winpanel.setPreferredSize(new java.awt.Dimension(523, 25));
|
|||
|
winpanel.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
|
|||
|
public void mouseDragged(java.awt.event.MouseEvent evt) {
|
|||
|
winpanelMouseDragged(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
winpanel.addMouseListener(new java.awt.event.MouseAdapter() {
|
|||
|
public void mousePressed(java.awt.event.MouseEvent evt) {
|
|||
|
winpanelMousePressed(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
winpanel.setLayout(new javax.swing.BoxLayout(winpanel, javax.swing.BoxLayout.X_AXIS));
|
|||
|
jPanel3.add(winpanel);
|
|||
|
|
|||
|
getContentPane().add(jPanel3);
|
|||
|
|
|||
|
jPanel1.setPreferredSize(new java.awt.Dimension(565, 487));
|
|||
|
jPanel1.setLayout(new javax.swing.BoxLayout(jPanel1, javax.swing.BoxLayout.X_AXIS));
|
|||
|
|
|||
|
LeftBorder.setMaximumSize(new java.awt.Dimension(5, 32767));
|
|||
|
LeftBorder.setMinimumSize(new java.awt.Dimension(5, 30));
|
|||
|
LeftBorder.setOpaque(false);
|
|||
|
LeftBorder.setPreferredSize(new java.awt.Dimension(5, 487));
|
|||
|
LeftBorder.setLayout(null);
|
|||
|
jPanel1.add(LeftBorder);
|
|||
|
|
|||
|
jPanel15.setAlignmentX(0.0F);
|
|||
|
jPanel15.setMaximumSize(new java.awt.Dimension(3, 1));
|
|||
|
jPanel15.setMinimumSize(new java.awt.Dimension(3, 1));
|
|||
|
jPanel15.setOpaque(false);
|
|||
|
jPanel15.setPreferredSize(new java.awt.Dimension(3, 1));
|
|||
|
jPanel15.setLayout(new javax.swing.BoxLayout(jPanel15, javax.swing.BoxLayout.LINE_AXIS));
|
|||
|
jPanel1.add(jPanel15);
|
|||
|
|
|||
|
jPanel2.setFocusable(false);
|
|||
|
jPanel2.setLayout(new javax.swing.BoxLayout(jPanel2, javax.swing.BoxLayout.Y_AXIS));
|
|||
|
|
|||
|
action_buttons.setAlignmentX(0.0F);
|
|||
|
action_buttons.setAlignmentY(0.0F);
|
|||
|
action_buttons.setMaximumSize(new java.awt.Dimension(32727, 40));
|
|||
|
action_buttons.setMinimumSize(new java.awt.Dimension(370, 40));
|
|||
|
action_buttons.setPreferredSize(new java.awt.Dimension(350, 40));
|
|||
|
action_buttons.setLayout(new javax.swing.BoxLayout(action_buttons, javax.swing.BoxLayout.X_AXIS));
|
|||
|
|
|||
|
jTextHeight.setFont(new java.awt.Font("DejaVu Sans", 0, 8));
|
|||
|
jTextHeight.setForeground(new java.awt.Color(50, 50, 150));
|
|||
|
jTextHeight.setMaximum(36);
|
|||
|
jTextHeight.setMinimum(9);
|
|||
|
jTextHeight.setMinorTickSpacing(1);
|
|||
|
jTextHeight.setPaintLabels(true);
|
|||
|
jTextHeight.setPaintTicks(true);
|
|||
|
jTextHeight.setSnapToTicks(true);
|
|||
|
jTextHeight.setToolTipText("script height");
|
|||
|
jTextHeight.setValue(16);
|
|||
|
jTextHeight.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
|
|||
|
jTextHeight.setMinimumSize(new java.awt.Dimension(96, 43));
|
|||
|
jTextHeight.addChangeListener(new javax.swing.event.ChangeListener() {
|
|||
|
public void stateChanged(javax.swing.event.ChangeEvent evt) {
|
|||
|
jTextHeightStateChanged(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
action_buttons.add(jTextHeight);
|
|||
|
|
|||
|
jPanel18.setFocusable(false);
|
|||
|
jPanel18.setMaximumSize(new java.awt.Dimension(35, 1));
|
|||
|
jPanel18.setMinimumSize(new java.awt.Dimension(35, 1));
|
|||
|
jPanel18.setOpaque(false);
|
|||
|
jPanel18.setPreferredSize(new java.awt.Dimension(35, 1));
|
|||
|
action_buttons.add(jPanel18);
|
|||
|
|
|||
|
openbtn5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/eric/GUI/icons/jswindow/comment.png"))); // NOI18N
|
|||
|
openbtn5.setToolTipText(Loc("JSEditor.comment"));
|
|||
|
openbtn5.setBorder(null);
|
|||
|
openbtn5.setContentAreaFilled(false);
|
|||
|
openbtn5.addMouseListener(new java.awt.event.MouseAdapter() {
|
|||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
|||
|
openbtn5MouseClicked(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
openbtn5.addActionListener(new java.awt.event.ActionListener() {
|
|||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|||
|
openbtn5ActionPerformed(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
openbtn5.addKeyListener(new java.awt.event.KeyAdapter() {
|
|||
|
public void keyPressed(java.awt.event.KeyEvent evt) {
|
|||
|
openbtn5KeyPressed(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
action_buttons.add(openbtn5);
|
|||
|
|
|||
|
jPanel16.setFocusable(false);
|
|||
|
jPanel16.setMaximumSize(new java.awt.Dimension(10, 1));
|
|||
|
jPanel16.setMinimumSize(new java.awt.Dimension(10, 1));
|
|||
|
jPanel16.setOpaque(false);
|
|||
|
jPanel16.setPreferredSize(new java.awt.Dimension(10, 1));
|
|||
|
action_buttons.add(jPanel16);
|
|||
|
|
|||
|
openbtn2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/eric/GUI/icons/jswindow/format.png"))); // NOI18N
|
|||
|
openbtn2.setToolTipText(Loc("JSeditor.format"));
|
|||
|
openbtn2.setBorder(null);
|
|||
|
openbtn2.setContentAreaFilled(false);
|
|||
|
openbtn2.addMouseListener(new java.awt.event.MouseAdapter() {
|
|||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
|||
|
openbtn2MouseClicked(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
openbtn2.addActionListener(new java.awt.event.ActionListener() {
|
|||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|||
|
openbtn2ActionPerformed(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
openbtn2.addKeyListener(new java.awt.event.KeyAdapter() {
|
|||
|
public void keyPressed(java.awt.event.KeyEvent evt) {
|
|||
|
openbtn2KeyPressed(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
action_buttons.add(openbtn2);
|
|||
|
|
|||
|
jPanel10.setFocusable(false);
|
|||
|
jPanel10.setMaximumSize(new java.awt.Dimension(10, 1));
|
|||
|
jPanel10.setMinimumSize(new java.awt.Dimension(10, 1));
|
|||
|
jPanel10.setOpaque(false);
|
|||
|
jPanel10.setPreferredSize(new java.awt.Dimension(10, 1));
|
|||
|
action_buttons.add(jPanel10);
|
|||
|
|
|||
|
backbtn.setIcon(new javax.swing.ImageIcon(getClass().getResource("/eric/GUI/icons/jswindow/restore.png"))); // NOI18N
|
|||
|
backbtn.setToolTipText(Loc("JSeditor.restore"));
|
|||
|
backbtn.setBorder(null);
|
|||
|
backbtn.setContentAreaFilled(false);
|
|||
|
backbtn.setEnabled(false);
|
|||
|
backbtn.addActionListener(new java.awt.event.ActionListener() {
|
|||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|||
|
backbtnActionPerformed(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
backbtn.addKeyListener(new java.awt.event.KeyAdapter() {
|
|||
|
public void keyPressed(java.awt.event.KeyEvent evt) {
|
|||
|
backbtnKeyPressed(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
backbtn.addMouseListener(new java.awt.event.MouseAdapter() {
|
|||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
|||
|
backbtnMouseClicked(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
action_buttons.add(backbtn);
|
|||
|
|
|||
|
jPanel11.setFocusable(false);
|
|||
|
jPanel11.setMaximumSize(new java.awt.Dimension(10, 1));
|
|||
|
jPanel11.setMinimumSize(new java.awt.Dimension(10, 1));
|
|||
|
jPanel11.setOpaque(false);
|
|||
|
jPanel11.setPreferredSize(new java.awt.Dimension(10, 1));
|
|||
|
action_buttons.add(jPanel11);
|
|||
|
|
|||
|
openbtn3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/eric/GUI/icons/jswindow/run.png"))); // NOI18N
|
|||
|
openbtn3.setToolTipText(Loc("JSeditor.run"));
|
|||
|
openbtn3.setBorder(null);
|
|||
|
openbtn3.setContentAreaFilled(false);
|
|||
|
openbtn3.addActionListener(new java.awt.event.ActionListener() {
|
|||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|||
|
openbtn3ActionPerformed(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
openbtn3.addKeyListener(new java.awt.event.KeyAdapter() {
|
|||
|
public void keyPressed(java.awt.event.KeyEvent evt) {
|
|||
|
openbtn3KeyPressed(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
openbtn3.addMouseListener(new java.awt.event.MouseAdapter() {
|
|||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
|||
|
openbtn3MouseClicked(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
action_buttons.add(openbtn3);
|
|||
|
|
|||
|
jPanel12.setFocusable(false);
|
|||
|
jPanel12.setMaximumSize(new java.awt.Dimension(35, 1));
|
|||
|
jPanel12.setMinimumSize(new java.awt.Dimension(35, 1));
|
|||
|
jPanel12.setOpaque(false);
|
|||
|
jPanel12.setPreferredSize(new java.awt.Dimension(35, 1));
|
|||
|
action_buttons.add(jPanel12);
|
|||
|
|
|||
|
if (infrench) {openbtnfrench.setIcon(new javax.swing.ImageIcon(getClass().getResource("/eric/GUI/icons/jswindow/french.png"))); // NOI18N
|
|||
|
}
|
|||
|
else {
|
|||
|
openbtnfrench.setIcon(new javax.swing.ImageIcon(getClass().getResource("/eric/GUI/icons/jswindow/french2.png")));
|
|||
|
}
|
|||
|
openbtnfrench.setToolTipText(Loc("JSeditor.choseFrench"));
|
|||
|
openbtnfrench.setBorder(null);
|
|||
|
openbtnfrench.setContentAreaFilled(false);
|
|||
|
openbtnfrench.addActionListener(new java.awt.event.ActionListener() {
|
|||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|||
|
openbtnfrenchActionPerformed(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
openbtnfrench.addKeyListener(new java.awt.event.KeyAdapter() {
|
|||
|
public void keyPressed(java.awt.event.KeyEvent evt) {
|
|||
|
openbtnfrenchKeyPressed(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
openbtnfrench.addMouseListener(new java.awt.event.MouseAdapter() {
|
|||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
|||
|
openbtnfrenchMouseClicked(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
openbtnSimp.setIcon(new javax.swing.ImageIcon(getClass().getResource("/eric/GUI/icons/jswindow/js.png"))); // NOI18N
|
|||
|
openbtnSimp.setToolTipText(Loc("JSeditor.choseGenerator"));
|
|||
|
openbtnSimp.setBorder(null);
|
|||
|
openbtnSimp.setContentAreaFilled(false);
|
|||
|
openbtnSimp.addActionListener(new java.awt.event.ActionListener() {
|
|||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|||
|
openbtnSimpActionPerformed(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
openbtnSimp.addKeyListener(new java.awt.event.KeyAdapter() {
|
|||
|
public void keyPressed(java.awt.event.KeyEvent evt) {
|
|||
|
openbtnSimpKeyPressed(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
openbtnSimp.addMouseListener(new java.awt.event.MouseAdapter() {
|
|||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
|||
|
openbtnSimpMouseClicked(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
action_buttons.add(openbtnfrench);
|
|||
|
action_buttons.add(openbtnSimp);
|
|||
|
|
|||
|
openbtn4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/eric/GUI/icons/jswindow/help.png"))); // NOI18N
|
|||
|
openbtn4.setToolTipText(Loc("JSeditor.help"));
|
|||
|
openbtn4.setBorder(null);
|
|||
|
openbtn4.setContentAreaFilled(false);
|
|||
|
openbtn4.addActionListener(new java.awt.event.ActionListener() {
|
|||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|||
|
openbtn4ActionPerformed(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
openbtn4.addKeyListener(new java.awt.event.KeyAdapter() {
|
|||
|
public void keyPressed(java.awt.event.KeyEvent evt) {
|
|||
|
openbtn4KeyPressed(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
openbtn4.addMouseListener(new java.awt.event.MouseAdapter() {
|
|||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
|||
|
openbtn4MouseClicked(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
action_buttons.add(openbtn4);
|
|||
|
|
|||
|
jPanel2.add(action_buttons);
|
|||
|
|
|||
|
jPanel4.setAlignmentX(0.0F);
|
|||
|
jPanel4.setAlignmentY(0.0F);
|
|||
|
jPanel4.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
|
|||
|
jPanel4.setLayout(new javax.swing.BoxLayout(jPanel4, javax.swing.BoxLayout.X_AXIS));
|
|||
|
|
|||
|
jScrollPane1.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
|
|||
|
|
|||
|
script_area.setFont(new java.awt.Font("Monospaced", 0, 24));
|
|||
|
script_area.setCaretColor(new java.awt.Color(128, 64, 0));
|
|||
|
script_area.setCursor(new java.awt.Cursor(java.awt.Cursor.TEXT_CURSOR));
|
|||
|
script_area.setDisabledTextColor(new java.awt.Color(158, 150, 236));
|
|||
|
script_area.addKeyListener(new java.awt.event.KeyAdapter() {
|
|||
|
public void keyTyped(java.awt.event.KeyEvent evt) {
|
|||
|
script_areaKeyTyped(evt);
|
|||
|
}
|
|||
|
public void keyPressed(java.awt.event.KeyEvent evt) {
|
|||
|
script_areaKeyPressed(evt);
|
|||
|
}
|
|||
|
public void keyReleased(java.awt.event.KeyEvent evt) {
|
|||
|
script_areaKeyReleased(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
script_area.addMouseListener(new java.awt.event.MouseAdapter() {
|
|||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
|||
|
script_areaMouseClicked(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
jScrollPane1.setViewportView(script_area);
|
|||
|
|
|||
|
jPanel4.add(jScrollPane1);
|
|||
|
|
|||
|
jPanel2.add(jPanel4);
|
|||
|
|
|||
|
jPanel14.setAlignmentX(0.0F);
|
|||
|
jPanel14.setMaximumSize(new java.awt.Dimension(1, 2));
|
|||
|
jPanel14.setMinimumSize(new java.awt.Dimension(1, 2));
|
|||
|
jPanel14.setOpaque(false);
|
|||
|
jPanel14.setPreferredSize(new java.awt.Dimension(1, 2));
|
|||
|
jPanel14.setLayout(new javax.swing.BoxLayout(jPanel14, javax.swing.BoxLayout.LINE_AXIS));
|
|||
|
jPanel2.add(jPanel14);
|
|||
|
|
|||
|
jPanel1.add(jPanel2);
|
|||
|
|
|||
|
commands.setBackground(new java.awt.Color(204, 204, 255));
|
|||
|
commands.setFocusable(false);
|
|||
|
commands.setMaximumSize(new java.awt.Dimension(182, 98397));
|
|||
|
commands.setMinimumSize(new java.awt.Dimension(182, 0));
|
|||
|
commands.setOpaque(false);
|
|||
|
commands.setPreferredSize(new java.awt.Dimension(182, 460));
|
|||
|
commands.setLayout(new javax.swing.BoxLayout(commands, javax.swing.BoxLayout.Y_AXIS));
|
|||
|
|
|||
|
jLabel1.setBackground(new java.awt.Color(117, 112, 104));
|
|||
|
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
|
|||
|
jLabel1.setText("CaRMetal");
|
|||
|
jLabel1.setAlignmentX(0.5F);
|
|||
|
jLabel1.setEnabled(false);
|
|||
|
jLabel1.setFocusable(false);
|
|||
|
jLabel1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
|
|||
|
jLabel1.setIconTextGap(0);
|
|||
|
jLabel1.setMaximumSize(new java.awt.Dimension(182, 25));
|
|||
|
jLabel1.setMinimumSize(new java.awt.Dimension(182, 25));
|
|||
|
jLabel1.setPreferredSize(new java.awt.Dimension(182, 25));
|
|||
|
jLabel1.setRequestFocusEnabled(false);
|
|||
|
jLabel1.setVerifyInputWhenFocusTarget(false);
|
|||
|
commands.add(jLabel1);
|
|||
|
|
|||
|
c_carmetal.setBackground(new java.awt.Color(117, 112, 104));
|
|||
|
c_carmetal.setMaximumSize(new java.awt.Dimension(182, 260));
|
|||
|
c_carmetal.setMinimumSize(new java.awt.Dimension(182, 250));
|
|||
|
c_carmetal.setOpaque(false);
|
|||
|
c_carmetal.setPreferredSize(new java.awt.Dimension(182, 250));
|
|||
|
c_carmetal.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.CENTER, 3, 3));
|
|||
|
commands.add(c_carmetal);
|
|||
|
|
|||
|
c_js.setBackground(new java.awt.Color(117, 112, 104));
|
|||
|
c_js.setMaximumSize(new java.awt.Dimension(182, 374));
|
|||
|
c_js.setMinimumSize(new java.awt.Dimension(182, 260));
|
|||
|
c_js.setOpaque(false);
|
|||
|
c_js.setPreferredSize(new java.awt.Dimension(182, 260));
|
|||
|
c_js.setLayout(new javax.swing.BoxLayout(c_js, javax.swing.BoxLayout.Y_AXIS));
|
|||
|
|
|||
|
jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
|
|||
|
jLabel2.setText("Javascript");
|
|||
|
jLabel2.setAlignmentX(0.5F);
|
|||
|
jLabel2.setEnabled(false);
|
|||
|
jLabel2.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
|
|||
|
jLabel2.setIconTextGap(0);
|
|||
|
jLabel2.setMaximumSize(new java.awt.Dimension(182, 25));
|
|||
|
jLabel2.setMinimumSize(new java.awt.Dimension(182, 25));
|
|||
|
jLabel2.setPreferredSize(new java.awt.Dimension(182, 25));
|
|||
|
jLabel2.setRequestFocusEnabled(false);
|
|||
|
jLabel2.setVerifyInputWhenFocusTarget(false);
|
|||
|
c_js.add(jLabel2);
|
|||
|
|
|||
|
js_btns.setMaximumSize(new java.awt.Dimension(182, 120));
|
|||
|
js_btns.setMinimumSize(new java.awt.Dimension(182, 120));
|
|||
|
js_btns.setOpaque(false);
|
|||
|
js_btns.setPreferredSize(new java.awt.Dimension(182, 120));
|
|||
|
js_btns.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.CENTER, 3, 3));
|
|||
|
c_js.add(js_btns);
|
|||
|
|
|||
|
jScrollPane2.setBorder(javax.swing.BorderFactory.createEtchedBorder());
|
|||
|
jScrollPane2.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
|
|||
|
jScrollPane2.setAutoscrolls(true);
|
|||
|
jScrollPane2.setFont(new java.awt.Font("Lucida Grande", 0, 12));
|
|||
|
jScrollPane2.setMaximumSize(new java.awt.Dimension(160, 500));
|
|||
|
jScrollPane2.setMinimumSize(new java.awt.Dimension(160, 100));
|
|||
|
jScrollPane2.setPreferredSize(new java.awt.Dimension(160, 100));
|
|||
|
|
|||
|
JSlist.setBackground(new java.awt.Color(214, 221, 229));
|
|||
|
JSlist.setFont(new java.awt.Font("DejaVu Sans", 2, 16)); // NOI18N
|
|||
|
JSlist.setForeground(new java.awt.Color(150, 50, 50));
|
|||
|
JSlist.setModel(new javax.swing.AbstractListModel() {
|
|||
|
String[] strings = { Global.Loc("JSFonctions.Input"), Global.Loc("JSFonctions.Print"), Global.Loc("JSFonctions.Println"), Global.Loc("JSFonctions.Alert"), Global.Loc("JSFonctions.ifelse"), Global.Loc("JSFonctions.switchcase"), Global.Loc("JSFonctions.for"), Global.Loc("JSFonctions.while"), Global.Loc("JSFonctions.dowhile"), Global.Loc("JSFonctions.dountil"), Global.Loc("JSFonctions.function") };
|
|||
|
public int getSize() { return strings.length; }
|
|||
|
public Object getElementAt(int i) { return strings[i]; }
|
|||
|
});
|
|||
|
JSlist.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
|
|||
|
JSlist.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
|
|||
|
JSlist.setDragEnabled(true);
|
|||
|
JSlist.setFixedCellHeight(20);
|
|||
|
JSlist.setMaximumSize(new java.awt.Dimension(160, 415));
|
|||
|
JSlist.setMinimumSize(new java.awt.Dimension(160, 20));
|
|||
|
JSlist.setPreferredSize(new java.awt.Dimension(160, 220));
|
|||
|
JSlist.setRequestFocusEnabled(false);
|
|||
|
JSlist.setVisibleRowCount(-1);
|
|||
|
JSlist.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
|
|||
|
public void valueChanged(javax.swing.event.ListSelectionEvent evt) {
|
|||
|
JSlistValueChanged(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
jScrollPane2.setViewportView(JSlist);
|
|||
|
|
|||
|
c_js.add(jScrollPane2);
|
|||
|
|
|||
|
commands.add(c_js);
|
|||
|
|
|||
|
jPanel1.add(commands);
|
|||
|
|
|||
|
RightBorder.setMaximumSize(new java.awt.Dimension(5, 32767));
|
|||
|
RightBorder.setMinimumSize(new java.awt.Dimension(5, 0));
|
|||
|
RightBorder.setPreferredSize(new java.awt.Dimension(5, 515));
|
|||
|
RightBorder.setLayout(null);
|
|||
|
jPanel1.add(RightBorder);
|
|||
|
|
|||
|
getContentPane().add(jPanel1);
|
|||
|
|
|||
|
controls.setMaximumSize(new java.awt.Dimension(32000, 22));
|
|||
|
controls.setMinimumSize(new java.awt.Dimension(35, 22));
|
|||
|
controls.setPreferredSize(new java.awt.Dimension(35, 22));
|
|||
|
controls.setLayout(new javax.swing.BoxLayout(controls, javax.swing.BoxLayout.X_AXIS));
|
|||
|
|
|||
|
jPanel13.setAlignmentX(0.0F);
|
|||
|
jPanel13.setAlignmentY(0.0F);
|
|||
|
jPanel13.setMaximumSize(new java.awt.Dimension(10, 1));
|
|||
|
jPanel13.setMinimumSize(new java.awt.Dimension(10, 1));
|
|||
|
jPanel13.setOpaque(false);
|
|||
|
jPanel13.setPreferredSize(new java.awt.Dimension(10, 1));
|
|||
|
controls.add(jPanel13);
|
|||
|
|
|||
|
errorpanel.setAlignmentX(0.0F);
|
|||
|
errorpanel.setAlignmentY(0.0F);
|
|||
|
errorpanel.setMaximumSize(new java.awt.Dimension(32737, 32737));
|
|||
|
errorpanel.setMinimumSize(new java.awt.Dimension(0, 30));
|
|||
|
errorpanel.setOpaque(false);
|
|||
|
errorpanel.setPreferredSize(new java.awt.Dimension(0, 30));
|
|||
|
errorpanel.setLayout(new javax.swing.BoxLayout(errorpanel, javax.swing.BoxLayout.X_AXIS));
|
|||
|
|
|||
|
errortitlelabel.setBackground(new java.awt.Color(117, 112, 104));
|
|||
|
errortitlelabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/eric/GUI/icons/jswindow/error.png"))); // NOI18N
|
|||
|
errortitlelabel.setText("Error");
|
|||
|
errortitlelabel.setAlignmentY(0.0F);
|
|||
|
errortitlelabel.setIconTextGap(10);
|
|||
|
errortitlelabel.setMaximumSize(new java.awt.Dimension(250, 30));
|
|||
|
errortitlelabel.setMinimumSize(new java.awt.Dimension(250, 30));
|
|||
|
errortitlelabel.setPreferredSize(new java.awt.Dimension(250, 30));
|
|||
|
errorpanel.add(errortitlelabel);
|
|||
|
|
|||
|
errormessagelabel.setBackground(new java.awt.Color(117, 112, 104));
|
|||
|
errormessagelabel.setFont(new java.awt.Font("DejaVu Sans", 3, 13));
|
|||
|
errormessagelabel.setForeground(new java.awt.Color(102, 102, 102));
|
|||
|
errormessagelabel.setText("Error message");
|
|||
|
errormessagelabel.setAlignmentY(0.0F);
|
|||
|
errormessagelabel.setMaximumSize(new java.awt.Dimension(10000, 30));
|
|||
|
errormessagelabel.setMinimumSize(new java.awt.Dimension(300, 30));
|
|||
|
errormessagelabel.setPreferredSize(new java.awt.Dimension(300, 30));
|
|||
|
errorpanel.add(errormessagelabel);
|
|||
|
|
|||
|
controls.add(errorpanel);
|
|||
|
|
|||
|
jButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/eric/GUI/icons/themes/gray/zoombox.png"))); // NOI18N
|
|||
|
jButton2.setAlignmentY(0.0F);
|
|||
|
jButton2.setBorderPainted(false);
|
|||
|
jButton2.setContentAreaFilled(false);
|
|||
|
jButton2.setMaximumSize(new java.awt.Dimension(25, 30));
|
|||
|
jButton2.setMinimumSize(new java.awt.Dimension(25, 30));
|
|||
|
jButton2.setPreferredSize(new java.awt.Dimension(25, 30));
|
|||
|
jButton2.addMouseListener(new java.awt.event.MouseAdapter() {
|
|||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
|||
|
jButton2MouseClicked(evt);
|
|||
|
}
|
|||
|
public void mousePressed(java.awt.event.MouseEvent evt) {
|
|||
|
jButton2MousePressed(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
jButton2.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
|
|||
|
public void mouseDragged(java.awt.event.MouseEvent evt) {
|
|||
|
jButton2MouseDragged(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
jButton2.addActionListener(new java.awt.event.ActionListener() {
|
|||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|||
|
jButton2ActionPerformed(evt);
|
|||
|
}
|
|||
|
});
|
|||
|
controls.add(jButton2);
|
|||
|
|
|||
|
getContentPane().add(controls);
|
|||
|
|
|||
|
pack();
|
|||
|
}// </editor-fold>//GEN-END:initComponents
|
|||
|
|
|||
|
private void script_areaKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_script_areaKeyReleased
|
|||
|
// syntaxColoring(); // TODO add your handling code here:
|
|||
|
// if (evt.getKeyCode()==KeyEvent.VK_ENTER) {
|
|||
|
// FindDelimiters();
|
|||
|
// int c=script_area.getCaretPosition();
|
|||
|
// int t=tabIndent(c);
|
|||
|
// script_area.replaceSelection(tabs(t));
|
|||
|
//
|
|||
|
//// script_area.setCaretPosition(c-t);
|
|||
|
// }
|
|||
|
}//GEN-LAST:event_script_areaKeyReleased
|
|||
|
|
|||
|
private void script_areaKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_script_areaKeyPressed
|
|||
|
// TODO add your handling code here:
|
|||
|
NoTypeNoClic=false;
|
|||
|
// errorpanel.removeAll();
|
|||
|
|
|||
|
|
|||
|
}//GEN-LAST:event_script_areaKeyPressed
|
|||
|
|
|||
|
private void script_areaKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_script_areaKeyTyped
|
|||
|
// errorpanel.removeAll(); // TODO add your handling code here:
|
|||
|
clearStatusBar();
|
|||
|
}//GEN-LAST:event_script_areaKeyTyped
|
|||
|
|
|||
|
private void script_areaMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_script_areaMouseClicked
|
|||
|
NoTypeNoClic=false; // TODO add your handling code here:
|
|||
|
clearStatusBar();
|
|||
|
}//GEN-LAST:event_script_areaMouseClicked
|
|||
|
|
|||
|
private void closeBTNMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_closeBTNMouseClicked
|
|||
|
dispose();
|
|||
|
}//GEN-LAST:event_closeBTNMouseClicked
|
|||
|
|
|||
|
private void macpanelMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_macpanelMousePressed
|
|||
|
origin=MouseInfo.getPointerInfo().getLocation();
|
|||
|
winloc=getLocation();
|
|||
|
// TODO add your handling code here:
|
|||
|
}//GEN-LAST:event_macpanelMousePressed
|
|||
|
|
|||
|
private void jPanel3MousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jPanel3MousePressed
|
|||
|
origin=MouseInfo.getPointerInfo().getLocation();
|
|||
|
winloc=getLocation();
|
|||
|
// TODO add your handling code here:
|
|||
|
}//GEN-LAST:event_jPanel3MousePressed
|
|||
|
|
|||
|
private void jPanel3MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jPanel3MouseDragged
|
|||
|
current=MouseInfo.getPointerInfo().getLocation();
|
|||
|
xx=winloc.x+current.x-origin.x;
|
|||
|
yy=winloc.y+current.y-origin.y;
|
|||
|
|
|||
|
setLocation(xx, yy);
|
|||
|
Toolkit.getDefaultToolkit().sync();
|
|||
|
// TODO add your handling code here:
|
|||
|
}//GEN-LAST:event_jPanel3MouseDragged
|
|||
|
|
|||
|
private void macpanelMouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_macpanelMouseDragged
|
|||
|
current=MouseInfo.getPointerInfo().getLocation();
|
|||
|
xx=winloc.x+current.x-origin.x;
|
|||
|
yy=winloc.y+current.y-origin.y;
|
|||
|
|
|||
|
setLocation(xx, yy);
|
|||
|
Toolkit.getDefaultToolkit().sync();
|
|||
|
// TODO add your handling code here:
|
|||
|
}//GEN-LAST:event_macpanelMouseDragged
|
|||
|
|
|||
|
private void winpanelMouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_winpanelMouseDragged
|
|||
|
current=MouseInfo.getPointerInfo().getLocation();
|
|||
|
xx=winloc.x+current.x-origin.x;
|
|||
|
yy=winloc.y+current.y-origin.y;
|
|||
|
|
|||
|
setLocation(xx, yy);
|
|||
|
Toolkit.getDefaultToolkit().sync();
|
|||
|
// TODO add your handling code here:
|
|||
|
}//GEN-LAST:event_winpanelMouseDragged
|
|||
|
|
|||
|
private void winpanelMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_winpanelMousePressed
|
|||
|
origin=MouseInfo.getPointerInfo().getLocation();
|
|||
|
winloc=getLocation();
|
|||
|
// TODO add your handling code here:
|
|||
|
}//GEN-LAST:event_winpanelMousePressed
|
|||
|
|
|||
|
private void jButton2MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton2MouseClicked
|
|||
|
// TODO add your handling code here:
|
|||
|
}//GEN-LAST:event_jButton2MouseClicked
|
|||
|
|
|||
|
private void jButton2MousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton2MousePressed
|
|||
|
origin=MouseInfo.getPointerInfo().getLocation();
|
|||
|
winloc=getLocation();
|
|||
|
w=this.getWidth();
|
|||
|
h=this.getHeight();
|
|||
|
// TODO add your handling code here:
|
|||
|
}//GEN-LAST:event_jButton2MousePressed
|
|||
|
|
|||
|
private void jButton2MouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton2MouseDragged
|
|||
|
current=MouseInfo.getPointerInfo().getLocation();
|
|||
|
|
|||
|
setSize(Math.max(current.x-origin.x+w, 40), Math.max(current.y-origin.y+h, 120));
|
|||
|
Toolkit.getDefaultToolkit().sync();
|
|||
|
// TODO add your handling code here:
|
|||
|
}//GEN-LAST:event_jButton2MouseDragged
|
|||
|
|
|||
|
private void JSlistValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_JSlistValueChanged
|
|||
|
//infrench = System.getProperty("user.language").equals("fr");
|
|||
|
String scp=script_area.getText();
|
|||
|
if (evt.getValueIsAdjusting()==false) {
|
|||
|
int sel=JSlist.getSelectedIndex();
|
|||
|
JSlist.removeSelectionInterval(sel, sel);
|
|||
|
if (sel==0) {
|
|||
|
if (pseudoCode){
|
|||
|
if (infrench) {
|
|||
|
script_area.replaceSelection("a ⟵ Entrée(\""+Loc("JScmd.inputmessage")+"\")");
|
|||
|
}
|
|||
|
else {
|
|||
|
script_area.replaceSelection("a ⟵ Input(\""+Loc("JScmd.inputmessage")+"\")");
|
|||
|
}
|
|||
|
}
|
|||
|
else {
|
|||
|
if (infrench) {
|
|||
|
if (FlagSimp) {
|
|||
|
script_area.replaceSelection("a:=Entrée(\""+Loc("JScmd.inputmessage")+"\");");
|
|||
|
}
|
|||
|
else {
|
|||
|
script_area.replaceSelection("a=Entrée(\""+Loc("JScmd.inputmessage")+"\");");
|
|||
|
}
|
|||
|
}
|
|||
|
else {
|
|||
|
if (FlagSimp) {
|
|||
|
script_area.replaceSelection("a:=Input(\""+Loc("JScmd.inputmessage")+"\");");
|
|||
|
}
|
|||
|
else {
|
|||
|
script_area.replaceSelection("a=Input(\""+Loc("JScmd.inputmessage")+"\");");
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
} else if (sel==1) {
|
|||
|
if (pseudoCode){
|
|||
|
if (infrench) {
|
|||
|
script_area.replaceSelection("Afficher \""+Loc("JScmd.promptmessage")+"\"");
|
|||
|
}
|
|||
|
else {
|
|||
|
script_area.replaceSelection("Print(\""+Loc("JScmd.promptmessage")+"\")");
|
|||
|
}
|
|||
|
}
|
|||
|
else {
|
|||
|
if (infrench) {
|
|||
|
script_area.replaceSelection("Afficher(\""+Loc("JScmd.promptmessage")+"\");");
|
|||
|
}
|
|||
|
else {
|
|||
|
script_area.replaceSelection("Print(\""+Loc("JScmd.promptmessage")+"\");");
|
|||
|
}
|
|||
|
}
|
|||
|
} else if (sel==2) {
|
|||
|
if (pseudoCode){
|
|||
|
if (infrench) {
|
|||
|
script_area.replaceSelection("Afficherligne(\""+Loc("JScmd.promptmessage")+"\")");
|
|||
|
}
|
|||
|
else {
|
|||
|
script_area.replaceSelection("Println(\""+Loc("JScmd.promptmessage")+"\")");
|
|||
|
}
|
|||
|
}
|
|||
|
else {
|
|||
|
if (infrench) {
|
|||
|
script_area.replaceSelection("Afficherligne(\""+Loc("JScmd.promptmessage")+"\");");
|
|||
|
}
|
|||
|
else {
|
|||
|
script_area.replaceSelection("Println(\""+Loc("JScmd.promptmessage")+"\");");
|
|||
|
}
|
|||
|
}
|
|||
|
} else if (sel==3) {
|
|||
|
if (pseudoCode){
|
|||
|
if (infrench) {
|
|||
|
script_area.replaceSelection("Alerte(\""+Loc("JScmd.promptmessage")+"\")");
|
|||
|
}
|
|||
|
else {
|
|||
|
script_area.replaceSelection("Alert(\""+Loc("JScmd.promptmessage")+"\")");
|
|||
|
}
|
|||
|
}
|
|||
|
else{
|
|||
|
if (infrench) {
|
|||
|
script_area.replaceSelection("Alerte(\""+Loc("JScmd.promptmessage")+"\");");
|
|||
|
}
|
|||
|
else {
|
|||
|
script_area.replaceSelection("Alert(\""+Loc("JScmd.promptmessage")+"\");");
|
|||
|
}
|
|||
|
}
|
|||
|
} else if (sel==4) {
|
|||
|
if (pseudoCode){
|
|||
|
if (infrench) {
|
|||
|
script_area.replaceSelection("si i<20 \n ...\nsinon \n ...");
|
|||
|
}
|
|||
|
else {
|
|||
|
script_area.replaceSelection("if i<20 \n ...\nelse \n ...");
|
|||
|
}
|
|||
|
}
|
|||
|
else {
|
|||
|
if (infrench) {
|
|||
|
script_area.replaceSelection("si (i<20){\n\n} sinon {\n\n}");
|
|||
|
}
|
|||
|
else {
|
|||
|
script_area.replaceSelection("if (i<20){\n\n} else {\n\n}");
|
|||
|
}
|
|||
|
}
|
|||
|
} else if (sel==5) {
|
|||
|
if (pseudoCode){
|
|||
|
if (infrench) {
|
|||
|
script_area.replaceSelection("si i<20 \n ...\nsinon \n si i<5 \n ...\n sinon \n ...");
|
|||
|
}
|
|||
|
else {
|
|||
|
script_area.replaceSelection("if i<20 \n ...\nelse \n if i<5 \n ...\n else \n ...");
|
|||
|
}
|
|||
|
}
|
|||
|
else {
|
|||
|
if (infrench) {
|
|||
|
script_area.replaceSelection("bifurquer (d){\n "
|
|||
|
+"cas 1 : {\n\n rompre; }\n cas 2 : {\n\n rompre; }\n"
|
|||
|
+"cas 3 : {\n\n rompre;} \n par défaut : {\n\n } \n} ");
|
|||
|
}
|
|||
|
else {
|
|||
|
script_area.replaceSelection("switch (d){\n "
|
|||
|
+"case 1 : {\n\n break; }\n case 2 : {\n\n break; }\n"
|
|||
|
+"case 3 : {\n\n break;} \n par default : {\n\n } \n} ");
|
|||
|
}
|
|||
|
}
|
|||
|
} else if (sel==6) {
|
|||
|
if (pseudoCode){
|
|||
|
if (infrench) {
|
|||
|
if (FlagSimp) {
|
|||
|
script_area.replaceSelection("répéter 20 fois \n ...");
|
|||
|
}
|
|||
|
else {
|
|||
|
script_area.replaceSelection("pour i allant de 1 à 20 \n ...");
|
|||
|
}
|
|||
|
}
|
|||
|
else {
|
|||
|
if (FlagSimp) {
|
|||
|
script_area.replaceSelection("repeat 20 times \n ...");
|
|||
|
}
|
|||
|
else {
|
|||
|
script_area.replaceSelection("for (i ⟵ 0; i<20; i++) \n ...");
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else {
|
|||
|
if (infrench) {
|
|||
|
if (FlagSimp) {
|
|||
|
script_area.replaceSelection("répéter 20 fois {\n\n}");
|
|||
|
}
|
|||
|
else {
|
|||
|
script_area.replaceSelection("pour i allant de 1 à 20 {\n\n}");
|
|||
|
}
|
|||
|
}
|
|||
|
else {
|
|||
|
if (FlagSimp) {
|
|||
|
script_area.replaceSelection("repeat 20 times {\n\n}");
|
|||
|
}
|
|||
|
else {
|
|||
|
script_area.replaceSelection("for (i=0; i<20; i++){\n\n}");
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
} else if (sel==7) {
|
|||
|
if (pseudoCode){
|
|||
|
if (infrench) {
|
|||
|
script_area.replaceSelection("tant que (i<20)\n ...\n i ⟵ i+1");
|
|||
|
}
|
|||
|
else {
|
|||
|
script_area.replaceSelection("while (i<20)\n ...\n i ⟵ i+1");
|
|||
|
}
|
|||
|
}
|
|||
|
else {
|
|||
|
if (infrench) {
|
|||
|
if (FlagSimp) {
|
|||
|
script_area.replaceSelection("tant que (i<20){\ni:=i+1;\n}\n");
|
|||
|
}
|
|||
|
else {
|
|||
|
script_area.replaceSelection("tant que (i<20){\ni=i+1;\n}\n");
|
|||
|
}
|
|||
|
}
|
|||
|
else {
|
|||
|
if (FlagSimp) {
|
|||
|
script_area.replaceSelection("while (i<20){\ni:=i+1;\n}\n");
|
|||
|
}
|
|||
|
else {
|
|||
|
script_area.replaceSelection("while (i<20){\ni=i+1;\n}\n");
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
} else if(sel==8) {
|
|||
|
if (pseudoCode){
|
|||
|
if (infrench) {
|
|||
|
script_area.replaceSelection("faire\n ...\n i ⟵ i+1\ntant que (i<20)\n");
|
|||
|
}
|
|||
|
else {
|
|||
|
script_area.replaceSelection("do\n ...\n i ⟵ i+1\nwhile (i<20)\n");
|
|||
|
}
|
|||
|
}
|
|||
|
else {
|
|||
|
if (infrench) {
|
|||
|
if (FlagSimp) {
|
|||
|
script_area.replaceSelection("faire{\ni:=i+1;\n\n}tant que (i<20)\n");
|
|||
|
}
|
|||
|
else {
|
|||
|
script_area.replaceSelection("faire{\ni=i+1;\n\n}tant que (i<20)\n");
|
|||
|
}
|
|||
|
}
|
|||
|
else {
|
|||
|
if (FlagSimp) {
|
|||
|
script_area.replaceSelection("do{\ni:=i+1;\n\n}while (i<20)\n");
|
|||
|
}
|
|||
|
else {
|
|||
|
script_area.replaceSelection("do{\ni=i+1;\n\n}while (i<20)\n");
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
} else if(sel==9) {
|
|||
|
if (pseudoCode){
|
|||
|
if (infrench) {
|
|||
|
script_area.replaceSelection("faire\n ...\n i ⟵ i+1\njusqu'à (i>20)\n");
|
|||
|
}
|
|||
|
else {
|
|||
|
script_area.replaceSelection("do\n ...\n i ⟵ i+1\nuntil (i>20)\n");
|
|||
|
}
|
|||
|
}
|
|||
|
else {
|
|||
|
if (infrench) {
|
|||
|
if (FlagSimp) {
|
|||
|
script_area.replaceSelection("faire{\ni:=i+1;\n\n}jusqu'à (i>20);\n");
|
|||
|
}
|
|||
|
else {
|
|||
|
script_area.replaceSelection("faire{\ni=i+1;\n\n}jusqu'à (i>20);\n");
|
|||
|
}
|
|||
|
}
|
|||
|
else {
|
|||
|
if (FlagSimp) {
|
|||
|
script_area.replaceSelection("do{\ni:=i+1;\n\n}until (i>20);\n");
|
|||
|
}
|
|||
|
else {
|
|||
|
script_area.replaceSelection("do{\ni=i+1;\n\n}until (i>20);\n");
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
} else if (sel==10) {
|
|||
|
if (pseudoCode){
|
|||
|
if (infrench) {
|
|||
|
script_area.replaceSelection("fonction mafonction(x)\n ...");
|
|||
|
}
|
|||
|
else {
|
|||
|
script_area.replaceSelection("function myfunction(x)\n ...");
|
|||
|
}
|
|||
|
}
|
|||
|
else {
|
|||
|
if (infrench) {
|
|||
|
script_area.replaceSelection("fonction myfunction(x){\n\n}");
|
|||
|
}
|
|||
|
else {
|
|||
|
script_area.replaceSelection("function myfunction(x){\n\n}");
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
//Format();
|
|||
|
script_area.requestFocus();
|
|||
|
}
|
|||
|
// TODO add your handling code here:
|
|||
|
}//GEN-LAST:event_JSlistValueChanged
|
|||
|
|
|||
|
private void formWindowClosed(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosed
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
// TODO add your handling code here:
|
|||
|
}//GEN-LAST:event_formWindowClosed
|
|||
|
|
|||
|
private void formWindowActivated(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowActivated
|
|||
|
// System.out.println("activated"); // TODO add your handling code here:
|
|||
|
}//GEN-LAST:event_formWindowActivated
|
|||
|
|
|||
|
private void formWindowDeactivated(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowDeactivated
|
|||
|
// System.out.println("déactivated"); // TODO add your handling code here:
|
|||
|
}//GEN-LAST:event_formWindowDeactivated
|
|||
|
|
|||
|
private void backbtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_backbtnActionPerformed
|
|||
|
// TODO add your handling code here:
|
|||
|
}//GEN-LAST:event_backbtnActionPerformed
|
|||
|
|
|||
|
private void backbtnKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_backbtnKeyPressed
|
|||
|
// TODO add your handling code here:
|
|||
|
}//GEN-LAST:event_backbtnKeyPressed
|
|||
|
|
|||
|
private void backbtnMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_backbtnMouseClicked
|
|||
|
// TODO add your handling code here:
|
|||
|
clearStatusBar();
|
|||
|
ITEM.getPanel().Restore();
|
|||
|
}//GEN-LAST:event_backbtnMouseClicked
|
|||
|
|
|||
|
private void openbtn2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_openbtn2ActionPerformed
|
|||
|
// TODO add your handling code here:
|
|||
|
}//GEN-LAST:event_openbtn2ActionPerformed
|
|||
|
|
|||
|
private void openbtn2KeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_openbtn2KeyPressed
|
|||
|
// TODO add your handling code here:
|
|||
|
}//GEN-LAST:event_openbtn2KeyPressed
|
|||
|
|
|||
|
private void openbtn2MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_openbtn2MouseClicked
|
|||
|
// TODO add your handling code here:
|
|||
|
clearStatusBar();
|
|||
|
Format();
|
|||
|
syntaxColoring();
|
|||
|
}//GEN-LAST:event_openbtn2MouseClicked
|
|||
|
|
|||
|
private void openbtn3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_openbtn3ActionPerformed
|
|||
|
// TODO add your handling code here:
|
|||
|
}//GEN-LAST:event_openbtn3ActionPerformed
|
|||
|
|
|||
|
private void openbtn3KeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_openbtn3KeyPressed
|
|||
|
// TODO add your handling code here:
|
|||
|
}//GEN-LAST:event_openbtn3KeyPressed
|
|||
|
|
|||
|
private void openbtn3MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_openbtn3MouseClicked
|
|||
|
// TODO add your handling code here:
|
|||
|
clearStatusBar();
|
|||
|
ITEM.runScript();
|
|||
|
}//GEN-LAST:event_openbtn3MouseClicked
|
|||
|
|
|||
|
private void openbtn4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_openbtn4ActionPerformed
|
|||
|
// TODO add your handling code here:
|
|||
|
}//GEN-LAST:event_openbtn4ActionPerformed
|
|||
|
|
|||
|
private void openbtn4KeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_openbtn4KeyPressed
|
|||
|
// TODO add your handling code here:
|
|||
|
}//GEN-LAST:event_openbtn4KeyPressed
|
|||
|
|
|||
|
private void openbtn4MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_openbtn4MouseClicked
|
|||
|
// TODO add your handling code here:
|
|||
|
// setAlwaysOnTop(true);
|
|||
|
JBrowserLauncher.openURL("http://carmetal.org/index.php/fr/tutoriels/les-scripts/syntaxe");
|
|||
|
//setAlwaysOnTop(false);
|
|||
|
toFront();
|
|||
|
|
|||
|
}//GEN-LAST:event_openbtn4MouseClicked
|
|||
|
|
|||
|
private void formWindowClosing(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosing
|
|||
|
// TODO add your handling code here:
|
|||
|
}//GEN-LAST:event_formWindowClosing
|
|||
|
|
|||
|
private void openbtn5ActionPerformed(java.awt.event.ActionEvent evt) {
|
|||
|
// TODO add your handling code here:
|
|||
|
}
|
|||
|
|
|||
|
private void openbtn5KeyPressed(java.awt.event.KeyEvent evt) {
|
|||
|
// TODO add your handling code here:
|
|||
|
}
|
|||
|
|
|||
|
private void openbtn5MouseClicked(java.awt.event.MouseEvent evt) {
|
|||
|
// TODO add your handling code here:
|
|||
|
commentSelection();
|
|||
|
}
|
|||
|
|
|||
|
private void openbtnfrenchActionPerformed(java.awt.event.ActionEvent evt) {
|
|||
|
// TODO add your handling code here:
|
|||
|
}
|
|||
|
|
|||
|
private void openbtnfrenchKeyPressed(java.awt.event.KeyEvent evt) {
|
|||
|
// TODO add your handling code here:
|
|||
|
}
|
|||
|
|
|||
|
private void openbtnfrenchMouseClicked(java.awt.event.MouseEvent evt) {
|
|||
|
// TODO add your handling code here:
|
|||
|
infrench=!infrench;
|
|||
|
if (infrench) openbtnfrench.setIcon(new javax.swing.ImageIcon(getClass().getResource("/eric/GUI/icons/jswindow/french.png")));
|
|||
|
else openbtnfrench.setIcon(new javax.swing.ImageIcon(getClass().getResource("/eric/GUI/icons/jswindow/french2.png")));
|
|||
|
openbtnfrench.setBorder(null);
|
|||
|
openbtnfrench.setContentAreaFilled(false);
|
|||
|
c_carmetal.removeAll();
|
|||
|
initCaRMetalBtns();
|
|||
|
openbtnfrench.revalidate();
|
|||
|
c_carmetal.revalidate();
|
|||
|
}
|
|||
|
|
|||
|
private void openbtnSimpActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_openbtn5ActionPerformed
|
|||
|
// TODO add your handling code here:
|
|||
|
}//GEN-LAST:event_openbtn5ActionPerformed
|
|||
|
|
|||
|
private void openbtnSimpKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_openbtn5KeyPressed
|
|||
|
// TODO add your handling code here:
|
|||
|
}//GEN-LAST:event_openbtn5KeyPressed
|
|||
|
|
|||
|
private void openbtnSimpMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_openbtn5MouseClicked
|
|||
|
// TODO add your handling code here:
|
|||
|
FlagSimp=!FlagSimp;
|
|||
|
if (FlagSimp) openbtnSimp.setIcon(new javax.swing.ImageIcon(getClass().getResource("/eric/GUI/icons/jswindow/js2.png")));
|
|||
|
else openbtnSimp.setIcon(new javax.swing.ImageIcon(getClass().getResource("/eric/GUI/icons/jswindow/js.png")));
|
|||
|
openbtnSimp.setBorder(null);
|
|||
|
openbtnSimp.setContentAreaFilled(false);
|
|||
|
c_carmetal.removeAll();
|
|||
|
initCaRMetalBtns();
|
|||
|
openbtnSimp.revalidate();
|
|||
|
c_carmetal.revalidate();
|
|||
|
}//GEN-LAST:event_openbtn5MouseClicked
|
|||
|
|
|||
|
private void jTextHeightStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_jTextHeightStateChanged
|
|||
|
// TODO add your handling code here:
|
|||
|
clearStatusBar();
|
|||
|
script_area.setFont(new Font("monospaced", Font.PLAIN, TailleTexte));//taille script
|
|||
|
TailleTexte=jTextHeight.getValue();
|
|||
|
}//GEN-LAST:event_jTextHeightStateChanged
|
|||
|
|
|||
|
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
|
|||
|
// TODO add your handling code here:
|
|||
|
}//GEN-LAST:event_jButton2ActionPerformed
|
|||
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
|||
|
private javax.swing.JList JSlist;
|
|||
|
private javax.swing.JPanel LeftBorder;
|
|||
|
private javax.swing.JPanel RightBorder;
|
|||
|
private javax.swing.JPanel action_buttons;
|
|||
|
private javax.swing.JButton backbtn;
|
|||
|
private javax.swing.JPanel c_carmetal;
|
|||
|
private javax.swing.JPanel c_js;
|
|||
|
private javax.swing.JButton closeBTN;
|
|||
|
private javax.swing.JPanel commands;
|
|||
|
private javax.swing.JPanel controls;
|
|||
|
private javax.swing.JLabel errormessagelabel;
|
|||
|
private javax.swing.JPanel errorpanel;
|
|||
|
private javax.swing.JLabel errortitlelabel;
|
|||
|
private javax.swing.JButton jButton2;
|
|||
|
private javax.swing.JLabel jLabel1;
|
|||
|
private javax.swing.JLabel jLabel2;
|
|||
|
private javax.swing.JPanel jPanel1;
|
|||
|
private javax.swing.JPanel jPanel10;
|
|||
|
private javax.swing.JPanel jPanel11;
|
|||
|
private javax.swing.JPanel jPanel12;
|
|||
|
private javax.swing.JPanel jPanel13;
|
|||
|
private javax.swing.JPanel jPanel14;
|
|||
|
private javax.swing.JPanel jPanel15;
|
|||
|
private javax.swing.JPanel jPanel16;
|
|||
|
private javax.swing.JPanel jPanel18;
|
|||
|
private javax.swing.JPanel jPanel2;
|
|||
|
private javax.swing.JPanel jPanel3;
|
|||
|
private javax.swing.JPanel jPanel4;
|
|||
|
private javax.swing.JScrollPane jScrollPane1;
|
|||
|
private javax.swing.JScrollPane jScrollPane2;
|
|||
|
private javax.swing.JSlider jTextHeight;
|
|||
|
private javax.swing.JPanel js_btns;
|
|||
|
private javax.swing.JPanel macpanel;
|
|||
|
private javax.swing.JButton openbtn2;
|
|||
|
private javax.swing.JButton openbtn3;
|
|||
|
private javax.swing.JButton openbtn4;
|
|||
|
private javax.swing.JButton openbtn5;
|
|||
|
private javax.swing.JButton openbtnfrench;
|
|||
|
private javax.swing.JButton openbtnSimp;
|
|||
|
private javax.swing.JTextPane script_area;
|
|||
|
private javax.swing.JLabel title_lbl;
|
|||
|
private javax.swing.JPanel winpanel;
|
|||
|
// End of variables declaration//GEN-END:variables
|
|||
|
}
|