//---------------------------------------------------------------------------- // COMPONENT NAME: LPEX Editor // // © Copyright IBM Corporation 2005, 2006 // All Rights Reserved. // // DESCRIPTION: // HairlineCommand - sample user-defined command (hairline) //---------------------------------------------------------------------------- package com.ibm.lpex.samples; import com.ibm.lpex.core.LpexCommand; import com.ibm.lpex.core.LpexView; /** * Sample command <b>hairline</b> - control the display of a cursor or fixed * vertical hairline. * * <p>Here is the HairlineCommand * <a href="doc-files/HairlineCommand.java.html">source code</a>.</p> * * <p>To run this sample: * <ul> * <li>Define this user command via an editor preference page, where available, * or from the editor command line: * <pre>set commandClass.hairline com.ibm.lpex.samples.HairlineCommand</pre></li> * <li>Run it from the editor command line: * <pre>hairline [on | cursor | off]</pre></li> * </ul></p> * * @see CursorHairline * @see com.ibm.lpex.samples All the samples */ public class HairlineCommand implements LpexCommand { /** * Runs this command. * Sets the display and type of a vertical hairline. * * @param lpexView the document view in which the command was issued * @param parameters optional parameter "on", "cursor" (to track cursor movements), * or "off" (to remove the hairline) */ public boolean doCommand(LpexView lpexView, String parameters) { if (lpexView != null) { // defaults (for "on" / no parameters) boolean displayHairline = true; boolean trackCursor = false; parameters = parameters.trim(); if (parameters.length() != 0) { if ("cursor".equals(parameters)) { trackCursor = true; } else if ("off".equals(parameters)) { displayHairline = false; } else if ("?".equals(parameters)) // command help { lpexView.doCommand("set messageText Syntax: hairline [on | cursor | off]"); return true; } else if (!"on".equals(parameters)) { lpexView.doCommand("set messageText " + parameters + " is not a valid parameter for the \"hairline\" command."); return false; } } if (displayHairline) { CursorHairline.install(lpexView, trackCursor); } else { CursorHairline.uninstall(lpexView); } } return true; } }