<?xml version="1.0"?>
<!DOCTYPE gsdoc PUBLIC "-//GNUstep//DTD gsdoc 1.0.3//EN" "http://www.gnustep.org/gsdoc-1_0_3.dtd">
<gsdoc base="NSMenuItem" up="Gui">
  <head>
    <title>NSMenuItem</title>
    <author name="Ovidiu Predescu">
      <email address="ovidiu@net-community.com">
        ovidiu@net-community.com
      </email>
    </author>
    <author name="David Lazaro Saz">
      <email address="khelekir@encomix.es">
        khelekir@encomix.es
      </email>
    </author>
    <abstract>The menu cell class.</abstract>
    <copy>1996 Free Software Foundation, Inc.</copy>
  </head>
  <body>
    <front><contents /></front>
    <chapter>
      <heading>
        Software documentation for the NSMenuItem class
      </heading>
      <class name="NSMenuItem" super="NSObject" ovadd="1.0.0">
        <declared>AppKit/NSMenuItem.h</declared>
        <conform>NSMenuItem</conform>
        <conform>NSValidatedUserInterfaceItem</conform>
        <desc>
          <em>Description forthcoming.</em>
        </desc>
        <ivariable type="SEL" name="_action" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="BOOL" name="_changesState" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="BOOL" name="_enabled" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="NSImage*" name="_image" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="char" name="_indentation" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="BOOL" name="_isAlternate" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="NSString*" name="_keyEquivalent" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="unsigned int" name="_keyEquivalentModifierMask" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="NSMenu*" name="_menu" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="NSImage*" name="_mixedStateImage" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="unsigned int" name="_mnemonicLocation" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="NSImage*" name="_offStateImage" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="NSImage*" name="_onStateImage" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="id" name="_representedObject" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="int" name="_state" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="NSMenu*" name="_submenu" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="int" name="_tag" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="id" name="_target" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="NSString*" name="_title" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
        <ivariable type="NSString*" name="_toolTip" validity="protected" ovadd="1.0.0">
          <desc>
            <em>Warning</em> the underscore at the start of the
            name of this instance variable indicates that, even
            though it is not technically <em>private</em>, it is
            intended for internal use within the package, and
            you should not use the variable in other code.
          </desc>
        </ivariable>
      </class>
    </chapter>
    <chapter>
      <heading>
        Software documentation for the
        NSMenuItem(GNUstepExtra) category
      </heading>
      <category name="GNUstepExtra" class="NSMenuItem" ovadd="0.0.0" ovrem="0.0.0">
        <declared>AppKit/NSMenuItem.h</declared>
        <desc>
          <em>Description forthcoming.</em>
        </desc>
        <method type="BOOL" ovadd="0.0.0" ovrem="0.0.0">
          <sel>changesState</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="0.0.0" ovrem="0.0.0">
          <sel>setChangesState:</sel>
          <arg type="BOOL">flag</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
      </category>
    </chapter>
    <chapter>
      <heading>
        Software documentation for the NSMenuItem protocol
      </heading>
      <protocol name="NSMenuItem" ovadd="1.0.0">
        <declared>AppKit/NSMenuItem.h</declared>
        <conform>NSCopying</conform>
        <conform>NSCoding</conform>
        <conform>NSObject</conform>
        <desc>
          Specifies the methods that an object must implement
          if it is to be placed in a menu as a menu item. The
          <ref type="class" id="NSMenuItem">NSMenuItem</ref>
            class provides a reference implementation suitable
            for most uses.
        </desc>
        <method type="id&lt;NSMenuItem&gt;" factory="yes" ovadd="1.0.0">
          <sel>separatorItem</sel>
          <desc>
            <p>
              Returns a seperator. This is just a blank menu
              item which serves to divide the menu into seperate
              parts.
            </p>
          </desc>
        </method>
        <method type="void" factory="yes" ovadd="1.0.0">
          <sel>setUsesUserKeyEquivalents:</sel>
          <arg type="BOOL">flag</arg>
          <desc>
            <p>
              Sets a <var>flag</var> that, when set to
              <code>YES</code>, objects of this class will use
              user defined key equivalents.
            </p>
          </desc>
        </method>
        <method type="BOOL" factory="yes" ovadd="1.0.0">
          <sel>usesUserKeyEquivalents</sel>
          <desc>
            <p>
              Returns a flag which indicates if the receiver
              will use user defined key equivalents.
            </p>
          </desc>
        </method>
        <method type="SEL" ovadd="1.0.0">
          <sel>action</sel>
          <desc>
            <p>Returns the action of the receiver.</p>
          </desc>
        </method>
        <method type="NSAttributedString*" ovadd="0.0.0">
          <sel>attributedTitle</sel>
          <desc>
            <p>
              Returns the menu item's title as an attributed
              string.
            </p>
          </desc>
        </method>
        <method type="BOOL" ovadd="1.0.0">
          <sel>hasSubmenu</sel>
          <desc>
            <p>
              Returns a boolean indicating if the receiver has
              a sub menu.
            </p>
          </desc>
        </method>
        <method type="NSImage*" ovadd="1.0.0">
          <sel>image</sel>
          <desc>
            <p>
              Returns the image to be displayed in the
              receiver.
            </p>
          </desc>
        </method>
        <method type="int" ovadd="0.0.0">
          <sel>indentationLevel</sel>
          <desc>
            <p>
              Returns the indentation level, a number between 0
              and 15.
            </p>
          </desc>
        </method>
        <method type="id" ovadd="1.0.0">
          <sel>initWithTitle:</sel>
          <arg type="NSString*">aString</arg>
          <sel>action:</sel>
          <arg type="SEL">aSelector</arg>
          <sel>keyEquivalent:</sel>
          <arg type="NSString*">charCode</arg>
          <desc>
            <p>
              Initializes the receiver with
              <var>aString</var> as the title. The method called
              with the menu is selected is represented by
              <var>aSelector</var>. The key equivalent which can
              be used to invoke this menu item is represented by
              <var>charCode</var>.
            </p>
          </desc>
        </method>
        <method type="BOOL" ovadd="0.0.0">
          <sel>isAlternate</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="BOOL" ovadd="1.0.0">
          <sel>isEnabled</sel>
          <desc>
            <p>
              Returns <code>YES</code> if the receiver is
              enabled.
            </p>
          </desc>
        </method>
        <method type="BOOL" ovadd="1.0.0">
          <sel>isSeparatorItem</sel>
          <desc>
            <p>
              Returns a boolean indicating if the receiver is a
              separator.
            </p>
          </desc>
        </method>
        <method type="NSString*" ovadd="1.0.0">
          <sel>keyEquivalent</sel>
          <desc>
            <p>Returns the key equivalent of the receiver.</p>
          </desc>
        </method>
        <method type="unsigned int" ovadd="1.0.0">
          <sel>keyEquivalentModifierMask</sel>
          <desc>
            <p>Returns the key equivalent mask.</p>
          </desc>
        </method>
        <method type="NSMenu*" ovadd="1.0.0">
          <sel>menu</sel>
          <desc>
            <p>
              Returns the menu to which this menu item is
              connected.
            </p>
          </desc>
        </method>
        <method type="NSImage*" ovadd="1.0.0">
          <sel>mixedStateImage</sel>
          <desc>
            <p>
              Returns the image to be displayed when the
              receiver is in the "Mixed" state.
            </p>
          </desc>
        </method>
        <method type="NSString*" ovadd="1.0.0">
          <sel>mnemonic</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="unsigned" ovadd="1.0.0">
          <sel>mnemonicLocation</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="NSImage*" ovadd="1.0.0">
          <sel>offStateImage</sel>
          <desc>
            <p>
              Returns the image to be displayed when the
              receiver is in the "Off" state.
            </p>
          </desc>
        </method>
        <method type="NSImage*" ovadd="1.0.0">
          <sel>onStateImage</sel>
          <desc>
            <p>
              Returns the image to be displayed when the
              receiver is in the "On" state.
            </p>
          </desc>
        </method>
        <method type="id" ovadd="1.0.0">
          <sel>representedObject</sel>
          <desc>
            <p>Returns the object represented by the reciever.</p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setAction:</sel>
          <arg type="SEL">aSelector</arg>
          <desc>
            <p>
              Sets the action as <var>aSelector</var> on the
              receiver.
            </p>
          </desc>
        </method>
        <method type="void" ovadd="0.0.0">
          <sel>setAlternate:</sel>
          <arg type="BOOL">isAlternate</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="0.0.0">
          <sel>setAttributedTitle:</sel>
          <arg type="NSAttributedString*">title</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setEnabled:</sel>
          <arg type="BOOL">flag</arg>
          <desc>
            <p>Set the receiver to be enabled.</p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setImage:</sel>
          <arg type="NSImage*">menuImage</arg>
          <desc>
            <p>Sets the image to be displayed in the receiver.</p>
          </desc>
        </method>
        <method type="void" ovadd="0.0.0">
          <sel>setIndentationLevel:</sel>
          <arg type="int">level</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setKeyEquivalent:</sel>
          <arg type="NSString*">aKeyEquivalent</arg>
          <desc>
            <p>Sets the key equivalent of the receiver.</p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setKeyEquivalentModifierMask:</sel>
          <arg type="unsigned int">mask</arg>
          <desc>
            <p>
              Sets the modfier for the key equivalent. These masks
              indicate if the key equivalent requires ALT,
              Control or other key modifiers.
            </p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setMenu:</sel>
          <arg type="NSMenu*">menu</arg>
          <desc>
            <p>
              Sets the <var>menu</var> which this item belongs to.
              This method does not retain the object represented
              by <var>menu</var>.
            </p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setMixedStateImage:</sel>
          <arg type="NSImage*">image</arg>
          <desc>
            <p>
              Sets the <var>image</var> to be displayed when the
              receiver is in the "Mixed" state.
            </p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setMnemonicLocation:</sel>
          <arg type="unsigned">location</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setOffStateImage:</sel>
          <arg type="NSImage*">image</arg>
          <desc>
            <p>
              Sets the <var>image</var> to be displayed when the
              receiver is in the "Off" state.
            </p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setOnStateImage:</sel>
          <arg type="NSImage*">image</arg>
          <desc>
            <p>
              Sets the <var>image</var> to be displayed when the
              receiver is in the "On" state.
            </p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setRepresentedObject:</sel>
          <arg type="id">anObject</arg>
          <desc>
            <p>
              Sets the object represented by the reciever to
              <var>anObject</var>.
            </p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setState:</sel>
          <arg type="int">state</arg>
          <desc>
            <p>Sets the <var>state</var> of the the receiver.</p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setSubmenu:</sel>
          <arg type="NSMenu*">submenu</arg>
          <desc>
            <p>
              Sets the <var>submenu</var> of the receiver. This
              method does retain the <var>submenu</var> object.
            </p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setTag:</sel>
          <arg type="int">anInt</arg>
          <desc>
            <p>
              Sets the tag of the reciever as <var>anInt</var>.
            </p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setTarget:</sel>
          <arg type="id">anObject</arg>
          <desc>
            <p>
              Sets the target as <var>anObject</var> on the
              receiver.
            </p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setTitle:</sel>
          <arg type="NSString*">aString</arg>
          <desc>
            <p>
              Sets the title of the menu, represented by
              <var>aString</var>.
            </p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setTitleWithMnemonic:</sel>
          <arg type="NSString*">stringWithAmpersand</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="0.0.0">
          <sel>setToolTip:</sel>
          <arg type="NSString*">toolTip</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="int" ovadd="1.0.0">
          <sel>state</sel>
          <desc>
            <p>Returns the state of the receiver.</p>
          </desc>
        </method>
        <method type="NSMenu*" ovadd="1.0.0">
          <sel>submenu</sel>
          <desc>
            <p>Returns the attached submenu.</p>
          </desc>
        </method>
        <method type="int" ovadd="1.0.0">
          <sel>tag</sel>
          <desc>
            <p>Returns the tag of the receiver.</p>
          </desc>
        </method>
        <method type="id" ovadd="1.0.0">
          <sel>target</sel>
          <desc>
            <p>Returns the target of the receiver.</p>
          </desc>
        </method>
        <method type="NSString*" ovadd="1.0.0">
          <sel>title</sel>
          <desc>
            <p>Returns the menu's title.</p>
          </desc>
        </method>
        <method type="NSString*" ovadd="0.0.0">
          <sel>toolTip</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="NSString*" ovadd="1.0.0">
          <sel>userKeyEquivalent</sel>
          <desc>
            <p>
              Returns the key equivalent defined by the users
              defaults.
            </p>
          </desc>
        </method>
        <method type="unsigned int" ovadd="1.0.0">
          <sel>userKeyEquivalentModifierMask</sel>
          <desc>
            <p>
              Returns the user defined key equivalent modifier.
            </p>
          </desc>
        </method>
      </protocol>
    </chapter>
  </body>
</gsdoc>
