-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLMOptionsPanel.java
More file actions
executable file
·151 lines (133 loc) · 3.42 KB
/
LMOptionsPanel.java
File metadata and controls
executable file
·151 lines (133 loc) · 3.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
/**
* Written by Daniel Barter, Alby Himelick, and Grace Whitmore.
* For CS204 - Software Design
* 6 June 2012
*
* Creates and implements a toolbar for the transition options.
*
* Toolbar contains:
* - a title
* - a text field in which to enter rules
* - a button to add epsilons to the textfield
* - a delete button that deletes the selected transition
*/
public class LMOptionsPanel
extends JPanel
{
private LMWorkspacePanel workspacePanel;
private LMInputToolbar inputToolbar;
private LMMessagePanel messagePanel;
private LMStateOptionsToolbar stateCard;
private LMTransitionOptionsToolbar transitionCard;
private CardLayout cardLayout;
private Transition transition;
/**
* The constructor for LMOptionsPanel.
*
* CardLayout cardLayout: makes this panel able to switch between different
* options panels
*/
public LMOptionsPanel(CardLayout cardLayout)
{
super(cardLayout);
this.cardLayout = cardLayout;
buildUI();
}
/**
* Sets the workspace panel so that it can be accessed.
*
* LMWorkspacePanel workspace: the workspace panel to be set
*/
public void setWorkspacePanel(LMWorkspacePanel workspace)
{
workspacePanel = workspace;
}
/**
* Sets the input toolbar so that it can be accessed.
*
* LMInputToolbar inputToolbar: an input toolbar to be set
*/
public void setInputToolbar(LMInputToolbar inputToolbar)
{
this.inputToolbar = inputToolbar;
}
/**
* Sets the message panel so that it can be accessed.
*
* LMMessagePanel messagePanel: the message panel to be set
*/
public void setMessagePanel(LMMessagePanel messagePanel)
{
this.messagePanel = messagePanel;
}
/**
* Gets the current workspace panel.
*
* Returns a workspace panel
*/
public LMWorkspacePanel getWorkspacePanel()
{
return workspacePanel;
}
/**
* Gets the current input toolbar.
*
* Returns an input toolbar
*/
public LMInputToolbar getInputToolbar()
{
return inputToolbar;
}
/**
* Gets the current message panel.
*
* Returns a message panel
*/
public LMMessagePanel getMessagePanel()
{
return messagePanel;
}
/**
* Gets the current state toolbar.
*
* Returns a state toolbar
*/
public LMStateOptionsToolbar getStateToolbar()
{
return stateCard;
}
/**
* Gets the current transition toolbar.
*
* Returns a transition toolbar
*/
public LMTransitionOptionsToolbar getTransitionToolbar()
{
return transitionCard;
}
/**
* Changes the options panel between transition options, state options
* and a blank panel.
*
* String s: the string of what panel is supposed to be changed to
*/
public void changeOptions(String s)
{
cardLayout.show(this, s);
}
/**
* Builds the options panel.
*/
private void buildUI()
{
JPanel blankCard = new JPanel();
stateCard = new LMStateOptionsToolbar(this);
transitionCard = new LMTransitionOptionsToolbar(this);
this.add(blankCard, "blank");
this.add(stateCard, "state");
this.add(transitionCard, "transition");
}
}