added quick help

This commit is contained in:
fros4943 2009-06-30 12:46:26 +00:00
parent bed44c8f55
commit 5a053d7d4e
2 changed files with 26 additions and 9 deletions

View File

@ -26,13 +26,14 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $Id: VisPlugin.java,v 1.9 2009/04/03 17:03:42 fros4943 Exp $
* $Id: VisPlugin.java,v 1.10 2009/06/30 12:46:26 fros4943 Exp $
*/
package se.sics.cooja;
import java.util.Collection;
import javax.swing.JInternalFrame;
import javax.swing.event.InternalFrameAdapter;
import javax.swing.event.InternalFrameEvent;
import javax.swing.event.InternalFrameListener;
import org.jdom.Element;
@ -67,21 +68,17 @@ public abstract class VisPlugin extends JInternalFrame implements Plugin {
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
addInternalFrameListener(new InternalFrameListener() {
addInternalFrameListener(new InternalFrameAdapter() {
public void internalFrameClosing(InternalFrameEvent e) {
gui.removePlugin(VisPlugin.this, true);
}
public void internalFrameClosed(InternalFrameEvent e) { }
public void internalFrameOpened(InternalFrameEvent e) { }
public void internalFrameIconified(InternalFrameEvent e) { }
public void internalFrameDeiconified(InternalFrameEvent e) { }
public void internalFrameActivated(InternalFrameEvent e) {
/* Highlight mote in COOJA */
if (VisPlugin.this.tag != null && tag instanceof Mote) {
gui.signalMoteHighlight((Mote) tag);
}
gui.loadQuickHelp(VisPlugin.this);
}
public void internalFrameDeactivated(InternalFrameEvent e) { }
}
);
}

View File

@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $Id: MoteInterfaceViewer.java,v 1.6 2009/03/23 13:26:43 nifi Exp $
* $Id: MoteInterfaceViewer.java,v 1.7 2009/06/30 12:46:26 fros4943 Exp $
*/
package se.sics.cooja.plugins;
@ -52,6 +52,7 @@ import se.sics.cooja.MoteInterface;
import se.sics.cooja.PluginType;
import se.sics.cooja.Simulation;
import se.sics.cooja.VisPlugin;
import se.sics.cooja.GUI.HasQuickHelp;
/**
* Mote Interface Viewer views information about a specific mote interface.
@ -60,7 +61,7 @@ import se.sics.cooja.VisPlugin;
*/
@ClassDescription("Mote Interface Viewer")
@PluginType(PluginType.MOTE_PLUGIN)
public class MoteInterfaceViewer extends VisPlugin {
public class MoteInterfaceViewer extends VisPlugin implements HasQuickHelp {
private static final long serialVersionUID = 1L;
private Mote mote;
@ -114,6 +115,8 @@ public class MoteInterfaceViewer extends VisPlugin {
for (MoteInterface intf : intfs) {
if (GUI.getDescriptionOf(intf).equals(interfaceDescription)) {
selectedMoteInterface = intf;
mote.getSimulation().getGUI().loadQuickHelp(MoteInterfaceViewer.this);
break;
}
}
currentInterfaceVisualizer = selectedMoteInterface.getInterfaceVisualizer();
@ -215,4 +218,21 @@ public class MoteInterfaceViewer extends VisPlugin {
return true;
}
public String getQuickHelp() {
String help = "<b>" + GUI.getDescriptionOf(this) + "</b>";
help += "<p>Lists mote interfaces, and allows mote inspection and interaction via mote interface visualizers.";
MoteInterface intf = selectedMoteInterface;
if (intf != null) {
if (intf instanceof HasQuickHelp) {
help += "<p>" + ((HasQuickHelp)intf).getQuickHelp();
} else {
help += "<p><b>" + GUI.getDescriptionOf(intf) + "</b>";
help += "<p>No help available";
}
}
return help;
}
}