;;=============================================================================
;;
;;	Copyright (C)1999-2001 by Eric Sunshine <sunshine@sunshineco.com>
;;
;; The contents of this file are copyrighted by Eric Sunshine.  This work 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.  You may distribute this file provided that this
;; copyright notice is retained.  Send comments to <sunshine@sunshineco.com>.
;;
;;=============================================================================
;;=============================================================================
;; next.cfg
;;
;;	Configuration options for the MacOS/X, MacOS/X Server, OpenStep,
;;	and NextStep platforms.
;;
;;=============================================================================

;;-----------------------------------------------------------------------------
;; Platform Configuration
;;
;; This section contains configuration information for each platform covered by
;; the Apple/NeXT port of Crystal Space.  The proper configuration keys are
;; identified by prepending the key "NeXT.Platform" to the platform name
;; identified by the NEXT.DESCRIPTION variable defined by that platform's
;; makefile from CS/libs/cssys/next.  For example, the makefile macosxs.mak
;; defines NEXT.DESCRIPTION as "MacOS/X Server", thus the configuration
;; information from keys beginning with "NeXT.Platform.MacOS/X Sever" are
;; consulted for that platform.
;;
;; The following configuration keys are recognized in each platform
;; configuration section:
;;
;; "menu"
;;	Identifies the menu configuration keys which describe the application's
;;	main menu.  The value of this key is appended to the string "Menu" to
;;	form the complete section name.  For instance, on MacOS/X, the value
;;	"aqua" identifies the keys which begin with "Menu.aqua".
;;
;;-----------------------------------------------------------------------------

; MacOS/X (Aqua interface)
NeXT.Platform.MacOS/X.menu = aqua

; MacOS/X Server 1.0 (Platinum interface)
NeXT.Platform.MacOS/X Server.menu = platinum

; OpenStep (NextStep interface)
NeXT.Platform.OpenStep.menu = nextstep

; NextStep
NeXT.Platform.NextStep.menu = nextstep

;;-----------------------------------------------------------------------------
;; Menu Configuration
;;
;; This section contains configuration information describing the layout and
;; operation of the application menu for any particular platform.  The
;; appropriate menu is chosen by the platform configuration section as
;; described above.  Two types of configuration information are recognized in
;; this section: menus and items.
;;
;; A menu block can define both the top-level application menu as well as any
;; submenu.  Keys for menus are identified with the prefix "NeXT.Menu" (such as
;; "NeXT.Menu.aqua").  The following configuration keys are recognized in each
;; menu configuration block:
;;
;; "title"
;;	This optional key defines the menu's title.  This key is most useful
;;	when used with submenus, in which case it defines the title of the menu
;;	item in the parent menu to which the submenu is attached.  Top-level
;;	menus do not typically require a title, in which case this key may be
;;	omitted.
;;
;; "type"
;;	This optional key defines the menu's special attribute.  Its value can
;;	be one of "window", "services", or "apple".  The "window" value
;;	designates the menu as the application's so-called "Windows" menu;
;;	"services" designates the menu as the application's "Services" menu;
;;	and "apple" designates the menu as the application's "Apple" menu.
;;	(The Apple menu designation is only meaningful on MacOS/X Server 1.0
;;	which conforms to the Platinum UI scheme.)  See the documentation for
;;	the NSApplication class (Cocoa and OpenStep) or the Application class
;;	(NextStep) for a description of these special menu designations.  If
;;	this key is omitted, then no special designation is applied to the
;;	menu.
;;
;; "menu"
;;	This key may appear zero or more times within each menu block.  Each
;;	time it appears, the submenu designated by the key's value is attached
;;	to this menu.  The value of this key is appended to the string
;;	"NeXT.Menu" to form the key prefix for the actual submenu definition.
;;	For instance, if the top-level menu contains menu records with the keys
;;	"apple" and "control" then keys prefixed with "NeXT.Menu.apple" and
;;	"NeXT.Menu.control" will be consulted to build submenus for this parent
;;	menu.  "menu" keys are processed sequentially so that they appear on
;;	the generated menu in the same order as they appear in the
;;	configuration file.  The configuration file does not allow duplicate
;;	keys, so you should suffix each "menu" key with a unique identifier.
;;	Small integers work well.  This suffix is otherwise ignored.  For
;;	example, "NeXT.Menu.control.menu.1", "NeXT.Menu.control.menu.2", etc.
;;
;; "item"
;;	This key may appear zero or more times within each menu section.  Each
;;	time it appears, the menu item designated by the key's value is
;;	attached to this menu.  The value of this key is appended to the string
;;	"NeXT.Item" to form the key prefix for the actual item definition.  For
;;	instance, if the value of this key is "quit" then keys prefixed with
;;	"NeXT.Item.quit" will be consulted to build the menu item for this
;;	menu.  "item" keys are processed sequentially so that they appear on
;;	the generated menu in the same order as they appear in the
;;	configuration file.  This configuration file does not allow duplicate
;;	keys, so you should suffix each "item" key with a unique identifier.
;;	Small integers work well.  This suffix is otherwise ignored.  For
;;	exmaple, "NeXT.Menu.control.item.1", "NeXT.Menu.control.item.2", etc.
;;
;; An item block defines the behavior and appearance of a plain (non-submenu)
;; menu item.  Keys for items are identified with the prefix "NeXT.Item" (such
;; as "NeXT.Item.quit").  The following configuration keys are recognized in
;; each item configuration block:
;;
;; "title"
;;	Defines the title which appears on the menu item.  The value may
;;	contain whitespace.
;;
;; "shortcut"
;;	Thie optional key defines the item's keyboard shortcut.  The shortcut
;;	should consist of a single character.  For instance, the "Quit" menu
;;	item is often assigned the shortcut "q".  If this key is omitted then
;;	no shortcut will be assigned to the menu item.
;;
;; "action"
;;	Defines the Objective-C selector which should be sent as this item's
;;	action.  The value of this key should be the exact Objective-C method
;;	name of the associated action method including the trailing colon (":")
;;	which is considered part of the selector's name.  For instance, the
;;	value of the action for the "Hide" item should be "hide:".
;;
;; "target"
;;	This optional key defines the target of the item's action.  The value
;;	of this key can be either "application" or "delegate".  If it is
;;	"application", then the action message is sent directly to the shared
;;	application object (NSApplication on OpenStep and Cocoa, and
;;	Application on NextStep).  If it is "delegate" then the action message
;;	is sent to the application object's delegate.  If the "target" key is
;;	omitted, then the action message is sent to the application's "first
;;	responder".
;;
;; "type"
;;	This optional key defines the item's special attribute.  The only
;;	recognized value for this key is "separator".  When an item is
;;	designated as a separator then a so-called separator line is inserted
;;	into the menu at the designated location and all other keys are
;;	ignored.  (The "separator" designation is not meaningful on NextStep.)
;;
;; "inherit"
;;	This optional key allows a menu item to inherit attributes from a
;;	different item definition.  Atributes specified in the local item
;;	definition override inherited attributes.  This key is most useful in
;;	cases where an item is nearly identical to another item except for one
;;	or two attributes (such as, for instance, the title).  The value of
;;	this key is appended to the string "NeXT.Item" to form the key prefix
;;	of the item definition from which this item should inherit.  For
;;	instance, if the value of the "inherit" key is "hide", then attributes
;;	will be inherited from the item defined by the "NeXT.Item.hide" keys.
;;	The "inherit" key may appear, at most, one time in an item block,
;;	though recursive inheritance is allowed.
;;
;;-----------------------------------------------------------------------------

; Macintosh Aqua-style menu
NeXT.Menu.aqua.menu=application

NeXT.Menu.application.title=CrystalSpace
NeXT.Menu.application.item.1=pause
NeXT.Menu.application.item.2=separator
NeXT.Menu.application.item.3=hide.application
NeXT.Menu.application.item.4=hide.others
NeXT.Menu.application.item.5=show.all
NeXT.Menu.application.item.6=separator
NeXT.Menu.application.item.7=quit.application

NeXT.Item.hide.application.inherit=hide
NeXT.Item.hide.application.title=Hide CrystalSpace

NeXT.Item.hide.others.title=Hide Others
NeXT.Item.hide.others.action=hideOtherApplications:
NeXT.Item.hide.others.target=application

NeXT.Item.show.all.title=Show All
NeXT.Item.show.all.action=unhideAllApplications:
NeXT.Item.show.all.target=application

NeXT.Item.quit.application.inherit=quit
NeXT.Item.quit.application.title=Quit CrystalSpace

; Macintosh Platinum-style menu
NeXT.Menu.platinum.menu.1=apple
NeXT.Menu.platinum.menu.2=control

NeXT.Menu.apple.type=apple

NeXT.Menu.control.title=Control
NeXT.Menu.control.item.1=pause
NeXT.Menu.control.item.2=separator
NeXT.Menu.control.item.3=quit

; NextStep-style menu
NeXT.Menu.nextstep.item.1=pause
NeXT.Menu.nextstep.item.2=hide
NeXT.Menu.nextstep.item.3=quit

; Generic item descriptions

NeXT.Item.separator.type=separator

NeXT.Item.pause.title=Pause
NeXT.Item.pause.shortcut=p
NeXT.Item.pause.action=togglePause:
NeXT.Item.pause.target=delegate

NeXT.Item.hide.title=Hide
NeXT.Item.hide.shortcut=h
NeXT.Item.hide.action=hide:
NeXT.Item.hide.target=application

NeXT.Item.quit.title=Quit
NeXT.Item.quit.shortcut=q
NeXT.Item.quit.action=quit:
NeXT.Item.quit.target=delegate
