- Timestamp:
- 07/14/13 23:20:04 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
java/main/src/main/java/com/framsticks/gui/controls/ProcedureControl.java
r100 r101 5 5 import com.framsticks.gui.Gui; 6 6 import com.framsticks.params.Param; 7 import com.framsticks.params.ValueParam;8 7 import com.framsticks.params.types.ProcedureParam; 9 8 import com.framsticks.util.dispatching.ExceptionResultHandler; 10 9 import com.framsticks.util.dispatching.FutureHandler; 11 10 import com.framsticks.util.dispatching.ThrowExceptionHandler; 12 import com.framsticks.util.swing.TooltipConstructor;13 11 14 12 import javax.swing.*; 15 import javax.swing.border.BevelBorder;16 13 17 14 import org.apache.logging.log4j.Logger; … … 20 17 import java.awt.event.ActionEvent; 21 18 import java.awt.event.ActionListener; 22 import java.util. IdentityHashMap;19 import java.util.HashMap; 23 20 import java.util.LinkedList; 24 21 import java.util.List; … … 26 23 27 24 @SuppressWarnings("serial") 28 public class ProcedureControl extends Control implements ControlOwner {25 public class ProcedureControl extends HistoryControl implements ControlOwner { 29 26 30 27 private static final Logger log = LogManager.getLogger(ProcedureControl.class); 31 28 32 protected final J Button procedureButton;29 protected final JPanel argumentsPanel; 33 30 34 final protected Map< ValueParam, ValueControl> components = new IdentityHashMap<>();31 final protected Map<String, ValueControl> components = new HashMap<>(); 35 32 36 33 public ProcedureControl(ProcedureParam procedureParam) { 37 34 super(procedureParam); 38 35 39 this.setToolTipText(new TooltipConstructor()40 .append("name", procedureParam.getName())41 .append("id", procedureParam.getId())42 .append("help", procedureParam.getHelp())43 .build());44 36 45 procedureButton = new JButton("Call");46 procedureButton.setName("call");37 mainButton.setText("Call"); 38 mainButton.setName("call"); 47 39 48 this.setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS));49 40 50 Gui.fillWithControls(this, procedureParam.getArgumentsType(), components, ValueControl.class); 41 argumentsPanel = new JPanel(); 42 argumentsPanel.setName("arguments"); 43 44 Gui.fillWithControls(this, argumentsPanel, procedureParam.getArgumentsType(), components, ValueControl.class); 51 45 52 46 if (components.size() != procedureParam.getArgumentsType().size()) { 53 procedureButton.setEnabled(false); 54 } 55 if (!components.isEmpty()) { 56 this.setBorder(new BevelBorder(BevelBorder.RAISED)); 47 mainButton.setEnabled(false); 57 48 } 58 49 59 procedureButton.addActionListener(new ActionListener() {50 mainButton.addActionListener(new ActionListener() { 60 51 @Override 61 52 public void actionPerformed(ActionEvent e) { … … 65 56 final List<Object> arguments = new LinkedList<Object>(); 66 57 for (Param arg : getParam().getArgumentsType()) { 67 Object value = components.get(arg ).getCurrentValue();58 Object value = components.get(arg.getId()).getCurrentValue(); 68 59 arguments.add(value); 69 60 log.debug("argument {}: {}", arg, value); … … 74 65 } 75 66 }); 76 this.add(procedureButton); 67 68 updateFoldState(); 69 Gui.setupTitledControl(this, argumentsPanel, controlRow, resultsScrollPane); 77 70 78 71 } 72 79 73 80 74 public static void callProcedure(final Path path, final ProcedureParam param, Object[] arguments) { … … 93 87 94 88 @Override 95 public JPanel getPanelForControls() {96 return this;97 }98 99 @Override100 89 public ProcedureParam getParam() { 101 90 return (ProcedureParam) param; … … 104 93 @Override 105 94 protected void updateEnabled(boolean enabled) { 106 procedureButton.setEnabled(enabled);95 mainButton.setEnabled(enabled); 107 96 for (ValueControl vc : components.values()) { 108 97 vc.setUserEnabled(enabled); … … 120 109 } 121 110 111 @Override 112 public boolean onValueChange(ValueControl control, Object newValue) { 113 return true; 114 } 115 116 @Override 117 protected void refreshTable() { 118 // TODO Auto-generated method stub 119 120 } 121 122 @Override 123 protected void clearTable() { 124 // TODO Auto-generated method stub 125 126 } 127 122 128 }
Note: See TracChangeset
for help on using the changeset viewer.