[vassalengine-svn] SF.net SVN: vassalengine: [2244] VASSAL-src/branches/swampwallaby-merge
Brought to you by:
rodneykinney,
uckelman
From: <swa...@us...> - 2007-06-24 02:28:49
|
Revision: 2244 http://svn.sourceforge.net/vassalengine/?rev=2244&view=rev Author: swampwallaby Date: 2007-06-23 19:28:47 -0700 (Sat, 23 Jun 2007) Log Message: ----------- Replaced PlaySoundButton with DoActionButton Fixed bug in ListConfigurer Added Documentation skeleton Modified Paths: -------------- VASSAL-src/branches/swampwallaby-merge/VASSAL/build/GameModule.java VASSAL-src/branches/swampwallaby-merge/VASSAL/configure/ListConfigurer.java VASSAL-src/branches/swampwallaby-merge/doc/ReferenceManual/GameModule.htm Added Paths: ----------- VASSAL-src/branches/swampwallaby-merge/VASSAL/build/module/DoActionButton.java VASSAL-src/branches/swampwallaby-merge/doc/ReferenceManual/DoActionButton.htm VASSAL-src/branches/swampwallaby-merge/doc/ReferenceManual/TurnTracker.htm VASSAL-src/branches/swampwallaby-merge/doc/ReferenceManual/images/DoActionButton.png Removed Paths: ------------- VASSAL-src/branches/swampwallaby-merge/VASSAL/build/module/PlaySoundButton.java VASSAL-src/branches/swampwallaby-merge/doc/ReferenceManual/PlaySoundButton.htm VASSAL-src/branches/swampwallaby-merge/doc/ReferenceManual/images/PlaySoundButton.png Modified: VASSAL-src/branches/swampwallaby-merge/VASSAL/build/GameModule.java =================================================================== --- VASSAL-src/branches/swampwallaby-merge/VASSAL/build/GameModule.java 2007-06-23 23:52:54 UTC (rev 2243) +++ VASSAL-src/branches/swampwallaby-merge/VASSAL/build/GameModule.java 2007-06-24 02:28:47 UTC (rev 2244) @@ -45,6 +45,7 @@ import VASSAL.build.module.ChartWindow; import VASSAL.build.module.Chatter; import VASSAL.build.module.DiceButton; +import VASSAL.build.module.DoActionButton; import VASSAL.build.module.Documentation; import VASSAL.build.module.GameState; import VASSAL.build.module.GlobalKeyCommand; @@ -275,6 +276,7 @@ PrototypesContainer.class, ToolbarMenu.class, MultiActionButton.class, + DoActionButton.class, DiceButton.class, GlobalKeyCommand.class, Inventory.class, Added: VASSAL-src/branches/swampwallaby-merge/VASSAL/build/module/DoActionButton.java =================================================================== --- VASSAL-src/branches/swampwallaby-merge/VASSAL/build/module/DoActionButton.java (rev 0) +++ VASSAL-src/branches/swampwallaby-merge/VASSAL/build/module/DoActionButton.java 2007-06-24 02:28:47 UTC (rev 2244) @@ -0,0 +1,315 @@ +/* + * $Id: ctionButton.java 2151 2007-06-01 13:31:10 +0000 (Fri, 01 Jun 2007) swampwallaby $ + * + * Copyright (c) 2000-2003 by Rodney Kinney + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License (LGPL) as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, copies are available + * at http://www.opensource.org. + */ +package VASSAL.build.module; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +import javax.swing.KeyStroke; + +import VASSAL.build.AbstractConfigurable; +import VASSAL.build.AutoConfigurable; +import VASSAL.build.Buildable; +import VASSAL.build.GameModule; +import VASSAL.build.module.documentation.HelpFile; +import VASSAL.command.Command; +import VASSAL.command.NullCommand; +import VASSAL.command.PlayAudioClipCommand; +import VASSAL.configure.AudioClipConfigurer; +import VASSAL.configure.Configurer; +import VASSAL.configure.ConfigurerFactory; +import VASSAL.configure.HotKeyConfigurer; +import VASSAL.configure.IconConfigurer; +import VASSAL.configure.ListConfigurer; +import VASSAL.configure.PlayerIdFormattedStringConfigurer; +import VASSAL.configure.VisibilityCondition; +import VASSAL.i18n.TranslatableConfigurerFactory; +import VASSAL.tools.FormattedString; +import VASSAL.tools.LaunchButton; +import VASSAL.tools.SequenceEncoder; + +/** + * This component places a button into the controls window toolbar. + * Pressing the button displays a message, plays a sound and/or sends hotkeys */ +public class DoActionButton extends AbstractConfigurable { + + public static final String BUTTON_TEXT = "text"; //$NON-NLS-1$ + public static final String TOOLTIP = "tooltip"; //$NON-NLS-1$ + public static final String NAME = "name"; //$NON-NLS-1$ + public static final String HOTKEY = "hotkey"; //$NON-NLS-1$ + public static final String ICON = "icon"; //$NON-NLS-1$ + public static final String DO_REPORT = "doReport"; //$NON-NLS-1$ + public static final String REPORT_FORMAT = "reportFormat"; //$NON-NLS-1$ + public static final String DO_SOUND = "doSound"; //$NON-NLS-1$ + public static final String SOUND_CLIP = "soundClip"; //$NON-NLS-1$ + public static final String DO_HOTKEY = "doHotkey"; //$NON-NLS-1$ + public static final String HOTKEYS = "hotkeys"; //$NON-NLS-1$ + + protected LaunchButton launch; + protected boolean doReport = false; + protected FormattedString reportFormat = new FormattedString(GameModule.getGameModule()); + protected boolean doSound = false; + protected String soundClip = ""; + protected boolean doHotkey = false; + protected List<KeyStroke> hotkeys = new ArrayList<KeyStroke>(); + + public DoActionButton() { + ActionListener rollAction = new ActionListener() { + public void actionPerformed(ActionEvent e) { + execute(); + } + }; + launch = new LaunchButton("Do Action", TOOLTIP, BUTTON_TEXT, HOTKEY, ICON, rollAction); + setAttribute(NAME, "Do Action"); + setAttribute(TOOLTIP, "Do Action"); + launch.setAttribute(BUTTON_TEXT, "Do Action"); + } + + public static String getConfigureTypeName() { + return "Action Button"; + } + + public String[] getAttributeNames() { + String s[] = {NAME, BUTTON_TEXT, TOOLTIP, ICON, HOTKEY, DO_REPORT, REPORT_FORMAT, DO_SOUND, SOUND_CLIP, DO_HOTKEY, HOTKEYS}; + return s; + } + + public String[] getAttributeDescriptions() { + return new String[]{"Description: ", + "Button text: ", + "Button Tooltip text: ", + "Button icon: ", + "Hot key: ", + "Display Message?", + "Report Format: ", + "Play a sound?", + "Sound Clip: ", + "Send Hotkeys?", + "Hot Keys: ", + }; + } + + public static class IconConfig implements ConfigurerFactory { + public Configurer getConfigurer(AutoConfigurable c, String key, String name) { + return new IconConfigurer(key, name, null); //$NON-NLS-1$ + } + } + + public static class SoundConfig implements ConfigurerFactory { + public Configurer getConfigurer(AutoConfigurable c, String key, String name) { + return new AudioClipConfigurer(key, name, GameModule.getGameModule().getArchiveWriter()); + } + } + + public static class ReportFormatConfig implements TranslatableConfigurerFactory { + public Configurer getConfigurer(AutoConfigurable c, String key, String name) { + return new PlayerIdFormattedStringConfigurer(key, name, new String[]{}); + } + } + + public static class HotkeyConfig implements TranslatableConfigurerFactory { + public Configurer getConfigurer(AutoConfigurable c, String key, String name) { + return new HotkeyListConfigurer(key, name); + } + } + + public static class HotkeyListConfigurer extends ListConfigurer { + + public HotkeyListConfigurer(String key, String name) { + super(key, name); + } + + protected Configurer buildChildConfigurer() { + return new HotKeyConfigurer(null, " HotKey: "); + } + + } + + public Class[] getAttributeTypes() { + return new Class[]{String.class, + String.class, + String.class, + IconConfig.class, + KeyStroke.class, + Boolean.class, + ReportFormatConfig.class, + Boolean.class, + SoundConfig.class, + Boolean.class, + HotkeyConfig.class}; + } + + public void addTo(Buildable parent) { + GameModule.getGameModule().getToolBar().add(getComponent()); + } + + /** + * The component to be added to the control window toolbar + */ + protected java.awt.Component getComponent() { + return launch; + } + + public void setAttribute(String key, Object o) { + if (NAME.equals(key)) { + setConfigureName((String) o); + } + else if (DO_REPORT.equals(key)) { + if (o instanceof String) { + o = new Boolean((String) o); + } + doReport = ((Boolean) o).booleanValue(); + } + else if (REPORT_FORMAT.equals(key)) { + reportFormat.setFormat((String) o); + } + else if (DO_SOUND.equals(key)) { + if (o instanceof String) { + o = new Boolean((String) o); + } + doSound = ((Boolean) o).booleanValue(); + } + if (SOUND_CLIP.equals(key)) { + if (o instanceof File) { + o = ((File) o).getName(); + } + soundClip = (String) o; + } + else if (DO_HOTKEY.equals(key)) { + if (o instanceof String) { + o = new Boolean((String) o); + } + doHotkey = ((Boolean) o).booleanValue(); + } + else if (HOTKEYS.equals(key)) { + if (o instanceof String) { + o = decodeHotkeys((String) o); + } + hotkeys = (List<KeyStroke>) o; + } + else { + launch.setAttribute(key, o); + } + } + + public String getAttributeValueString(String key) { + if (NAME.equals(key)) { + return getConfigureName(); + } + else if (DO_REPORT.equals(key)) { + return String.valueOf(doReport); + } + else if (REPORT_FORMAT.equals(key)) { + return reportFormat.getFormat(); + } + else if (DO_SOUND.equals(key)) { + return String.valueOf(doSound); + } + else if (SOUND_CLIP.equals(key)) { + return soundClip; + } + else if (DO_HOTKEY.equals(key)) { + return String.valueOf(doHotkey); + } + else if (HOTKEYS.equals(key)) { + return encodeHotkeys(); + } + else { + return launch.getAttributeValueString(key); + } + } + + + public VisibilityCondition getAttributeVisibility(String name) { + if (REPORT_FORMAT.equals(name)) { + return new VisibilityCondition() { + public boolean shouldBeVisible() { + return doReport; + }}; + } + else if (SOUND_CLIP.equals(name)) { + return new VisibilityCondition() { + public boolean shouldBeVisible() { + return doSound; + }}; + } + else if (HOTKEYS.equals(name)) { + return new VisibilityCondition() { + public boolean shouldBeVisible() { + return doHotkey; + }}; + } + else { + return null; + } + } + + protected String encodeHotkeys() { + SequenceEncoder se = new SequenceEncoder(','); + for (KeyStroke key : hotkeys) { + se.append(HotKeyConfigurer.encode(key)); + } + return "" + se.getValue(); + } + + protected List<KeyStroke> decodeHotkeys(String s) { + List<KeyStroke> list = new ArrayList<KeyStroke>(); + SequenceEncoder.Decoder sd = new SequenceEncoder.Decoder(s, ','); + while (sd.hasMoreTokens()) { + KeyStroke key = HotKeyConfigurer.decode(sd.nextToken()); + list.add(key); + } + return list; + } + + public Class[] getAllowableConfigureComponents() { + return new Class[0]; + } + + public void removeFrom(Buildable b) { + GameModule.getGameModule().getToolBar().remove(getComponent()); + GameModule.getGameModule().getToolBar().revalidate(); + } + + public HelpFile getHelpFile() { + return HelpFile.getReferenceManualPage("MessageButton.htm"); //$NON-NLS-1$ + } + + protected void execute() { + Command c = new NullCommand(); + if (doReport) { + String report = reportFormat.getLocalizedText(); + c.append(new Chatter.DisplayText(GameModule.getGameModule().getChatter(), "* " + report)); + } + if (doSound) { + String clipName = new FormattedString(soundClip).getText(GameModule.getGameModule()); + c.append(new PlayAudioClipCommand(clipName)); + } + if (doHotkey) { + for (KeyStroke key : hotkeys) { + GameModule.getGameModule().fireKeyStroke(key); + } + } + c.execute(); + GameModule.getGameModule().sendAndLog(c); + } +} Deleted: VASSAL-src/branches/swampwallaby-merge/VASSAL/build/module/PlaySoundButton.java =================================================================== --- VASSAL-src/branches/swampwallaby-merge/VASSAL/build/module/PlaySoundButton.java 2007-06-23 23:52:54 UTC (rev 2243) +++ VASSAL-src/branches/swampwallaby-merge/VASSAL/build/module/PlaySoundButton.java 2007-06-24 02:28:47 UTC (rev 2244) @@ -1,188 +0,0 @@ -/* - * $Id: DiceButton.java 2151 2007-06-01 13:31:10 +0000 (Fri, 01 Jun 2007) swampwallaby $ - * - * Copyright (c) 2000-2003 by Rodney Kinney - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License (LGPL) as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, copies are available - * at http://www.opensource.org. - */ -package VASSAL.build.module; - -import java.applet.AudioClip; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.io.File; -import java.io.IOException; - -import javax.swing.KeyStroke; - -import VASSAL.build.AbstractConfigurable; -import VASSAL.build.AutoConfigurable; -import VASSAL.build.Buildable; -import VASSAL.build.GameModule; -import VASSAL.build.module.documentation.HelpFile; -import VASSAL.configure.AudioClipConfigurer; -import VASSAL.configure.Configurer; -import VASSAL.configure.ConfigurerFactory; -import VASSAL.configure.IconConfigurer; -import VASSAL.configure.PlayerIdFormattedStringConfigurer; -import VASSAL.i18n.TranslatableConfigurerFactory; -import VASSAL.tools.FormattedString; -import VASSAL.tools.LaunchButton; - -/** - * This component places a button into the controls window toolbar. - * Pressing the button plays a sounf */ -public class PlaySoundButton extends AbstractConfigurable { - - public static final String BUTTON_TEXT = "text"; //$NON-NLS-1$ - public static final String TOOLTIP = "tooltip"; //$NON-NLS-1$ - public static final String NAME = "name"; //$NON-NLS-1$ - public static final String HOTKEY = "hotkey"; //$NON-NLS-1$ - public static final String ICON = "icon"; //$NON-NLS-1$ - public static final String SOUND_CLIP = "soundClip"; //$NON-NLS-1$ - public static final String REPORT_FORMAT = "reportFormat"; //$NON-NLS-1$ - - protected LaunchButton launch; - protected FormattedString reportFormat = new FormattedString(GameModule.getGameModule()); - protected String soundClip; - - public PlaySoundButton() { - ActionListener rollAction = new ActionListener() { - public void actionPerformed(ActionEvent e) { - playSound(); - } - }; - launch = new LaunchButton("Play Sound", TOOLTIP, BUTTON_TEXT, HOTKEY, ICON, rollAction); - setAttribute(NAME, "Play Sound"); - setAttribute(TOOLTIP, "Play Sound"); - launch.setAttribute(BUTTON_TEXT, "Play Sound"); - } - - public static String getConfigureTypeName() { - return "Play Sound Button"; - } - - public String[] getAttributeNames() { - String s[] = {NAME, BUTTON_TEXT, TOOLTIP, HOTKEY, ICON, SOUND_CLIP, REPORT_FORMAT}; - return s; - } - - public String[] getAttributeDescriptions() { - return new String[]{"Name: ", - "Button text: ", - "Tooltip text: ", - "Hot key: ", - "Button icon: ", - "Sound clip: ", - "Report Format: "}; - } - - public static class IconConfig implements ConfigurerFactory { - public Configurer getConfigurer(AutoConfigurable c, String key, String name) { - return new IconConfigurer(key, name, null); //$NON-NLS-1$ - } - } - - public static class SoundConfig implements ConfigurerFactory { - public Configurer getConfigurer(AutoConfigurable c, String key, String name) { - return new AudioClipConfigurer(key, name, GameModule.getGameModule().getArchiveWriter()); - } - } - - public static class ReportFormatConfig implements TranslatableConfigurerFactory { - public Configurer getConfigurer(AutoConfigurable c, String key, String name) { - return new PlayerIdFormattedStringConfigurer(key, name, new String[]{}); - } - } - - public Class[] getAttributeTypes() { - return new Class[]{String.class, - String.class, - String.class, - KeyStroke.class, - IconConfig.class, - SoundConfig.class, - ReportFormatConfig.class}; - } - - public void addTo(Buildable parent) { - GameModule.getGameModule().getToolBar().add(getComponent()); - } - - /** - * The component to be added to the control window toolbar - */ - protected java.awt.Component getComponent() { - return launch; - } - - public void setAttribute(String key, Object o) { - if (NAME.equals(key)) { - setConfigureName((String) o); - } - else if (SOUND_CLIP.equals(key)) { - if (o instanceof File) { - o = ((File) o).getName(); - } - soundClip = (String) o; - } - else if (REPORT_FORMAT.equals(key)) { - reportFormat.setFormat((String) o); - } - else { - launch.setAttribute(key, o); - } - } - - public String getAttributeValueString(String key) { - if (NAME.equals(key)) { - return getConfigureName(); - } - else if (SOUND_CLIP.equals(key)) { - return soundClip; - } - else if (REPORT_FORMAT.equals(key)) { - return reportFormat.getFormat(); - } - else { - return launch.getAttributeValueString(key); - } - } - - public Class[] getAllowableConfigureComponents() { - return new Class[0]; - } - - public void removeFrom(Buildable b) { - GameModule.getGameModule().getToolBar().remove(getComponent()); - GameModule.getGameModule().getToolBar().revalidate(); - } - - public HelpFile getHelpFile() { - return null; - } - - protected void playSound() { - String clipName = new FormattedString(soundClip).getText(GameModule.getGameModule()); - try { - AudioClip clip = GameModule.getGameModule().getDataArchive().getCachedAudioClip(clipName); - if (clip != null) { - clip.play(); - } - } - catch (IOException e) { - e.printStackTrace(); - } - } -} Modified: VASSAL-src/branches/swampwallaby-merge/VASSAL/configure/ListConfigurer.java =================================================================== --- VASSAL-src/branches/swampwallaby-merge/VASSAL/configure/ListConfigurer.java 2007-06-23 23:52:54 UTC (rev 2243) +++ VASSAL-src/branches/swampwallaby-merge/VASSAL/configure/ListConfigurer.java 2007-06-24 02:28:47 UTC (rev 2244) @@ -143,8 +143,8 @@ for (Object value : getListValue()) { final Configurer c = buildChildConfigurer(); + c.setValue(value); c.addPropertyChangeListener(this); - c.setValue(value); configurers.add(c); final Box b = Box.createHorizontalBox(); JButton delButton = new JButton("Remove"); Copied: VASSAL-src/branches/swampwallaby-merge/doc/ReferenceManual/DoActionButton.htm (from rev 2241, VASSAL-src/branches/swampwallaby-merge/doc/ReferenceManual/PlaySoundButton.htm) =================================================================== --- VASSAL-src/branches/swampwallaby-merge/doc/ReferenceManual/DoActionButton.htm (rev 0) +++ VASSAL-src/branches/swampwallaby-merge/doc/ReferenceManual/DoActionButton.htm 2007-06-24 02:28:47 UTC (rev 2244) @@ -0,0 +1,92 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + + + + <title>Action Button</title> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> +</head> + + +<body> + +<table border="0" cellpadding="2" cellspacing="2" width="100%"> + + <tbody> + + <tr align="center"> + + <td valign="top"> + + <h1>VASSAL Reference Manual</h1> + + <small><a href="index.htm">Home</a> > <a href="GameModule.htm">Module</a> +> <b>Action Button</b></small><br> + + </td> + + </tr> + + <tr> + + <td valign="top"> + + <hr size="2" width="100%"> + + <h2>Action Button<br> + + </h2> + + + <table border="0" cellpadding="2" cellspacing="2" width="100%"> + + <tbody> + + <tr> + + <td valign="top">The Action Button combines a number of different actions into a single button. + When the button is pressed, or receives its Hotkey, it can display a message to the Chat Window, Play a + sound, or send a list of Hotkeys to othre components.<br> + + <br> + + <span style="font-weight: bold;">Name: </span>An identifying name for this button.<br> + <span style="font-weight: bold;">Button text: </span>The text of the button to be added to the toolbar. <br> + <span style="font-weight: bold;">Tooltip text: </span>The tooltip text of the button to be added to the toolbar. <br> + <span style="font-weight: bold;">Hotkey: </span>Keyboard shortcut for the toolbar button.<br> + <span style="font-weight: bold;">Button Icon: </span>Icon for the toolbar button.<br> + <span style="font-weight: bold;">Sound Clip: </span>The Sound clip file to be played.<br> + <span style="font-weight: bold;">Report Format: </span>A <a href="MessageFormat.htm">Message Format</a> to report to the chat line when the sound plays.<br> + + </td> + + <td valign="top"><img src="images/DoActionButton.png" alt=""> <br> + + </td> + + </tr> + + <tr> + + </tr> + + + </tbody> + + </table> + + </td> + + </tr> + + <tr> + + </tr> + + + </tbody> +</table> + +</body> +</html> Modified: VASSAL-src/branches/swampwallaby-merge/doc/ReferenceManual/GameModule.htm =================================================================== --- VASSAL-src/branches/swampwallaby-merge/doc/ReferenceManual/GameModule.htm 2007-06-23 23:52:54 UTC (rev 2243) +++ VASSAL-src/branches/swampwallaby-merge/doc/ReferenceManual/GameModule.htm 2007-06-24 02:28:47 UTC (rev 2244) @@ -258,17 +258,24 @@ <br> - <h3><a href="PlaySoundButton.htm">Play Sound Button</a></h3> + <h3><a href="DoActionButton.htm">Action Button</a></h3> -A button that plays a sound.<br> +A button that displays a message, plays a sound or sends Hotkeys.<br> <br> + <h3><a href="TurnTracker.htm">Turn Counter</a></h3> + + +Track the current game turn and phase.<br> + + + <br> + - <h3><a href="GamePieceImageDefinitions.htm">Game Piece Image Definitions</a></h3> Deleted: VASSAL-src/branches/swampwallaby-merge/doc/ReferenceManual/PlaySoundButton.htm =================================================================== --- VASSAL-src/branches/swampwallaby-merge/doc/ReferenceManual/PlaySoundButton.htm 2007-06-23 23:52:54 UTC (rev 2243) +++ VASSAL-src/branches/swampwallaby-merge/doc/ReferenceManual/PlaySoundButton.htm 2007-06-24 02:28:47 UTC (rev 2244) @@ -1,90 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - - - - <title>Multi-Action Button</title> - <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> -</head> - - -<body> - -<table border="0" cellpadding="2" cellspacing="2" width="100%"> - - <tbody> - - <tr align="center"> - - <td valign="top"> - - <h1>VASSAL Reference Manual</h1> - - <small><a href="index.htm">Home</a> > <a href="GameModule.htm">Module</a> -> <b>Play Sound Button</b></small><br> - - </td> - - </tr> - - <tr> - - <td valign="top"> - - <hr size="2" width="100%"> - - <h2>Play Sound Button<br> - - </h2> - - - <table border="0" cellpadding="2" cellspacing="2" width="100%"> - - <tbody> - - <tr> - - <td valign="top">The Play Sound Button plays the specified sound clip when it is pressed.<br> - - <br> - - <span style="font-weight: bold;">Name: </span>An identifying name for this button.<br> - <span style="font-weight: bold;">Button text: </span>The text of the button to be added to the toolbar. <br> - <span style="font-weight: bold;">Tooltip text: </span>The tooltip text of the button to be added to the toolbar. <br> - <span style="font-weight: bold;">Hotkey: </span>Keyboard shortcut for the toolbar button.<br> - <span style="font-weight: bold;">Button Icon: </span>Icon for the toolbar button.<br> - <span style="font-weight: bold;">Sound Clip: </span>The Sound clip file to be played.<br> - <span style="font-weight: bold;">Report Format: </span>A <a href="MessageFormat.htm">Message Format</a> to report to the chat line when the sound plays.<br> - - </td> - - <td valign="top"><img src="images/PlaySoundButton.png" alt=""> <br> - - </td> - - </tr> - - <tr> - - </tr> - - - </tbody> - - </table> - - </td> - - </tr> - - <tr> - - </tr> - - - </tbody> -</table> - -</body> -</html> Added: VASSAL-src/branches/swampwallaby-merge/doc/ReferenceManual/TurnTracker.htm =================================================================== --- VASSAL-src/branches/swampwallaby-merge/doc/ReferenceManual/TurnTracker.htm (rev 0) +++ VASSAL-src/branches/swampwallaby-merge/doc/ReferenceManual/TurnTracker.htm 2007-06-24 02:28:47 UTC (rev 2244) @@ -0,0 +1,88 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + + + + <title>Turn Counter</title> + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> +</head> + + +<body> + +<table border="0" cellpadding="2" cellspacing="2" width="100%"> + + <tbody> + + <tr align="center"> + + <td valign="top"> + + <h1>VASSAL Reference Manual</h1> + + <small><a href="index.htm">Home</a> > <a href="GameModule.htm">Module</a> +> <b>Turn Counter</b></small><br> + + </td> + + </tr> + + <tr> + + <td valign="top"> + + <hr size="2" width="100%"> + + <h2>Turn Counter<br> + + </h2> + + + <table border="0" cellpadding="2" cellspacing="2" width="100%"> + + <tbody> + + <tr> + + <td valign="top">A Turn counter allows the current turn and phase of a game to be tracked. The current turn + can be displayed in a small floating window, or docked into the toolbar<br> + + <br> + + <span style="font-weight: bold;">Name: </span>An identifying name for this Turn Counter.<br> + <span style="font-weight: bold;">Button text: </span>The text of the button to be added to the toolbar. <br> + <span style="font-weight: bold;">Tooltip text: </span>The tooltip text of the button to be added to the toolbar. <br> + <span style="font-weight: bold;">Hotkey: </span>Keyboard shortcut for the toolbar button.<br> + <span style="font-weight: bold;">Button Icon: </span>Icon for the toolbar button.<br> + </td> + + <td valign="top"><img src="images/TurnTracker.png" alt=""> <br> + + </td> + + </tr> + + <tr> + + </tr> + + + </tbody> + + </table> + + </td> + + </tr> + + <tr> + + </tr> + + + </tbody> +</table> + +</body> +</html> Copied: VASSAL-src/branches/swampwallaby-merge/doc/ReferenceManual/images/DoActionButton.png (from rev 2241, VASSAL-src/branches/swampwallaby-merge/doc/ReferenceManual/images/PlaySoundButton.png) =================================================================== (Binary files differ) Property changes on: VASSAL-src/branches/swampwallaby-merge/doc/ReferenceManual/images/DoActionButton.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Deleted: VASSAL-src/branches/swampwallaby-merge/doc/ReferenceManual/images/PlaySoundButton.png =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |