diff options
Diffstat (limited to 'src/main/java/org/cristalise/gui/tabs/execution/RequestButton.java')
| -rw-r--r-- | src/main/java/org/cristalise/gui/tabs/execution/RequestButton.java | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/main/java/org/cristalise/gui/tabs/execution/RequestButton.java b/src/main/java/org/cristalise/gui/tabs/execution/RequestButton.java new file mode 100644 index 0000000..bccf99f --- /dev/null +++ b/src/main/java/org/cristalise/gui/tabs/execution/RequestButton.java @@ -0,0 +1,44 @@ +package org.cristalise.gui.tabs.execution;
+import java.awt.Color;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.JButton;
+
+import org.cristalise.gui.MainFrame;
+import org.cristalise.kernel.entity.agent.Job;
+import org.cristalise.kernel.utils.Logger;
+
+/**
+ * Each job gets a RequestButton
+ */
+
+ public class RequestButton extends JButton implements ActionListener {
+
+ Job myJob;
+ ActivityViewer parent;
+
+ public RequestButton(Job myJob, ActivityViewer parent) {
+ super();
+ this.myJob = myJob;
+ this.parent = parent;
+ String label = myJob.getTransition().getName();
+ if (myJob.hasOutcome()) {
+ setBackground(Color.white);
+ try {
+ if (myJob.getSchemaName().equals("Errors")) setBackground(Color.pink);
+ } catch (Exception e) {
+ Logger.error(e);
+ MainFrame.exceptionDialog(e);
+ setEnabled(false);
+ }
+ }
+ super.setText(label);
+ addActionListener(this);
+ }
+
+ @Override
+ public void actionPerformed(ActionEvent event) {
+ parent.execute(myJob);
+ }
+ }
|
