001: package demo.notification.whiteboard;
002:
003: import java.awt.BorderLayout;
004: import java.awt.Frame;
005: import java.awt.Menu;
006: import java.awt.MenuBar;
007: import java.awt.MenuItem;
008: import java.awt.event.ActionEvent;
009: import java.awt.event.ActionListener;
010: import java.util.ArrayList;
011: import java.util.Collections;
012: import java.util.List;
013:
014: import org.apache.log.Hierarchy;
015: import org.apache.log.Logger;
016:
017: /**
018: * @author Alphonse Bendt
019: * @version $Id: WorkgroupFrame.java,v 1.4 2004/04/28 13:52:02 alphonse.bendt Exp $
020: */
021:
022: public class WorkgroupFrame extends Frame implements IWorkgroupFrame {
023:
024: Logger logger_ = Hierarchy.getDefaultHierarchy().getLoggerFor(
025: "WorkgroupFrame");
026:
027: BrushSizeDrawCanvas drawCanvas_;
028: SelectDialog dialog;
029: GhostPainter ghost;
030: // PicView pic = new PicView("Daemon.jpg");
031: WorkgroupController controller_;
032:
033: public BrushSizeDrawCanvas getDrawCanvas() {
034: return drawCanvas_;
035: }
036:
037: public Frame getFrame() {
038: return this ;
039: }
040:
041: public List getList() {
042: String[] s = controller_.getListOfWhiteboards();
043: List v = new ArrayList();
044: for (int n = 0; n < s.length; n++) {
045: v.add(s[n]);
046: }
047: return Collections.unmodifiableList(v);
048: }
049:
050: public void setCurrentBoardText(String name) {
051: currentBoard.setText(name);
052: }
053:
054: public void setLeaveMenuItem(boolean value) {
055: leaveMenuItem_.setEnabled(value);
056: }
057:
058: /** Initializes the Form */
059: public WorkgroupFrame(WorkgroupController wg, String name) {
060: super (name);
061:
062: logger_.debug("init");
063:
064: controller_ = wg;
065:
066: initComponents();
067: pack();
068: }
069:
070: public WorkgroupFrame(WorkgroupController wg) {
071: this (wg, "Whiteboard");
072: }
073:
074: private void initComponents() {
075: addWindowListener(new java.awt.event.WindowAdapter() {
076: public void windowClosing(java.awt.event.WindowEvent evt) {
077: exitForm(evt);
078: }
079: });
080: setLayout(new java.awt.BorderLayout());
081:
082: drawCanvas_ = new BrushSizeDrawCanvas(controller_, 400, 400);
083: add(drawCanvas_, BorderLayout.CENTER);
084:
085: menuBar1 = new MenuBar();
086: menu1 = new Menu();
087: menu1.setLabel("Menu");
088: select = new MenuItem();
089: select.setLabel("Select");
090: select.setName("select");
091: select.addActionListener(new ActionListener() {
092: public void actionPerformed(ActionEvent evt) {
093: selectActionPerformed(evt);
094: }
095: });
096: menu1.add(select);
097:
098: leaveMenuItem_ = new java.awt.MenuItem();
099: leaveMenuItem_.setEnabled(false);
100: leaveMenuItem_.setLabel("Leave");
101: leaveMenuItem_.setName("leave");
102: leaveMenuItem_.addActionListener(new ActionListener() {
103: public void actionPerformed(ActionEvent evt) {
104: leaveActionPerformed(evt);
105: }
106: });
107: menu1.add(leaveMenuItem_);
108:
109: activateGhost = new java.awt.MenuItem();
110: activateGhost.setLabel("Start Daemon");
111: activateGhost
112: .addActionListener(new java.awt.event.ActionListener() {
113: public void actionPerformed(
114: java.awt.event.ActionEvent e) {
115: activateGhostActionPerformed();
116: }
117: });
118: // menu1.add(activateGhost);
119:
120: exit = new java.awt.MenuItem();
121: exit.setLabel("Exit");
122: exit.setName("exit");
123: exit.addActionListener(new java.awt.event.ActionListener() {
124: public void actionPerformed(java.awt.event.ActionEvent evt) {
125: exitActionPerformed(evt);
126: }
127: });
128: menu1.add(exit);
129:
130: menuBar1.add(menu1);
131:
132: setMenuBar(menuBar1);
133: panel1 = new java.awt.Panel();
134: panel1.setLayout(new java.awt.FlowLayout());
135:
136: // pic.setVisible(false);
137: // panel1.add(pic);
138:
139: draw = new java.awt.Button();
140: draw.setLabel("Draw");
141: draw.addActionListener(new java.awt.event.ActionListener() {
142: public void actionPerformed(java.awt.event.ActionEvent evt) {
143: drawActionPerformed(evt);
144: }
145: });
146: panel1.add(draw);
147:
148: delete = new java.awt.Button();
149: delete.setLabel("Delete");
150: delete.setName("delete");
151: delete.addActionListener(new java.awt.event.ActionListener() {
152: public void actionPerformed(java.awt.event.ActionEvent evt) {
153: deleteActionPerformed(evt);
154: }
155: });
156: panel1.add(delete);
157:
158: clear = new java.awt.Button();
159: clear.setLabel("Clear");
160: clear.setName("clear");
161: clear.addActionListener(new java.awt.event.ActionListener() {
162: public void actionPerformed(java.awt.event.ActionEvent evt) {
163: clearActionPerformed(evt);
164: }
165: });
166: panel1.add(clear);
167:
168: currentBoard = new java.awt.TextField(12);
169: currentBoard.setName("currentboard");
170: currentBoard.setEditable(false);
171: currentBoard.setText("No Selection");
172: panel1.add(currentBoard);
173:
174: add(panel1, "South");
175: }
176:
177: private void activateGhostActionPerformed() {
178: if (activateGhost.getLabel() == "Start Daemon") {
179: ghost = new GhostPainter(this , 400, 400);
180: ghost.start();
181: activateGhost.setLabel("Stop Daemon");
182: // pic.setVisible(true);
183: } else {
184: ghost.shutdown();
185: activateGhost.setLabel("Start Daemon");
186: // pic.setVisible(false);
187: }
188: }
189:
190: // public void selectOk(String r) {
191: // leave.setEnabled(true);
192: // currentBoard.setText(r);
193: // // drawCanvas_.localClearAll();
194: // // workgroup_.joinWhiteboard(r);
195: // }
196:
197: private void clearActionPerformed(java.awt.event.ActionEvent evt) {
198: drawCanvas_.clearAll();
199: }
200:
201: private void deleteActionPerformed(java.awt.event.ActionEvent evt) {
202: drawCanvas_.setDrawColor(0, 0, 0);
203: drawCanvas_.setBrushSize(5);
204: }
205:
206: private void drawActionPerformed(java.awt.event.ActionEvent evt) {
207: drawCanvas_.setDrawColor(255, 255, 255);
208: drawCanvas_.setBrushSize(1);
209: }
210:
211: private void exitActionPerformed(java.awt.event.ActionEvent evt) {
212: controller_.exit();
213: }
214:
215: private void leaveActionPerformed(java.awt.event.ActionEvent evt) {
216: leaveMenuItem_.setEnabled(false);
217: currentBoard.setText("No Selection");
218: controller_.leaveWhiteboard();
219: }
220:
221: private void selectActionPerformed(java.awt.event.ActionEvent evt) {
222: dialog = new SelectDialog(this , controller_);
223: dialog.show();
224: }
225:
226: /** Exit the Application */
227: private void exitForm(java.awt.event.WindowEvent evt) {
228: controller_.exit();
229: }
230:
231: private java.awt.Panel panel1;
232: private java.awt.Button draw, delete, clear;
233: private java.awt.MenuBar menuBar1;
234: private java.awt.Menu menu1;
235: private java.awt.MenuItem select, exit, activateGhost,
236: leaveMenuItem_;
237: private java.awt.TextField currentBoard;
238: }
|