Skip to content

Commit

Permalink
enable edit only for single person selected
Browse files Browse the repository at this point in the history
  • Loading branch information
donald committed Oct 18, 2014
1 parent c7f54d7 commit d86d022
Showing 1 changed file with 31 additions and 28 deletions.
59 changes: 31 additions & 28 deletions src/de/mpg/molgen/buczek/portifix/Gui.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
import java.sql.SQLException;
import java.text.ParseException;
import java.util.Date;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.AbstractAction;
Expand Down Expand Up @@ -71,11 +70,11 @@ private String[] columnValuesOfSelection(int col) {
int selected[] = jTable1.getSelectedRows();
String[] ret = new String[selected.length];
for (int i = 0; i < selected.length; i++) {
Object o=tableModel.getValueAt(jTable1.convertRowIndexToModel(selected[i]), col);
if (o==null) {
Object o = tableModel.getValueAt(jTable1.convertRowIndexToModel(selected[i]), col);
if (o == null) {
ret[i] = "";
} else {
ret[i]=o.toString();
ret[i] = o.toString();
}
}
return ret;
Expand Down Expand Up @@ -108,15 +107,16 @@ private static void setTreeEnabled(Component component, boolean enabled) {

/**
* no String.join() in Java 1.7
*
* @param delim
* @param s1
* @param s2
* @return
* @return
*/
private String join(String delim,String s1,String s2) {
if (s1!=null && s1.length()>0) {
if (s2!=null && s2.length()>0) {
return s1+delim+s2;
private String join(String delim, String s1, String s2) {
if (s1 != null && s1.length() > 0) {
if (s2 != null && s2.length() > 0) {
return s1 + delim + s2;
} else {
return s1;
}
Expand All @@ -125,38 +125,45 @@ private String join(String delim,String s1,String s2) {
}
}

private void setEditEnabled(boolean enabled) {
textField_datum.setEnabled(enabled);
textField_endedatum.setEnabled(enabled);
}

private void updateForm() {

int selected[] = jTable1.getSelectedRows();
for (int i = 0; i < selected.length; i++) {
selected[i] = jTable1.convertRowIndexToModel(selected[i]);
}

if (selected.length == 0) {
textField_datum.setEnabled(false);
setEditEnabled(false);
} else {
String[] name = new String[selected.length];
String[] exemplar = new String[selected.length];
for (int i = 0; i < name.length; i++) {
int mi = jTable1.convertRowIndexToModel(selected[i]);
name[i]=join(" ",(String)tableModel.getValueAt(mi,TableModel.COLUMN_VORNAME),(String)tableModel.getValueAt(mi,TableModel.COLUMN_NACHNAME));
exemplar[i]=join (" # ",(String)tableModel.getValueAt(mi,TableModel.COLUMN_SCHLUESSELNUMMER),(String)tableModel.getValueAt(mi,TableModel.COLUMN_EXEMPLARNUMMER));
name[i] = join(" ", (String) tableModel.getValueAt(i, TableModel.COLUMN_VORNAME), (String) tableModel.getValueAt(i, TableModel.COLUMN_NACHNAME));
exemplar[i] = join(" # ", (String) tableModel.getValueAt(i, TableModel.COLUMN_SCHLUESSELNUMMER), (String) tableModel.getValueAt(i, TableModel.COLUMN_EXEMPLARNUMMER));
}

label_name.setText(singleColumnValueOfArray(name));
label_abteilung.setText(singleColumnValueOfSelection(TableModel.COLUMN_ABTEILUNG));
label_schluessel.setText(singleColumnValueOfArray(exemplar));
textField_datum.setText(singleColumnValueOfSelection(TableModel.COLUMN_RUECKGABEDATUM));
textField_datum.setEnabled(true);
textField_endedatum.setText(singleColumnValueOfSelection(TableModel.COLUMN_ENDEDATUM));
textField_endedatum.setEnabled(true);

setEditEnabled(isUnique(columnValuesOfSelection(TableModel.COLUMN_PERSONAL_ID)));
}
}

private final int EDIT_MODE_PERSON=1;
private final int EDIT_MODE_EXEMPLAR=2;
private final int EDIT_MODE_PERSON = 1;
private final int EDIT_MODE_EXEMPLAR = 2;

private int edit_mode;

private void startEdit(int edit_mode) {
this.edit_mode=edit_mode;
this.edit_mode = edit_mode;
jTable1.setEnabled(false);
// setTreeEnabled(jTable1, false);
button_refresh.setEnabled(false);
Expand Down Expand Up @@ -202,7 +209,7 @@ private void saveThis() {
}

} else {
throw new Error("internal error");
throw new Error("internal error");
}
}

Expand All @@ -226,7 +233,6 @@ public void run() {
textField_datum.setEnabled(false);
textField_endedatum.setEnabled(false);


jTable1.addMouseListener(popupListener);

jTable1.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
Expand Down Expand Up @@ -259,12 +265,12 @@ public void focusGained(FocusEvent e) {
}
startEdit(EDIT_MODE_EXEMPLAR);
}

@Override
public void focusLost(FocusEvent e) {
}
});


textField_endedatum.addFocusListener(new FocusListener() {

@Override
Expand All @@ -279,8 +285,7 @@ public void focusGained(FocusEvent e) {
public void focusLost(FocusEvent e) {
}
});



button_cancel.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Expand All @@ -301,7 +306,7 @@ public void actionPerformed(ActionEvent e) {
filltable();
}
});

getRootPane().setDefaultButton(button_ok);

// Action copy=jTable1.getActionMap().get("copy");
Expand All @@ -314,8 +319,6 @@ public void actionPerformed(ActionEvent e) {
}
});



updateForm();
}

Expand Down

0 comments on commit d86d022

Please sign in to comment.