Résolution tickets #4 #22 Enregistrement projet et modificateurs

This commit is contained in:
2020-12-09 12:48:52 +01:00
parent 3c053fb45f
commit a91a242710
78 changed files with 3754 additions and 2258 deletions

View File

@@ -19,11 +19,11 @@ public class ClassPropertiesWindow extends JFrame {
private JTextField _nameField;
private JTable _attributesTable;
private JScrollPane _scrollAttributes;
private String[] _attributesColumns = {"Name", "Access modifier", "Type"};
private String[] _attributesColumns = {"Name", "Access modifier", "Type", "Static", "Final", "Abstract", "Synchronised", "Volatile", "Transient"};
private DefaultTableModel _attributeModel;
private JTable _methodsTable;
private JScrollPane _scrollMethods;
private String[] _methodsColumns = {"Name", "Access modifier", "Type", "Arguments"};
private String[] _methodsColumns = {"Name", "Access modifier", "Type", "Arguments", "Static", "Final", "Abstract", "Synchronised", "Volatile", "Transient"};
private DefaultTableModel _methodModel;
@@ -170,6 +170,7 @@ public class ClassPropertiesWindow extends JFrame {
/**
* Ouvre une fenêtre d'édition des arguments pour la méthode sélectionnée
* @param m La méthode dans laquelle seront modifiés les arguments.
*/
public void openArgumentsWindow(Method m){
ArgumentsPropertiesWindow argsWin = new ArgumentsPropertiesWindow(this, _umlDiagram, m);
@@ -221,7 +222,7 @@ public class ClassPropertiesWindow extends JFrame {
access = "PROTECTED";
break;
}
_attributeModel.addRow(new Object[]{attr.getName(), access, attr.getType()});
_attributeModel.addRow(new Object[]{attr.getName(), access, attr.getType(), attr.isStatic(), attr.isFinal(), attr.isAbstract(), attr.isSynchronized(), attr.isVolatile(), attr.isTransient()});
}
//On ajoute les contrôles pour chaque colonne
JComboBox accessComboBox = new JComboBox();
@@ -245,6 +246,25 @@ public class ClassPropertiesWindow extends JFrame {
typeComboBox.addItem("String");
TableColumn typeColumn = _attributesTable.getColumn(_attributesColumns[2]);
typeColumn.setCellEditor(new DefaultCellEditor(typeComboBox));
JCheckBox staticComboBox = new JCheckBox();
TableColumn staticColumn = _attributesTable.getColumn(_attributesColumns[3]);
staticColumn.setCellEditor(new DefaultCellEditor(staticComboBox));
JCheckBox finalComboBox = new JCheckBox();
TableColumn finalColumn = _attributesTable.getColumn(_attributesColumns[4]);
finalColumn.setCellEditor(new DefaultCellEditor(finalComboBox));
JCheckBox abstractComboBox = new JCheckBox();
TableColumn abstractColumn = _attributesTable.getColumn(_attributesColumns[5]);
abstractColumn.setCellEditor(new DefaultCellEditor(abstractComboBox));
JCheckBox synchronizedComboBox = new JCheckBox();
TableColumn synchronizedColumn = _attributesTable.getColumn(_attributesColumns[6]);
synchronizedColumn.setCellEditor(new DefaultCellEditor(synchronizedComboBox));
JCheckBox volatileComboBox = new JCheckBox();
TableColumn volatileColumn = _attributesTable.getColumn(_attributesColumns[7]);
volatileColumn.setCellEditor(new DefaultCellEditor(volatileComboBox));
JCheckBox transientComboBox = new JCheckBox();
TableColumn transientColumn = _attributesTable.getColumn(_attributesColumns[8]);
transientColumn.setCellEditor(new DefaultCellEditor(transientComboBox));
}
/**
@@ -285,7 +305,7 @@ public class ClassPropertiesWindow extends JFrame {
access = "PROTECTED";
break;
}
_methodModel.addRow(new Object[]{meth.getName(), access, meth.getType(), "..."});
_methodModel.addRow(new Object[]{meth.getName(), access, meth.getType(), "...", meth.isStatic(), meth.isFinal(), meth.isAbstract(), meth.isSynchronized(), meth.isVolatile(), meth.isTransient()});
}
//On ajoute les contrôles pour chaque colonne
JComboBox accessComboBox = new JComboBox();
@@ -314,6 +334,25 @@ public class ClassPropertiesWindow extends JFrame {
argsField.setEnabled(false);
TableColumn argColumn = _methodsTable.getColumn(_methodsColumns[3]);
argColumn.setCellEditor(new DefaultCellEditor(argsField));
JCheckBox staticComboBox = new JCheckBox();
TableColumn staticColumn = _methodsTable.getColumn(_methodsColumns[4]);
staticColumn.setCellEditor(new DefaultCellEditor(staticComboBox));
JCheckBox finalComboBox = new JCheckBox();
TableColumn finalColumn = _methodsTable.getColumn(_methodsColumns[5]);
finalColumn.setCellEditor(new DefaultCellEditor(finalComboBox));
JCheckBox abstractComboBox = new JCheckBox();
TableColumn abstractColumn = _methodsTable.getColumn(_methodsColumns[6]);
abstractColumn.setCellEditor(new DefaultCellEditor(abstractComboBox));
JCheckBox synchronizedComboBox = new JCheckBox();
TableColumn synchronizedColumn = _methodsTable.getColumn(_methodsColumns[7]);
synchronizedColumn.setCellEditor(new DefaultCellEditor(synchronizedComboBox));
JCheckBox volatileComboBox = new JCheckBox();
TableColumn volatileColumn = _methodsTable.getColumn(_methodsColumns[8]);
volatileColumn.setCellEditor(new DefaultCellEditor(volatileComboBox));
JCheckBox transientComboBox = new JCheckBox();
TableColumn transientColumn = _methodsTable.getColumn(_methodsColumns[9]);
transientColumn.setCellEditor(new DefaultCellEditor(transientComboBox));
}
@@ -340,8 +379,14 @@ public class ClassPropertiesWindow extends JFrame {
_class.getAttributes().get(i).setAccess(Attribute.PROTECTED);
break;
}
_class.getAttributes().get(i).setType(vect.get(2).toString());
_class.getAttributes().get(i).setName(vect.get(0).toString());
_class.getAttributes().get(i).setType(vect.get(2).toString());
_class.getAttributes().get(i).setStatic((boolean) vect.get(3));
_class.getAttributes().get(i).setFinal((boolean) vect.get(4));
_class.getAttributes().get(i).setAbstract((boolean) vect.get(5));
_class.getAttributes().get(i).setSynchronized((boolean) vect.get(6));
_class.getAttributes().get(i).setVolatile((boolean) vect.get(7));
_class.getAttributes().get(i).setTransient((boolean) vect.get(8));
}
//Enregistrement des méthodes
_methodsTable.editCellAt(0,0);
@@ -359,8 +404,14 @@ public class ClassPropertiesWindow extends JFrame {
_class.getMethods().get(i).setAccess(Method.PROTECTED);
break;
}
_class.getMethods().get(i).setType(vect.get(2).toString());
_class.getMethods().get(i).setName(vect.get(0).toString());
_class.getMethods().get(i).setType(vect.get(2).toString());
_class.getMethods().get(i).setStatic((boolean) vect.get(4));
_class.getMethods().get(i).setFinal((boolean) vect.get(5));
_class.getMethods().get(i).setAbstract((boolean) vect.get(6));
_class.getMethods().get(i).setSynchronized((boolean) vect.get(7));
_class.getMethods().get(i).setVolatile((boolean) vect.get(8));
_class.getMethods().get(i).setTransient((boolean) vect.get(9));
}
//Rafraichissement de l'affichage