View Javadoc

1   /*
2   * The contents of this file are subject to the BT "ZEUS" Open Source 
3   * Licence (L77741), Version 1.0 (the "Licence"); you may not use this file 
4   * except in compliance with the Licence. You may obtain a copy of the Licence
5   * from $ZEUS_INSTALL/licence.html or alternatively from
6   * http://www.labs.bt.com/projects/agents/zeus/licence.htm
7   * 
8   * Except as stated in Clause 7 of the Licence, software distributed under the
9   * Licence is distributed WITHOUT WARRANTY OF ANY KIND, either express or 
10  * implied. See the Licence for the specific language governing rights and 
11  * limitations under the Licence.
12  * 
13  * The Original Code is within the package zeus.*.
14  * The Initial Developer of the Original Code is British Telecommunications
15  * public limited company, whose registered office is at 81 Newgate Street, 
16  * London, EC1A 7AJ, England. Portions created by British Telecommunications 
17  * public limited company are Copyright 1996-9. All Rights Reserved.
18  * 
19  * THIS NOTICE MUST BE INCLUDED ON ANY COPY OF THIS FILE
20  */
21  
22  
23  
24  /*****************************************************************************
25  * DefinitionPanel.java
26  *
27  * Panel through which agent attributes are entered
28  ***************************************************************************/
29  
30  package zeus.generator.agent;
31  
32  import java.awt.*;
33  import java.awt.event.*;
34  import java.util.*;
35  import javax.swing.*;
36  import javax.swing.border.*;
37  import javax.swing.text.*;
38  import javax.swing.event.*;
39  
40  import zeus.util.*;
41  import zeus.concepts.*;
42  import zeus.generator.*;
43  import zeus.generator.util.*;
44  import zeus.gui.fields.*;
45  
46  public class RestrictionPanel extends JPanel {
47  
48    protected TaskAttributePanel taPanel;
49    protected AgentDescription agent;
50  
51    public RestrictionPanel(AgentGenerator generator,
52                           GeneratorModel genmodel,
53                           OntologyDb ontologyDb,
54                           AgentEditor editor,
55                           AgentDescription agent)  {
56  
57      this.agent = agent;
58  
59      GridBagLayout gridBagLayout = new GridBagLayout();
60      GridBagConstraints gbc = new GridBagConstraints();
61      setLayout(gridBagLayout);
62      setBackground(Color.lightGray);    
63      setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));
64      
65      // Add the control panel 
66      ControlPanel controlPane =
67         new ControlPanel(editor,"Value Restriction Panel",false,true);
68      
69      gbc.gridwidth = GridBagConstraints.REMAINDER;
70      gbc.anchor = GridBagConstraints.NORTHWEST;
71      gbc.fill = GridBagConstraints.HORIZONTAL;
72      gbc.insets = new Insets(8,8,8,8);
73      gridBagLayout.setConstraints(controlPane,gbc);
74      add(controlPane);
75      
76      gbc.anchor = GridBagConstraints.SOUTH;
77      gbc.fill = GridBagConstraints.BOTH;
78      gbc.weightx = gbc.weighty = 1;
79  
80      taPanel = new TaskAttributePanel(generator, genmodel, editor, agent,
81  				     Fact.FACT,ontologyDb,"Task Value Ranges");
82      gridBagLayout.setConstraints(taPanel,gbc);
83      add(taPanel);
84    }
85  
86    public void save() {
87      agent.setRestrictions(taPanel.getRestrictions());
88    }
89  }