001 /* PAVLOV -- Multiple Choice Study System
002 * Copyright (C) 2000 - 2004 T.J. Willis
003 *
004 * This program is free software; you can redistribute it and/or
005 * modify it under the terms of the GNU General Public License
006 * as published by the Free Software Foundation; either version 2
007 * of the License, or (at your option) any later version.
008 *
009 * This program is distributed in the hope that it will be useful,
010 * but WITHOUT ANY WARRANTY; without even the implied warranty of
011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
012 * GNU General Public License for more details.
013 *
014 * You should have received a copy of the GNU General Public License
015 * along with this program; if not, write to the Free Software
016 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
017 *
018 * $Header: /cvsroot/pavlov/net/sourceforge/pavlov/feedback/old/AbstractFeedbackPanel.java,v 1.7 2004/07/01 05:50:19 tj_willis Exp $
019 */
020 package net.sourceforge.pavlov.feedback.old;
021 import javax.swing.*;
022 import java.awt.Dimension;
023 import java.awt.event.*;
024 import net.sourceforge.pavlov.pluglets.feedback.*;
025 import net.sourceforge.pavlov.event.*;
026 import net.sourceforge.pavlov.main.standalone.ResourceBroker;
027
028 /**
029 * <code>AbstractFeedbackPanel</code>
030 *
031 * @version $Revision: 1.7 $
032 */
033 public abstract class AbstractFeedbackPanel extends AbstractFeedbackPluglet
034 implements AnswerListener, ActionListener {
035 //protected Container contentPane;
036 //protected Box box;
037 //protected boolean enabled;
038 //FIXME: get strings from ResourceBroker
039
040 //protected ResourceBroker rb;
041
042 /** Creates new form AbstractFeedbackPanel */
043 public AbstractFeedbackPanel() {
044 super();
045 //rb = ResourceBroker.getInstance();
046 //initComponents();
047 }
048
049
050 public String getDescription()
051 {
052 return "Old-style audio feedback";
053 }
054
055 /** This method is called from within the constructor to
056 * initialize the form.
057 */
058 public void init() {
059 // this layout, obviously, was computer generated
060 super.init();
061 jPanel2 = new javax.swing.JPanel();
062 //jPanel6 = new javax.swing.JPanel();
063 //jLabel2 = new javax.swing.JLabel();
064 jLabel3 = new javax.swing.JLabel();
065 jLabel4 = new javax.swing.JLabel();
066 //jPanel4 = new javax.swing.JPanel();
067 //jScrollPane1 = new javax.swing.JScrollPane();
068 imageLabel = new javax.swing.JLabel();
069 jPanel5 = new javax.swing.JPanel();
070 jCheckBox1 = new javax.swing.JCheckBox();
071 jLabel7 = new javax.swing.JLabel();
072
073 getContentPane().setLayout(new javax.swing.BoxLayout(getContentPane(), javax.swing.BoxLayout.Y_AXIS));
074
075 setBackground(java.awt.Color.white);
076 //setClosable(false); FIXME: changed in MVC push 7apr04
077 setForeground(java.awt.Color.black);
078 //setIconifiable(true); FIXME: changed in MVC push 7apr04
079 //setResizable(true); FIXME: changed in MVC push 7apr04
080 //setTitle("Expert: foo.jpg");
081 //setAutoscrolls(true); FIXME: changed in MVC push 7apr04
082 jPanel2.setLayout(new java.awt.GridLayout(3, 1));
083
084 jPanel2.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.RAISED));
085 //jLabel2.setFont(new java.awt.Font("Arial", 0, 14));
086 //jLabel2.setText(getName() + " is");
087 //jPanel6.add(jLabel2);
088
089 //jPanel2.add(jPanel6);
090
091 //jLabel3.setFont(new java.awt.Font("Arial", 0, 14));
092 jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
093 jLabel3.setText("No Items Currently Available");
094 jLabel3.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
095 jPanel2.add(jLabel3);
096
097 //jLabel4.setFont(new java.awt.Font("Arial", 0, 14));
098 jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
099 jLabel4.setText("Image Size : n/a");
100 //jLabel4.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
101 jLabel4.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
102 jPanel2.add(jLabel4);
103
104 getContentPane().add(jPanel2);
105
106 //imageLabel.setText("xxx");
107 imageLabel.setMaximumSize(new java.awt.Dimension(100, 100));
108 imageLabel.setMinimumSize(new java.awt.Dimension(100, 100));
109 imageLabel.setPreferredSize(new java.awt.Dimension(200, 200));
110 jScrollPane1 = new JScrollPane(imageLabel,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
111
112 //,h);//.setViewportView(imageLabel);
113
114 //jPanel4.add(jScrollPane1);
115
116 //getContentPane().add(jPanel4);
117 getContentPane().add(jScrollPane1);
118
119 jPanel5.setLayout(new java.awt.BorderLayout());
120
121 //jCheckBox1.setFont(new java.awt.Font("Arial", 0, 12));
122 jCheckBox1.setText("Sticky");
123 jCheckBox1.setToolTipText("Check this button to keep this image onscreen.");
124 jPanel5.add(jCheckBox1, java.awt.BorderLayout.NORTH);
125
126 //jLabel7.setFont(new java.awt.Font("Arial", 0, 12));
127 jLabel7.setText("From Directory: n/a");
128 JScrollPane sp0 = new JScrollPane(jLabel7,JScrollPane.VERTICAL_SCROLLBAR_NEVER,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); //HERE
129 sp0.setPreferredSize(new java.awt.Dimension(100,40));
130 jPanel5.add(sp0, java.awt.BorderLayout.CENTER);
131
132 getContentPane().add(jPanel5);
133
134 pack();
135 }
136
137 public abstract String getName();
138
139 protected void setDirectoryName(String who)
140 {
141 jLabel7.setText("From Directory: " + who);
142 }
143
144 protected void setNumberOfActiveItems(long size)
145 {
146 jLabel3.setText("" + size + " Items Available");
147 }
148 protected void setTopMessage(String m)
149 {
150 jLabel3.setText(m);
151 }
152 protected void setImageSize(long sz)
153 {
154 int size = (int)sz;
155 if(size>1400) size = 1400; // KLUDGE: limits OutOfMemoryErrors
156 jLabel4.setText("Image Size is: " + size);
157 imageLabel.setMaximumSize(new Dimension(size, size));
158 imageLabel.setPreferredSize(new Dimension(size, size));
159 imageLabel.setMinimumSize(new Dimension(size, size));
160 }
161
162 protected void setMessage(String msg)
163 {
164 jLabel4.setText(msg);
165 }
166
167 // Variables declaration - do not modify
168 private javax.swing.JPanel jPanel2;
169 //private javax.swing.JPanel jPanel6;
170 //private javax.swing.JLabel jLabel2;
171 private javax.swing.JLabel jLabel3;
172 protected javax.swing.JLabel jLabel4;
173 //private javax.swing.JPanel jPanel4;
174 private javax.swing.JScrollPane jScrollPane1;
175 protected javax.swing.JLabel imageLabel;
176 private javax.swing.JPanel jPanel5;
177 protected javax.swing.JCheckBox jCheckBox1;
178 protected javax.swing.JLabel jLabel7;
179 // End of variables declaration
180
181 }
182
183
184
185
186
187
188
189