1 19 20 package taskblocks.app; 21 22 import javax.swing.JFrame ; 23 import javax.swing.JPanel ; 24 25 import taskblocks.graph.TaskGraphComponent; 26 import taskblocks.modelimpl.ManImpl; 27 import taskblocks.modelimpl.TaskModelImpl; 28 29 public class ManConfigDialog extends ConfigDialogStub { 30 31 ManImpl _man; 32 TaskModelImpl _model; 33 ManConfigPanel _cfgPanel; 34 TaskGraphComponent _graph; 35 36 public ManConfigDialog(JFrame owner, ManImpl man, TaskModelImpl model, TaskGraphComponent graph, boolean isCreating) { 37 super(owner, isCreating); 38 _man = man; 39 _model = model; 40 _graph = graph; 41 init(); 42 } 43 44 public static boolean openDialog(JFrame owner, ManImpl man, TaskModelImpl model, TaskGraphComponent graph, boolean isCreating) { 45 ManConfigDialog d = new ManConfigDialog(owner, man, model, graph, isCreating); 46 d.pack(); 47 d.setLocationRelativeTo(owner); 48 d.setVisible(true); 49 return d._applied; 50 } 51 52 @Override 53 JPanel createMainPanel() { 54 55 if(_isCreating) { 56 setTitle("New Worker"); 57 _man = new ManImpl(); 58 } else { 59 setTitle("Worker " + _man.getName()); 60 } 61 62 _cfgPanel = new ManConfigPanel(_man, _model); 63 return _cfgPanel; 64 } 65 66 @Override 67 void doApply() { 68 if(isCreating()) { 69 addMan(); 70 } else { 71 updateMan(); 72 } 73 } 74 75 private void updateMan() { 76 throw new IllegalArgumentException ("Not yet implemented"); 77 } 78 79 private void addMan() { 80 _graph.getGraphRepresentation().updateModel(); 81 ManImpl man = new ManImpl(); 82 man.setName(_cfgPanel.nameTF.getText()); 83 _model.addMan(man); 84 85 _graph.setModel(_model); 86 _graph.getGraphRepresentation().setDirty(); 87 _graph.repaint(); 88 89 _cfgPanel.nameTF.setSelectionStart(0); 90 _cfgPanel.nameTF.setSelectionEnd(_cfgPanel.nameTF.getText().length()); 91 _cfgPanel.nameTF.requestFocus(); 92 } 93 } 94 | Popular Tags |