/*********************************************************/
/* This source code copyright (c) 1991-2001, Aaron Giles */
/* See the Read Me file for licensing information.       */
/* Contact email: mac@aarongiles.com                     */
/*********************************************************/

#define SystemSevenOrLater 1

#include "SysTypes.r"
#include "Types.r"
#include "BalloonTypes.r"
#include "JPEGView.r.h"

#define menuHelpOffset 2000

/***********************************************************************/
/**********************                           **********************/
/**********************     Icon Pop-Up Menu      **********************/
/**********************                           **********************/
/***********************************************************************/

resource 'hmnu' (rIconMenu, purgeable) 
{
	HelpMgrVersion, hmDefaultOptions, 0, 0,
	hmnuBlankItem, // Defaults
	{
		hmnuBlankItem, // Crop menu title
		HMStringResItem { // Square
			rIconMenu + menuHelpOffset, 1,
			0, 0,
			rIconMenu + menuHelpOffset, 2,
			0, 0
		},
		HMStringResItem { // Square, dog-eared
			rIconMenu + menuHelpOffset, 3,
			0, 0,
			rIconMenu + menuHelpOffset, 4,
			0, 0
		},
		HMStringResItem { // Proportional
			rIconMenu + menuHelpOffset, 5,
			0, 0,
			rIconMenu + menuHelpOffset, 6,
			0, 0
		},
		HMStringResItem { // Proportional, dog-eared
			rIconMenu + menuHelpOffset, 7,
			0, 0,
			rIconMenu + menuHelpOffset, 8,
			0, 0
		}
	}
};

resource 'STR#' (rIconMenu + menuHelpOffset, purgeable)
{
	{
		"To create square icons which occupy the full 32x32 square available, choose this item.",
		"To create square icons which occupy the full 32x32 square available, choose this item."
			"Checked because this is the current selection.",
		"To create square icons which occupy the full 32x32 square available, with a small folded-"
			"over corner (dog ear), choose this item.",
		"To create square icons which occupy the full 32x32 square available, with a small folded-"
			"over corner (dog ear), choose this item.  Checked because this is the current selection.",
		"To create icons which are proportional to the imageÕs original dimensions, choose this item.",
		"To create icons which are proportional to the imageÕs original dimensions, choose this item.  "
			"Checked because this is the current selection.",
		"To create icons which are proportional to the imageÕs original dimensions, with a small folded-"
			"over corner (dog ear), choose this item.",
		"To create icons which are proportional to the imageÕs original dimensions, with a small folded-"
			"over corner (dog ear), choose this item.  Checked because this is the current selection."
	}
};

/***********************************************************************/
/**********************                           **********************/
/**********************     Crop Pop-Up Menu      **********************/
/**********************                           **********************/
/***********************************************************************/

resource 'hmnu' (rCropMenu, purgeable) 
{
	HelpMgrVersion, hmDefaultOptions, 0, 0,
	hmnuBlankItem, // Defaults
	{
		hmnuBlankItem, // Crop menu title
		HMStringResItem { // Nothing
			rCropMenu + menuHelpOffset, 1,
			0, 0,
			rCropMenu + menuHelpOffset, 2,
			0, 0
		},
		HMStringResItem { // Icon
			rCropMenu + menuHelpOffset, 3,
			0, 0,
			rCropMenu + menuHelpOffset, 4,
			0, 0
		},
		HMStringResItem { // Image
			rCropMenu + menuHelpOffset, 5,
			0, 0,
			rCropMenu + menuHelpOffset, 6,
			0, 0
		}
	}
};

resource 'STR#' (rCropMenu + menuHelpOffset, purgeable)
{
	{
		"To ignore the currently selected area in the image when saving, choose this item.",
		"To ignore the currently selected area in the image when saving, choose this item.  "
			"Checked because this is the current selection.",
		"To use the selected area to indicate where an icon should be derived from, choose "
			"this item.",
		"To use the selected area to indicate where an icon should be derived from, choose "
			"this item.  Checked because this is the current selection.",
		"To use the selected area to crop the image, choose this item.",
		"To use the selected area to crop the image, choose "
			"this item.  Checked because this is the current selection."
	}
};

/***********************************************************************/
/**********************                           **********************/
/**********************    Save As Pop-Up Menu    **********************/
/**********************                           **********************/
/***********************************************************************/

resource 'hmnu' (rSaveMenu, purgeable) 
{
	HelpMgrVersion, hmDefaultOptions, 0, 0,
	HMStringResItem { // Defaults
		rSaveMenu + menuHelpOffset, 1,
		rSaveMenu + menuHelpOffset, 2,
		rSaveMenu + menuHelpOffset, 3,
		0, 0
	},
	{ }
};

resource 'STR#' (rSaveMenu + menuHelpOffset, purgeable)
{
	{
		"To save the image in the indicated format, choose this item.",
		"To save the image in the indicated format, choose this item.  Not available "
			"because JPEGView for the most part doesnÕt do file conversions.",
		"JPEGView will save the image in this format."
	}
};

/***********************************************************************/
/**********************                           **********************/
/********************** Slide Control Pop-Up Menu **********************/
/**********************                           **********************/
/***********************************************************************/

resource 'hmnu' (rSlideControlMenu, purgeable) 
{
	HelpMgrVersion, hmDefaultOptions, 0, 0,
	hmnuBlankItem, // Defaults
	{
		hmnuBlankItem, // Slide Control menu title
		HMStringResItem { // User-controlled
			rSlideControlMenu + menuHelpOffset, 1,
			0, 0,
			rSlideControlMenu + menuHelpOffset, 2,
			0, 0
		},
		HMStringResItem { // Automatic
			rSlideControlMenu + menuHelpOffset, 3,
			0, 0,
			rSlideControlMenu + menuHelpOffset, 4,
			0, 0
		}
	}
};

resource 'STR#' (rSlideControlMenu + menuHelpOffset, purgeable)
{
	{
		"To operate the slide show under user-control, choose this item.  You will "
			"be responsible for controlling the slide showÕs progress.",
		"To operate the slide show under user-control, choose this item.  "
			"Checked because this this is the current selection.",
		"To run the slide show automatically, with a fixed delay between each "
			"image, choose this item.",
		"To run the slide show automatically, with a fixed delay between each "
			"image, choose this item.  Checked because this this is the current "
			"selection."
	}
};

/***********************************************************************/
/**********************                           **********************/
/**********************  Slide Source Pop-Up Menu **********************/
/**********************                           **********************/
/***********************************************************************/

resource 'hmnu' (rSlideSourceMenu, purgeable) 
{
	HelpMgrVersion, hmDefaultOptions, 0, 0,
	hmnuBlankItem, // Defaults
	{
		hmnuBlankItem, // Slide Control menu title
		HMStringResItem { // Images in Memory
			rSlideSourceMenu + menuHelpOffset, 1,
			0, 0,
			rSlideSourceMenu + menuHelpOffset, 2,
			0, 0
		},
		HMStringResItem { // Images from Disk
			rSlideSourceMenu + menuHelpOffset, 3,
			0, 0,
			rSlideSourceMenu + menuHelpOffset, 4,
			0, 0
		}
	}
};

resource 'STR#' (rSlideSourceMenu + menuHelpOffset, purgeable)
{
	{
		"To view a slide show consisting solely of currently open images, choose "
			"this item.",
		"To view a slide show consisting solely of currently open images, choose "
			"this item.  Checked because this this is the current selection.",
		"To view a slide show consisting of images found in a given folder on a "
			"disk, choose this item.",
		"To view a slide show consisting of images found in a given folder on a "
			"disk, choose this item.  Checked because this this is the current "
			"selection."
	}
};

/***********************************************************************/
/**********************                           **********************/
/**********************      Time Pop-Up Menu     **********************/
/**********************                           **********************/
/***********************************************************************/

resource 'hmnu' (rTimeMenu, purgeable) 
{
	HelpMgrVersion, hmDefaultOptions, 0, 0,
	hmnuBlankItem, // Defaults
	{
		hmnuBlankItem, // Time menu title
		HMStringResItem { // seconds
			rTimeMenu + menuHelpOffset, 1,
			0, 0,
			rTimeMenu + menuHelpOffset, 2,
			0, 0
		},
		HMStringResItem { // minutes
			rTimeMenu + menuHelpOffset, 3,
			0, 0,
			rTimeMenu + menuHelpOffset, 4,
			0, 0
		},
		HMStringResItem { // hours
			rTimeMenu + menuHelpOffset, 5,
			0, 0,
			rTimeMenu + menuHelpOffset, 6,
			0, 0
		}
	}
};

resource 'STR#' (rTimeMenu + menuHelpOffset, purgeable)
{
	{
		"To set the units for the slide show delay to seconds, choose this item.",
		"To set the units for the slide show delay to seconds, choose this item.  "
			"Checked because this this is the current selection.",
		"To set the units for the slide show delay to minutes, choose this item.",
		"To set the units for the slide show delay to minutes, choose this item.  "
			"Checked because this this is the current selection.",
		"To set the units for the slide show delay to hours, choose this item.",
		"To set the units for the slide show delay to hours, choose this item.  "
			"Checked because this this is the current selection."
	}
};

/***********************************************************************/
/*************************                    **************************/
/*************************    Quality Menu    **************************/
/*************************                    **************************/
/***********************************************************************/

resource 'hmnu' (rQualityMenu, purgeable) 
{
	HelpMgrVersion, hmDefaultOptions, 0, 0,
	hmnuBlankItem, // Defaults
	{
		hmnuBlankItem, // Quality menu title
		HMStringResItem {
			rQualityMenu + menuHelpOffset, 1,
			0, 0,
			rQualityMenu + menuHelpOffset, 2,
			0, 0
		},
		HMStringResItem { // High quality
			rQualityMenu + menuHelpOffset, 3,
			rQualityMenu + menuHelpOffset, 4,
			rQualityMenu + menuHelpOffset, 5,
			0, 0
		},
		HMStringResItem { // Normal quality
			rQualityMenu + menuHelpOffset, 6,
			0, 0,
			rQualityMenu + menuHelpOffset, 7,
			0, 0
		}
	}
};

resource 'STR#' (rQualityMenu + menuHelpOffset, purgeable)
{
	{
		"Redraws the active window using Òvery highÓ quality.  This uses JPEGViewÕs "
			"improved dithering with a slower, but extremely accurate scaling "
			"algorithm.",
		"Redraws the active window using Òvery highÓ quality.  Checked because this "
			"is the current quality setting for the active window.",
		"Redraws the active window using ÒhighÓ quality.  This uses JPEGViewÕs "
			"improved dithering together with a fast, medium-quality scaling "
			"algorithm.",
		"Redraws the active window using ÒhighÓ quality.  Not available because "
			"high quality only benefits 256-color systems.",
		"Redraws the active window using ÒhighÓ quality.  Checked because this is "
			"the current quality setting for the active window.",
		"Redraws the active window using ÒnormalÓ quality.  This uses the "
			"MacintoshÕs built-in dithering and scaling.",
		"Redraws the active window using ÒnormalÓ quality.  Checked because this is "
			"the current quality setting for the active window."
	}
};

/***********************************************************************/
/**********************                           **********************/
/**********************     Prefs Pop-Up Menu     **********************/
/**********************                           **********************/
/***********************************************************************/

resource 'hmnu' (rPrefsMenu, purgeable) 
{
	HelpMgrVersion, hmDefaultOptions, 0, 0,
	hmnuBlankItem, // Defaults
	{
		hmnuBlankItem, // Preferences menu title
		HMStringResItem { // Windows
			rPrefsMenu + menuHelpOffset, 1,
			0, 0,
			rPrefsMenu + menuHelpOffset, 2,
			0, 0
		},
		HMStringResItem { // Display options
			rPrefsMenu + menuHelpOffset, 3,
			0, 0,
			rPrefsMenu + menuHelpOffset, 4,
			0, 0
		},
		HMStringResItem { // Offscreen Bitmaps
			rPrefsMenu + menuHelpOffset, 5,
			0, 0,
			rPrefsMenu + menuHelpOffset, 6,
			0, 0
		},
		HMStringResItem { // Files
			rPrefsMenu + menuHelpOffset, 7,
			0, 0,
			rPrefsMenu + menuHelpOffset, 8,
			0, 0
		},
		HMStringResItem { // Startup/Miscellany
			rPrefsMenu + menuHelpOffset, 9,
			0, 0,
			rPrefsMenu + menuHelpOffset, 10,
			0, 0
		}
	}
};

resource 'STR#' (rPrefsMenu + menuHelpOffset, purgeable)
{
	{
		"To display options which allow you to control the size and location of "
			"new JPEGView windows, choose this item.",
		"To display options which allow you to control the size and location of "
			"new JPEGView windows, choose this item.  Checked because these options "
			"are currently visible.",
		"To display options which allow you to control JPEGViewÕs use of colors and "
			"dithering, choose this item.",
		"To display options which allow you to control JPEGViewÕs use of colors and "
			"dithering, choose this item.  Checked because these options are "
			"currently visible.",
		"To display options which allow you to control the characteristics of the "
			"JPEGViewÕs bitmaps, choose this item.",
		"To display options which allow you to control the characteristics of the "
			"JPEGViewÕs bitmaps, choose this item.  Checked because these options "
			"are currently visible.",
		"To display options which allow you to control file type fixing and to "
			"specify defaults when saving images, choose this item.",
		"To display options which allow you to control file type fixing and to "
			"specify defaults when saving images, choose this item.  Checked "
			"because these options are currently visible.",
		"To display options which allow you to control various other aspects of "
			"JPEGViewÕs behavior, choose this item.",
		"To display options which allow you to control various other aspects of "
			"JPEGViewÕs behavior, choose this item.  Checked because these options "
			"are currently visible."
	}
};

/***********************************************************************/
/**********************                           **********************/
/**********************      Help Pop-Up Menu     **********************/
/**********************                           **********************/
/***********************************************************************/

resource 'hmnu' (rHelpMenu, purgeable) 
{
	HelpMgrVersion, hmDefaultOptions, 0, 0,
	hmnuBlankItem, // Defaults
	{
		hmnuBlankItem, // Help menu title
		HMStringResItem { // Overview
			rHelpMenu + menuHelpOffset, 1,
			0, 0,
			rHelpMenu + menuHelpOffset, 1,
			0, 0
		},
		HMStringResItem { // Viewing Images
			rHelpMenu + menuHelpOffset, 2,
			0, 0,
			rHelpMenu + menuHelpOffset, 2,
			0, 0
		},
		HMStringResItem { // Viewing Images
			rHelpMenu + menuHelpOffset, 3,
			0, 0,
			rHelpMenu + menuHelpOffset, 3,
			0, 0
		},
		HMStringResItem { // Special Effects
			rHelpMenu + menuHelpOffset, 4,
			0, 0,
			rHelpMenu + menuHelpOffset, 4,
			0, 0
		},
		HMStringResItem { // Colors And Quantization
			rHelpMenu + menuHelpOffset, 5,
			0, 0,
			rHelpMenu + menuHelpOffset, 5,
			0, 0
		},
		HMStringResItem { // Saving Images
			rHelpMenu + menuHelpOffset, 6,
			0, 0,
			rHelpMenu + menuHelpOffset, 6,
			0, 0
		},
		HMStringResItem { // Slide Show
			rHelpMenu + menuHelpOffset, 7,
			0, 0,
			rHelpMenu + menuHelpOffset, 7,
			0, 0
		},
		HMStringResItem { // Preferences Settings
			rHelpMenu + menuHelpOffset, 8,
			0, 0,
			rHelpMenu + menuHelpOffset, 8,
			0, 0
		},
		HMStringResItem { // File Formats And File Types
			rHelpMenu + menuHelpOffset, 9,
			0, 0,
			rHelpMenu + menuHelpOffset, 9,
			0, 0
		},
		HMStringResItem { // Scripting JPEGView
			rHelpMenu + menuHelpOffset, 10,
			0, 0,
			rHelpMenu + menuHelpOffset, 10,
			0, 0
		},
		HMStringResItem { // General JPEG Questions & Answers
			rHelpMenu + menuHelpOffset, 11,
			0, 0,
			rHelpMenu + menuHelpOffset, 11,
			0, 0
		},
		HMStringResItem { // JPEGView Questions & Answers
			rHelpMenu + menuHelpOffset, 12,
			0, 0,
			rHelpMenu + menuHelpOffset, 12,
			0, 0
		},
		HMStringResItem { // Hints And Tips
			rHelpMenu + menuHelpOffset, 13,
			0, 0,
			rHelpMenu + menuHelpOffset, 13,
			0, 0
		},
		HMStringResItem { // Where To Send Those Postcards
			rHelpMenu + menuHelpOffset, 14,
			0, 0,
			rHelpMenu + menuHelpOffset, 14,
			0, 0
		},
		HMStringResItem { // Acknowledgements
			rHelpMenu + menuHelpOffset, 15,
			0, 0,
			rHelpMenu + menuHelpOffset, 15,
			0, 0
		},
		HMStringResItem { // Program History
			rHelpMenu + menuHelpOffset, 16,
			0, 0,
			rHelpMenu + menuHelpOffset, 16,
			0, 0
		}
	}
};

resource 'STR#' (rHelpMenu + menuHelpOffset, purgeable)
{
	{
		"Gives a brief overview of JPEGViewÕs features and describes whatÕs new in this "
			"latest release.",
		"Describes the process of viewing images, including explanations "
			"of fast and slow window updating.",
		"Describes the use and operation of JPEGViewÕs floating windows.",
		"Describes the various viewing options available in the Edit and View menus, "
			"including full screen windows and cropped images.",
		"Provides an explanation of JPEGViewÕs use of color as well as a "
			"brief explanation of the Macintosh video model and of how "
			"dithering works.",
		"Explains JPEGViewÕs options for saving images.",
		"Describes the various parameters you can control from within "
			"the Slide Show options dialog.",
		"Explains the various preferences options and how they affect "
			"JPEGViewÕs operation.",
		"Gives an overview of how file types are determined and of what "
			"file types are supported by JPEGView.",
		"Provides a brief introduction of scripting using AppleScript and JPEGView.",
		"Provides excerpts from the JPEG Frequently Asked Questions list, "
			"compiled by Tom Lane of the Independent JPEG Group.",
		"Answers a number of commonly-asked questions concerning "
			"JPEGViewÕs operation.",
		"Lists a few important and useful techniques for getting the most "
			"out of JPEGViewÕs features.",
		"JPEGView is postcardware.  This section tells you where to send "
			"the postcards and why I would like to hear from you.",
		"Thanks to all those responsible for helping me get JPEGView off "
			"the ground!",
		"Lists in excruciating detail what changes were made between the "
			"different versions of JPEGView."
	}
};

/***********************************************************************/
/*************************                    **************************/
/*************************     Apple Menu     **************************/
/*************************                    **************************/
/***********************************************************************/

resource 'hmnu' (rAppleMenu, purgeable) 
{
	HelpMgrVersion, hmDefaultOptions, 0, 0,
	hmnuBlankItem, // Defaults
	{
		hmnuBlankItem, // Apple menu title
		HMStringResItem { // About JPEGView...
			rAppleMenu + menuHelpOffset, 1,
			rAppleMenu + menuHelpOffset, 2,
			0, 0,
			0, 0
		},
		HMStringResItem { // About JPEGView Help...
			rAppleMenu + menuHelpOffset, 3,
			rAppleMenu + menuHelpOffset, 4,
			0, 0,
			0, 0
		}
	}
};

resource 'STR#' (rAppleMenu + menuHelpOffset, purgeable)
{
	{
		"Displays information about JPEGView, including credits if you show the "
			"statistics floating window.",
		"Displays information about JPEGView, including credits if you show the "
			"statistics floating window.  Not available because there is a "
			"dialog box on the screen",
		"Explains where the online help can be found for those who think "
			"that Apple put the Help menu there to embarrass them.",
		"Explains where the online help can be found.  "
			"Not available because there is a dialog box on the screen."
	}
};

/***********************************************************************/
/*************************                    **************************/
/*************************      File Menu     **************************/
/*************************                    **************************/
/***********************************************************************/

resource 'hmnu' (rFileMenu, purgeable) 
{
	HelpMgrVersion, hmDefaultOptions, 0, 0,
	hmnuBlankItem, // Defaults
	{
		HMStringResItem { // File menu title
			rFileMenu + menuHelpOffset, 1,
			rFileMenu + menuHelpOffset, 2,
			rFileMenu + menuHelpOffset, 3,
			rFileMenu + menuHelpOffset, 4
		},
		HMStringResItem { // Open...
			rFileMenu + menuHelpOffset, 5,
			rFileMenu + menuHelpOffset, 6,
			0, 0,
			0, 0
		},
		HMStringResItem { // Import...
			rFileMenu + menuHelpOffset, 7,
			rFileMenu + menuHelpOffset, 8,
			0, 0,
			0, 0
		},
		HMStringResItem { // Close
			rFileMenu + menuHelpOffset, 9,
			rFileMenu + menuHelpOffset, 10,
			0, 0,
			0, 0
		},
		HMStringResItem { // Close All
			rFileMenu + menuHelpOffset, 11,
			rFileMenu + menuHelpOffset, 12,
			0, 0,
			0, 0
		},
		HMSkipItem { },
		HMStringResItem { // Save As...
			rFileMenu + menuHelpOffset, 13,
			rFileMenu + menuHelpOffset, 14,
			0, 0,
			0, 0
		},
		HMSkipItem { },
		HMStringResItem { // Slide Show...
			rFileMenu + menuHelpOffset, 15,
			rFileMenu + menuHelpOffset, 16,
			0, 0,
			0, 0
		},
		HMStringResItem { // Begin Slide Show
			rFileMenu + menuHelpOffset, 17,
			rFileMenu + menuHelpOffset, 18,
			0, 0,
			0, 0
		},
		HMStringResItem { // End Slide Show
			rFileMenu + menuHelpOffset, 19,
			rFileMenu + menuHelpOffset, 20,
			0, 0,
			0, 0
		},
		HMSkipItem { },
		HMStringResItem { // Page Setup...
			rFileMenu + menuHelpOffset, 21,
			0, 0,
			0, 0,
			0, 0
		},
		HMStringResItem { // Print...
			rFileMenu + menuHelpOffset, 22,
			rFileMenu + menuHelpOffset, 23,
			0, 0,
			0, 0
		},
		HMSkipItem { },
		HMStringResItem { // Preferences...
			rFileMenu + menuHelpOffset, 24,
			rFileMenu + menuHelpOffset, 25,
			0, 0,
			0, 0
		},
		HMSkipItem { },
		HMStringResItem { // Quit
			rFileMenu + menuHelpOffset, 26,
			rFileMenu + menuHelpOffset, 27,
			0, 0,
			0, 0
		}
	}
};

resource 'STR#' (rFileMenu + menuHelpOffset, purgeable)
{
	{
		"File menu\n\n"
			"Use this menu to open, close, and save images, as well "
			"as to access JPEGViewÕs slide show and preferences options.",
		"File menu\n\n"
			"This menu is not available because there is a dialog box on the screen.",
		"File menu\n\n"
			"This menu is not available because there is a dialog box on the screen.",
		"This item is not available because there is a dialog box on the screen.",
		"Opens a new JPEG, GIF, or PICT image.",
		"Opens a new JPEG, GIF, or PICT image.  Not available because there is a "
			"dialog box on the screen.",
		"Opens a new image, regardless of what type the Finder thinks it is.",
		"Opens a new image, regardless of what type the Finder thinks it is.  Not "
			"available because there is a dialog box on the screen.",
		"Closes the active window.",
		"Closes the active window.  Not available because there are no open "
			"windows to close.",
		"Closes all open image windows.  This command does not close the Help "
			"window or any visible floating windows (Statistics, Comments, Colors).",
		"Closes all open image windows.  Not available because there are no open "
			"images.",
		"Saves the image in the active window in either PICT, JFIF, or SCRN "
			"format.",
		"Saves the image in the active window.  Not available because the "
			"active window does not contain a JPEG image.",
		"Opens the Slide Show Options dialog, allowing you to specify the settings "
			"to be used for the next slide show.",
		"Opens the Slide Show Options dialog, allowing you to specify the settings "
			"to be used for the next slide show.  Not available because there is a "
			"dialog box on the screen.",
		"Begins JPEGViewÕs slide show, using the most recent settings.",
		"Begins JPEGViewÕs slide show, using the most recent settings.  Not "
			"available because the current settings are invalid.",
		"Brings the current slide show to an end.",
		"Brings the current slide show to an end.  Not available because no slide "
			"show is currently running.",
		"Displays a dialog box which allows you to set paper size, orientation, and "
			"other printing options.",
		"Prints the current image at its maximum size on a single sheet of paper.  You "
			"can specify printing options (such as the number of copies) in the dialog "
			"box that appears.",
		"Prints the current image at its maximum size on a single sheet of paper.  Not "
			"available because the frontmost window does not contain an image.",
		"Opens the Preferences dialog, allowing you to modify the way JPEGView "
			"normally works.",
		"Opens the Preferences dialog, allowing you to modify the way JPEGView "
			"normally works.  Not available because there is a dialog box on the "
			"screen.",
		"Closes all open windows and quits JPEGView.",
		"Closes all open windows and quits JPEGView.  Not available because there "
			"is a dialog box on the screen."
	}
};

/***********************************************************************/
/*************************                    **************************/
/*************************      Edit Menu     **************************/
/*************************                    **************************/
/***********************************************************************/

resource 'hmnu' (rEditMenu, purgeable) 
{
	HelpMgrVersion, hmDefaultOptions, 0, 0,
	HMStringResItem { // Defaults
		0, 0,
		rEditMenu + menuHelpOffset, 1,
		0, 0,
		0, 0
	},
	{
		HMStringResItem { // Edit menu title
			rEditMenu + menuHelpOffset, 2,
			rEditMenu + menuHelpOffset, 3,
			rEditMenu + menuHelpOffset, 4,
			rEditMenu + menuHelpOffset, 5
		},
		HMStringResItem { // Undo
			0, 0,
			rEditMenu + menuHelpOffset, 6,
			0, 0,
			0, 0
		},
		HMSkipItem { },
		HMStringResItem { // Cut
			rEditMenu + menuHelpOffset, 7,
			rEditMenu + menuHelpOffset, 8,
			0, 0,
			0, 0
		},
		HMStringResItem { // Copy
			rEditMenu + menuHelpOffset, 9,
			rEditMenu + menuHelpOffset, 10,
			0, 0,
			0, 0
		},
		HMStringResItem { // Cut
			rEditMenu + menuHelpOffset, 11,
			rEditMenu + menuHelpOffset, 12,
			0, 0,
			0, 0
		},
		HMStringResItem { // Clear
			rEditMenu + menuHelpOffset, 13,
			rEditMenu + menuHelpOffset, 14,
			0, 0,
			0, 0
		},
		HMSkipItem { },
		HMStringResItem { // Select Screen Area
			rEditMenu + menuHelpOffset, 15,
			rEditMenu + menuHelpOffset, 16,
			0, 0,
			0, 0
		},
		HMSkipItem { },
		HMStringResItem { // Crop & Zoom
			rEditMenu + menuHelpOffset, 17,
			rEditMenu + menuHelpOffset, 18,
			0, 0,
			0, 0
		},
		HMStringResItem { // Uncrop Image
			rEditMenu + menuHelpOffset, 19,
			rEditMenu + menuHelpOffset, 20,
			0, 0,
			0, 0
		}
	}
};

resource 'STR#' (rEditMenu + menuHelpOffset, purgeable)
{
	{
		"Not available because JPEGView does not support this function.",
		"Edit menu\n\n"
			"Use this menu to cut, copy, and paste text in a dialog box, or to "
				"perform cropping and zooming operations on an image.",
		"Edit menu\n\n"
			"This menu is not available because none of the items pertains to the "
				"active window.",
		"Edit menu\n\n"
			"This menu is not available because there is a dialog box on the screen.",
		"This item is not available because there is a dialog box on the screen.",
		"Reverses the effects of the last operation.  Not available because "
			"JPEGView does not support this function.",
		"Cuts the selected text or graphic, removing it from the document, and "
			"places it in the Clipboard, making it available for a future Paste "
			"command.",
		"Cuts the selected text or graphic, removing it from the document, and "
			"places it in the Clipboard.  Not available because JPEGView does not "
			"support this function.",
		"Copies the selected text or graphic and places it in the Clipboard, making "
			"it available for a future Paste command.",
		"Copies the selected text or graphic and places it in the Clipboard.  Not "
			"available because JPEGView does not support this function.",
		"Pastes text or graphics from the Clipboard into the active document.",
		"Pastes text or graphics from the Clipboard into the active document.  Not "
			"available because JPEGView does not support this function.",
		"Removes the selected text or graphic without placing it in the Clipboard.",
		"Removes the selected text or graphic without placing it in the Clipboard.  "
			"Not available because JPEGView does not support this function.",
		"Selects a screen-sized area of the active window for cropping.  Using "
			"Crop & Zoom on this selection will result in an image sized exactly "
			"right for your screen, without scaling.",
		"Selects a screen-sized area of the active window for cropping.  "
			"Not available because this operation is not applicable to the "
			"active window.",
		"Crops the selected area to a new window and zooms that window to full "
			"size, if possible.",
		"Crops the selected area to a new window and zooms that window to full "
			"size, if possible.  Not available because there is no active graphic "
			"selection in the active window.",
		"Removes the cropping from the active image, restoring it to its full "
			"original size.",
		"Removes the cropping from the active image, restoring it to its full "
			"original size.  Not available because the active window does not "
			"contain a cropped image."
	}
};

/***********************************************************************/
/*************************                    **************************/
/*************************      View Menu     **************************/
/*************************                    **************************/
/***********************************************************************/

resource 'hmnu' (rViewMenu, purgeable) 
{
	HelpMgrVersion, hmDefaultOptions, 0, 0,
	hmnuBlankItem, // Defaults
	{
		HMStringResItem { // View menu title
			rViewMenu + menuHelpOffset, 1,
			rViewMenu + menuHelpOffset, 2,
			rViewMenu + menuHelpOffset, 3,
			rViewMenu + menuHelpOffset, 4
		},
		HMStringResItem { // Full Screen
			rViewMenu + menuHelpOffset, 5,
			rViewMenu + menuHelpOffset, 6,
			rViewMenu + menuHelpOffset, 7,
			0, 0
		},
		HMSkipItem { },
		HMStringResItem { // Resize To Screen
			rViewMenu + menuHelpOffset, 8,
			rViewMenu + menuHelpOffset, 9,
			0, 0,
			0, 0
		},
		HMSkipItem { },
		HMStringResItem { // Normal Size
			rViewMenu + menuHelpOffset, 10,
			rViewMenu + menuHelpOffset, 11,
			0, 0,
			0, 0
		},
		HMStringResItem { // Halve Size
			rViewMenu + menuHelpOffset, 12,
			rViewMenu + menuHelpOffset, 13,
			0, 0,
			0, 0
		},
		HMStringResItem { // Double Size
			rViewMenu + menuHelpOffset, 14,
			rViewMenu + menuHelpOffset, 15,
			0, 0,
			0, 0
		},
		HMStringResItem { // Maximum Size
			rViewMenu + menuHelpOffset, 16,
			rViewMenu + menuHelpOffset, 17,
			0, 0,
			0, 0
		},
		HMSkipItem { },
		HMStringResItem { // Shrink By 10%
			rViewMenu + menuHelpOffset, 18,
			rViewMenu + menuHelpOffset, 19,
			0, 0,
			0, 0
		},
		HMStringResItem { // Expand By 10%
			rViewMenu + menuHelpOffset, 20,
			rViewMenu + menuHelpOffset, 21,
			0, 0,
			0, 0
		}
	}
};

resource 'STR#' (rViewMenu + menuHelpOffset, purgeable)
{
	{
		"View menu\n\n"
			"Use this menu to switch between a normal and a full-screen window "
			"and to adjust the scaling factor of the active image.",
		"View menu\n\n"
			"This menu is not available because the active window does not "
				"contain an image.",
		"View menu\n\n"
			"This menu is not available because there is a dialog box on the screen.",
		"This item is not available because there is a dialog box on the screen.",
		"Expands the active window to cover the entire screen, including the "
			"menubar area.  If the image has been scaled, its size will be "
			"recalculated to utilize the extra area.",
		"Toggles the active window between a full-screen window and a normal "
			"window.  Not available because the active window does not contain "
			"an image.",
		"Shrinks the active window back to a normal-sized window and restores "
			"the menubar.  The image is scaled down to fit the smaller window, if "
			"necessary.",
		"Expands the active windowÕs image to its natural size on the current "
			"monitor.",
		"Expands the active windowÕs image to its natural size on the current "
			"monitor.  Not available because the active window contains no image.",
		"Restores the scale factor of the active windowÕs image to 100%.  If the "
			"full-size image does not fit on-screen, it will be scaled downward "
			"to fit.",
		"Restores the scale factor of the active windowÕs image to 100%.  Not "
			"available because this operation would have no effect on the active "
			"window.",
		"Reduces the scale factor of the active windowÕs image by half.",
		"Reduces the scale factor of the active windowÕs image by half.  Not "
			"available because this operation would have no effect on the active "
			"window.",
		"Doubles the scale factor of the active windowÕs image.",
		"Doubles the scale factor of the active windowÕs image.  Not available "
			"because this operation would have no effect on the active window.",
		"Expands the active windowÕs image to its largest possible size within "
			"the bounds of the current screen.",
		"Expands the active windowÕs image to its largest possible size within "
			"the bounds of the current screen.  Not available because this operation "
			"would have no effect on the active window.",
		"Reduces the scale factor of the active windowÕs image by 10%.",
		"Reduces the scale factor of the active windowÕs image by 10%.  Not "
			"available because this operation would have no effect on the active "
			"window.",
		"Increases the scale factor of the active windowÕs image by 10%.",
		"Increases the scale factor of the active windowÕs image by 10%.  Not "
			"available because this operation would have no effect on the active "
			"window."
	}
};

/***********************************************************************/
/*************************                    **************************/
/*************************    Colors Menu     **************************/
/*************************                    **************************/
/***********************************************************************/

resource 'hmnu' (rColorsMenu, purgeable) 
{
	HelpMgrVersion, hmDefaultOptions, 0, 0,
	hmnuBlankItem, // Defaults
	{
		HMStringResItem { // Colors menu title
			rColorsMenu + menuHelpOffset, 1,
			rColorsMenu + menuHelpOffset, 2,
			rColorsMenu + menuHelpOffset, 3,
			rColorsMenu + menuHelpOffset, 4
		},
		HMStringResItem { // System Palette
			rColorsMenu + menuHelpOffset, 5,
			rColorsMenu + menuHelpOffset, 6,
			rColorsMenu + menuHelpOffset, 7,
			0, 0
		},
		HMStringResItem { // Grayscale Palette
			rColorsMenu + menuHelpOffset, 8,
			rColorsMenu + menuHelpOffset, 9,
			rColorsMenu + menuHelpOffset, 10,
			0, 0
		},
		HMStringResItem { // Image Palette
			rColorsMenu + menuHelpOffset, 11,
			rColorsMenu + menuHelpOffset, 12,
			rColorsMenu + menuHelpOffset, 13,
			0, 0
		},
		HMStringResItem { // Two-Pass Quantization
			rColorsMenu + menuHelpOffset, 14,
			rColorsMenu + menuHelpOffset, 15,
			rColorsMenu + menuHelpOffset, 16,
			0, 0
		},
		HMSkipItem { },
		HMStringResItem { // Dithering
			rColorsMenu + menuHelpOffset, 17,
			rColorsMenu + menuHelpOffset, 18,
			rColorsMenu + menuHelpOffset, 19,
			0, 0
		},
		HMSkipItem { },
		HMStringResItem { // Quality
			0, 0,
			rColorsMenu + menuHelpOffset, 20,
			0, 0,
			0, 0
		}
	}
};

resource 'STR#' (rColorsMenu + menuHelpOffset, purgeable)
{
	{
		"Colors menu\n\n"
			"Use this menu to select a new set of display colors, or to control "
			"the dithering or quality of an image.",
		"Colors menu\n\n"
			"This menu is not available because the active window does not "
			"contain an image.",
		"Colors menu\n\n"
			"This menu is not available because there is a dialog box on the screen.",
		"This item is not available because there is a dialog box on the screen.",
		"Redraws the active window using the standard set of colors that are "
			"available in the Finder.",
		"Redraws the active window using the standard set of colors that are "
			"available in the Finder.  Not available because only windows on "
			"screens with 16 or more colors can use these colors.",
		"Redraws the active window using the standard set of colors that are "
			"available in the Finder.  Checked because these are the current colors "
			"for the active window.",
		"Redraws the active window using an evenly-spaced set of grays.",
		"Redraws the active window using an evenly-spaced set of grays.  Not "
			"available because only windows on screens with 256 or fewer colors can "
			"be forced into grayscales.",
		"Redraws the active window using an evenly-spaced set of grays.  Checked "
			"because these are the current colors for the active window.",
		"Redraws the active window using the colors stored in the image data.",
		"Redraws the active window using the colors stored in the image data.  "
			"Not available because no such colors were found.",
		"Redraws the active window using the colors stored in the image data.  "
		"Redraws the active window using an optimal color set, calculated by "
			"JPEGView using a two-pass color reduction scheme.",
		"Redraws the active window using an optimal color set.  Not available "
			"because an optimal color set is only useful for images with Thousands "
			"or more colors drawn on screens with only 16 or 256 colors available.",
		"Redraws the active window using an optimal color set, calculated by "
			"JPEGView using a two-pass color reduction scheme.  Checked because "
			"these are the current colors for the active window.",
		"Redraws the active window with dithering turned on.",
		"Toggles dithering on or off for the active window.  Not available "
			"because dithering is unnecessary in the active window.",
		"Redraws the active window with dithering turned off.",
		"Redraws the active window with different quality settings.  Not "
			"available because these options are only relevant to screens with "
			"256 or more colors."
	}
};

/***********************************************************************/
/*************************                    **************************/
/*************************     Window Menu    **************************/
/*************************                    **************************/
/***********************************************************************/

resource 'hmnu' (rWindowMenu, purgeable) 
{
	HelpMgrVersion, hmDefaultOptions, 0, 0,
	HMStringResItem { // Defaults
		rWindowMenu + menuHelpOffset, 1,
		rWindowMenu + menuHelpOffset, 2,
		rWindowMenu + menuHelpOffset, 3,
		0, 0
	},
	{
		HMStringResItem { // Window menu title
			rWindowMenu + menuHelpOffset, 4,
			rWindowMenu + menuHelpOffset, 5,
			rWindowMenu + menuHelpOffset, 6,
			rWindowMenu + menuHelpOffset, 7
		},
		HMCompareItem { // Show Statistics
			"Show Statistics",
			HMStringResItem { // Statistics
				rWindowMenu + menuHelpOffset, 8,
				rWindowMenu + menuHelpOffset, 9,
				0, 0,
				0, 0
			},
		},
		HMCompareItem { // Hide Statistics
			"Hide Statistics",
			HMStringResItem { // Statistics
				rWindowMenu + menuHelpOffset, 10,
				rWindowMenu + menuHelpOffset, 11,
				0, 0,
				0, 0
			},
		},
		HMCompareItem { // Show Comments
			"Show Comments",
			HMStringResItem { // Statistics
				rWindowMenu + menuHelpOffset, 12,
				rWindowMenu + menuHelpOffset, 13,
				0, 0,
				rWindowMenu + menuHelpOffset, 14
			},
		},
		HMCompareItem { // Hide Comments
			"Hide Comments",
			HMStringResItem { // Statistics
				rWindowMenu + menuHelpOffset, 15,
				rWindowMenu + menuHelpOffset, 16,
				0, 0,
				rWindowMenu + menuHelpOffset, 17
			},
		},
		HMCompareItem { // Show Colors
			"Show Colors",
			HMStringResItem { // Statistics
				rWindowMenu + menuHelpOffset, 18,
				rWindowMenu + menuHelpOffset, 19,
				0, 0,
				0, 0
			},
		},
		HMCompareItem { // Hide Colors
			"Hide Colors",
			HMStringResItem { // Statistics
				rWindowMenu + menuHelpOffset, 20,
				rWindowMenu + menuHelpOffset, 21,
				0, 0,
				0, 0
			},
		},
		HMSkipItem { },
		HMStringResItem { // Previous Image
			rWindowMenu + menuHelpOffset, 22,
			rWindowMenu + menuHelpOffset, 23,
			0, 0,
			0, 0
		},
		HMStringResItem { // Next Image
			rWindowMenu + menuHelpOffset, 24,
			rWindowMenu + menuHelpOffset, 25,
			0, 0,
			0, 0
		},
		HMSkipItem { }
	}
};

resource 'STR#' (rWindowMenu + menuHelpOffset, purgeable)
{
	{
		"Brings the window for this image to the front.",
		"Brings the window for this image to the front.  This item is not available "
			"because there is a dialog box on the screen.",
		"Brings the window for this image to the front.  Checked because this window "
			"is currently the active window.",
		"Window menu\n\n"
			"Use this menu to switch between JPEGViewÕs currently open windows "
			"and to toggle the visibility of the Statistics, Comments, and Colors "
			"floating windows.",
		"Window menu\n\n"
			"This menu is not available because there is a dialog box on the screen.",
		"Window menu\n\n"
			"This menu is not available because there is a dialog box on the screen.",
		"This item is not available because there is a dialog box on the screen.",
		"Makes the JPEGView Statistics floating window visible.  The Statistics "
			"floating window displays various pieces of interesting information "
			"about the active window.",
		"Makes the JPEGView Statistics floating window visible.  Not "
			"available because there is a dialog box on the screen.",
		"Hides the JPEGView Statistics floating window.",
		"Hides the JPEGView Statistics floating window.  Not "
			"available because there is a dialog box on the screen.",
		"Makes the JPEGView Comments floating window visible.  The Comments "
			"floating window displays any comments associated with the "
			"active window.",
		"Makes the JPEGView Comments floating window visible.  Not "
			"available because there is a dialog box on the screen.",
		"Makes the JPEGView Comments floating window visible.  Marked because JPEGView "
			"found comments stored with the active image.",
		"Hides the JPEGView Comments floating window.",
		"Hides the JPEGView Comments floating window.  Not "
			"available because there is a dialog box on the screen.",
		"Hides the JPEGView Comments floating window.  Marked because JPEGView "
			"found comments stored with the active image.",
		"Makes the JPEGView Colors floating window visible.  The Colors "
			"floating window displays a sample of the current set of colors "
			"available for drawing.",
		"Makes the JPEGView Colors floating window visible.  Not "
			"available because there is a dialog box on the screen.",
		"Hides the JPEGView Colors floating window.",
		"Hides the JPEGView Colors floating window.  Not "
			"available because there is a dialog box on the screen.",
		"Cycles forward through the list of image windows below.  If the first "
			"image is currently in front, this command will bring forward the last "
			"image in the list.",
		"Cycles forward through the list of image windows below.  Not "
			"available because there are less than two windows currently open.",
		"Cycles backward through the list of image windows below.  If the last "
			"image is currently in front, this will bring forward the first "
			"image in the list.",
		"Cycles backward through the list of image windows below.  Not "
			"available because there are less than two windows currently open."
	}
};

/***********************************************************************/
/*************************                    **************************/
/*************************      Help Menu     **************************/
/*************************                    **************************/
/***********************************************************************/

resource 'hmnu' (kHMHelpMenuID, purgeable) 
{
	HelpMgrVersion, hmDefaultOptions, 0, 0,
	hmnuBlankItem, // Defaults
	{
		HMStringResItem { // JPEGView Help...
			kHMHelpMenuID + menuHelpOffset, 1,
			kHMHelpMenuID + menuHelpOffset, 2,
			0, 0,
			0, 0
		}
	}
};

resource 'STR#' (kHMHelpMenuID + menuHelpOffset, purgeable)
{
	{
		"Opens a window containing JPEGViewÕs extensive online help.",
		"Opens a window containing JPEGViewÕs extensive online help.  Not available "
			"because there is a dialog box on the screen."
	}
};
