<?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="NSSavePanel" up="Gui">
  <head>
    <title>NSSavePanel</title>
    <author name="Jonathan Gapen">
      <email address="jagapen@smithlab.chem.wisc.edu">
        jagapen@smithlab.chem.wisc.edu
      </email>
    </author>
    <author name="Nicola Pero">
      <email address="n.pero@mi.flashnet.it">
        n.pero@mi.flashnet.it
      </email>
    </author>
    <author name="Mirko Viviani">
      <email address="mirko.viviani@rccr.cremona.it">
        mirko.viviani@rccr.cremona.it
      </email>
    </author>
    <abstract>Standard panel for saving files</abstract>
    <copy>1999, 2000 Free Software Foundation, Inc.</copy>
  </head>
  <body>
    <front><contents /></front>
    <chapter>
      <heading>
        Software documentation for the NSSavePanel class
      </heading>
      <class name="NSSavePanel" super="NSPanel" ovadd="1.0.0">
        <declared>AppKit/NSSavePanel.h</declared>
        <desc>
          <p>
            Implements a panel that allows the user to save
            a file.
          </p>
          <p>
            There is only one save panel per application and this
            panel is obtained by calling the
            <ref type="method" id="+savePanel">
              +savePanel
            </ref>
            class method. From here, you should set the required
            file extension using
            <ref type="method" id="-setRequiredFileType:">
              -setRequiredFileType:
            </ref>
            When ready to show the panel, use the
            <ref type="method" id="-runModal">
              -runModal
            </ref>
            , or a similar method to show the panel in a modal
            session. Other methods allow you to set the
            initial directory and initially choosen file. The
            method will return one of NSOKButton or
            NSCancelButton depending on which button the
            user pressed.
          </p>
          <p>
            Use the
            <ref type="method" id="-filename">
              -filename
            </ref>
            method to retrieve the name of the file the user
            choose.
          </p>
        </desc>
        <ivariable type="BOOL" name="_OKButtonPressed" 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="NSView*" name="_accessoryView" 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="NSArray*" name="_allowedFileTypes" 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="_allowsOtherFileTypes" 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="NSView*" name="_bottomView" 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="NSBrowser*" name="_browser" 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="_canCreateDirectories" 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="_canSelectHiddenExtension" 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="_delegateHasCompareFilter" 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="_delegateHasDirectoryDidChange" 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="_delegateHasSelectionDidChange" 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="_delegateHasShowFilenameFilter" 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="_delegateHasUserEnteredFilename" 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="_delegateHasValidNameFilter" 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="_directory" 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="NSForm*" name="_form" 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="_fullFileName" 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="_isExtensionHidden" 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="NSButton*" name="_okButton" 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="NSSize" name="_originalMinSize" 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="NSSize" name="_originalSize" 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="NSTextField*" name="_titleField" 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="NSView*" name="_topView" 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="_treatsFilePackagesAsDirectories" 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>
        <method type="NSSavePanel*" factory="yes" ovadd="1.0.0">
          <sel>savePanel</sel>
          <desc>
            <p>
              Creates (if needed) and returns the shared
              NSSavePanel instance.
            </p>
          </desc>
        </method>
        <method type="NSURL*" ovadd="10.0.0">
          <sel>URL</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="NSView*" ovadd="1.0.0">
          <sel>accessoryView</sel>
          <desc>
            <p>Returns the accesory view (if any).</p>
            <p>
              See Also:
              <ref type="method" id="-setAccessoryView:">
                -setAccessoryView:
              </ref>
            </p>
          </desc>
        </method>
        <method type="NSArray*" ovadd="10.0.0">
          <sel>allowedFileTypes</sel>
          <desc>
            <p>
              Returns an array of the allowed file types. The
              default, indicated by <code>nil</code>, is any
              file type is allowed.
            </p>
            <p>
              See Also:
              <ref type="method" id="-setAllowedFileTypes:">
                -setAllowedFileTypes:
              </ref>
            </p>
          </desc>
        </method>
        <method type="BOOL" ovadd="10.0.0">
          <sel>allowsOtherFileTypes</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="10.0.0">
          <sel>beginSheetForDirectory:</sel>
          <arg type="NSString*">path</arg>
          <sel>file:</sel>
          <arg type="NSString*">filename</arg>
          <sel>modalForWindow:</sel>
          <arg type="NSWindow*">docWindow</arg>
          <sel>modalDelegate:</sel>
          <arg type="id">delegate</arg>
          <sel>didEndSelector:</sel>
          <arg type="SEL">didEndSelector</arg>
          <sel>contextInfo:</sel>
          <arg type="void*">contextInfo</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="BOOL" ovadd="10.0.0">
          <sel>canCreateDirectories</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="BOOL" ovadd="10.0.0">
          <sel>canSelectHiddenExtension</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>cancel:</sel>
          <arg type="id">sender</arg>
          <desc>
            <p>
              Invoked by the 'Cancel' button. Saves the current
              directory browsed and stop the modal event loop
              using
              <ref type="method" id="-stopModalWithCode:" class="NSApplication">[NSApplication -stopModalWithCode:]</ref>
            </p>
            <p>
              See Also: <ref type="method" id="-ok:">-ok:</ref>
            </p>
          </desc>
        </method>
        <method type="NSString*" ovadd="1.0.0">
          <sel>directory</sel>
          <desc>
            <p>
              Returns the directory choosen by the user. Do not
              invoke directory within a modal loop because the
              information that these methods fetch is
              updated only upon return.
            </p>
            <p>
              See Also:
              <ref type="method" id="-setDirectory:">
                -setDirectory:
              </ref>
            </p>
          </desc>
        </method>
        <method type="NSString*" ovadd="1.0.0">
          <sel>filename</sel>
          <desc>
            <p>
              Returns the absolute filename choosen by the
              user. Do not invoke filename within a modal loop
              because the information that these methods fetch
              is updated only upon return.
            </p>
          </desc>
        </method>
        <method type="BOOL" ovadd="10.0.0">
          <sel>isExpanded</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="BOOL" ovadd="10.0.0">
          <sel>isExtensionHidden</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="NSString*" ovadd="10.0.0">
          <sel>message</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="NSString*" ovadd="10.0.0">
          <sel>nameFieldLabel</sel>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>ok:</sel>
          <arg type="id">sender</arg>
          <desc>
            <p>Invoked by the "OK" button.</p>
            <p>
              See Also:
              <ref type="method" id="-cancel:">
                -cancel:
              </ref>
            </p>
          </desc>
        </method>
        <method type="NSString*" ovadd="1.0.0">
          <sel>prompt</sel>
          <desc>
            <p>
              Returns the prompt used in the current path
              field.
            </p>
            <p>
              See Also:
              <ref type="method" id="-setPrompt:">
                -setPrompt:
              </ref>
            </p>
          </desc>
        </method>
        <method type="NSString*" ovadd="1.0.0">
          <sel>requiredFileType</sel>
          <desc>
            <p>
              Returns the required file type. The default,
              indicated by an empty string, is no required
              file type.
            </p>
            <p>
              This method is equivalent to calling
              <ref type="method" id="-allowedFileTypes">
                -allowedFileTypes
              </ref>
              and returning the first element of the list of
              allowed types, or the empty string if there are
              none.
            </p>
            <p>
              See Also:
              <ref type="method" id="-setRequiredFileType:">
                -setRequiredFileType:
              </ref>
            </p>
          </desc>
        </method>
        <method type="int" ovadd="1.0.0">
          <sel>runModal</sel>
          <desc>
            <p>
              Shows the save panel for the user. This method
              invokes
              <ref type="method" id="-runModalForDirectory:file:">
                -runModalForDirectory:file:
              </ref>
              with empty strings for the filename. Returns
              NSOKButton (if the user clicks the OK button)
              or NSCancelButton (if the user clicks the Cancel
              button).
            </p>
            <p>
              See Also:
              <ref type="method" id="-runModalForDirectory:file:">
                -runModalForDirectory:file:
              </ref>
            </p>
          </desc>
        </method>
        <method type="int" ovadd="1.0.0">
          <sel>runModalForDirectory:</sel>
          <arg type="NSString*">path</arg>
          <sel>file:</sel>
          <arg type="NSString*">filename</arg>
          <desc>
            <p>
              Initializes the panel to the directory
              specified by <var>path</var> and, optionally,
              the file specified by <var>filename</var>, then
              displays it and begins its modal event loop;
              <var>path</var> and <var>filename</var> can be
              empty strings. The method invokes
              [NSApplication:-runModalForWindow:]
              method with self as the argument. Returns
              NSOKButton (if the user clicks the OK button)
              or NSCancelButton (if the user clicks the Cancel
              button). If <var>path</var> is <code>nil</code>
              then the panel displays the last selected directory
              or as a last resort, the current working directory.
            </p>
            <p>
              See Also:
              <ref type="method" id="-runModal">
                -runModal
              </ref>
            </p>
          </desc>
        </method>
        <method type="int" ovadd="10.0.0">
          <sel>runModalForDirectory:</sel>
          <arg type="NSString*">path</arg>
          <sel>file:</sel>
          <arg type="NSString*">filename</arg>
          <sel>relativeToWindow:</sel>
          <arg type="NSWindow*">window</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>selectText:</sel>
          <arg type="id">sender</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setAccessoryView:</sel>
          <arg type="NSView*">aView</arg>
          <desc>
            <p>
              Sets an accessory view which is shown near the
              bottom of the panel. The panel is automatically
              expanded with enough room to show the extra
              view. You can use this extra view to customize
              various characteristics of the file selection
              mechanism. For instance you could add a popup
              button which allows the user to select the format
              that the file is saved in (e.g. rtf or txt). See
              also
              <ref type="method" id="-validateVisibleColumns">
                -validateVisibleColumns
              </ref>
              .
            </p>
            <p>
              See Also:
              <ref type="method" id="-accessoryView">
                -accessoryView
              </ref>
            </p>
          </desc>
        </method>
        <method type="void" ovadd="10.0.0">
          <sel>setAllowedFileTypes:</sel>
          <arg type="NSArray*">types</arg>
          <desc>
            <p>
              Specifies the allowed <var>types</var>, i.e.,
              file name extensions to be appended to any selected
              files that don't already have one of those
              extensions. The elements of the array should
              be strings that do not include the period that begins
              the extension. Invoke this method each time the Save
              panel is used for another file type within the
              application. If you do not invoke it, or set
              it to an empty array or <code>nil</code>, no extension
              will be appended, indicated by <code>nil</code>
              returned from
              <ref type="method" id="-allowedFileTypes">
                -allowedFileTypes
              </ref>
              .
            </p>
            <p>
              See Also:
              <ref type="method" id="-allowedFileTypes">
                -allowedFileTypes
              </ref>
            </p>
          </desc>
        </method>
        <method type="void" ovadd="10.0.0">
          <sel>setAllowsOtherFileTypes:</sel>
          <arg type="BOOL">flag</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="10.0.0">
          <sel>setCanCreateDirectories:</sel>
          <arg type="BOOL">flag</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="10.0.0">
          <sel>setCanSelectHiddenExtension:</sel>
          <arg type="BOOL">flag</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setDirectory:</sel>
          <arg type="NSString*">path</arg>
          <desc>
            <p>
              Sets the current <var>path</var> name in the Save
              panel's browser. The <var>path</var> argument
              must be an absolute <var>path</var> name.
            </p>
            <p>
              See Also:
              <ref type="method" id="-directory">
                -directory
              </ref>
            </p>
          </desc>
        </method>
        <method type="void" ovadd="10.0.0">
          <sel>setExtensionHidden:</sel>
          <arg type="BOOL">flag</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="10.0.0">
          <sel>setMessage:</sel>
          <arg type="NSString*">message</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="10.0.0">
          <sel>setNameFieldLabel:</sel>
          <arg type="NSString*">label</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setPrompt:</sel>
          <arg type="NSString*">prompt</arg>
          <desc>
            <p>
              Returns the <var>prompt</var> of the Save panel
              field that holds the current pathname or file name.
              By default this <var>prompt</var> is 'Name: '.
            </p>
            <p>
              See Also:
              <ref type="method" id="-prompt">
                -prompt
              </ref>
            </p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setRequiredFileType:</sel>
          <arg type="NSString*">fileType</arg>
          <desc>
            <p>
              Specifies the type, a file name extension to be
              appended to any selected files that don't
              already have that extension; The argument type
              should not include the period that begins the
              extension. Invoke this method each time the
              Save panel is used for another file type within the
              application. If you do not invoke it, or set
              it to empty string or <code>nil</code>, no extension
              will be appended, indicated by an empty string
              returned from
              <ref type="method" id="-requiredFileType">
                -requiredFileType
              </ref>
              .
            </p>
            <p>
              This method is equivalent to calling
              <ref type="method" id="-setAllowedFileTypes:">
                -setAllowedFileTypes:
              </ref>
              with an array containing only <var>fileType</var>.
            </p>
            <p>
              See Also:
              <ref type="method" id="-requiredFileType">
                -requiredFileType
              </ref>
            </p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setTitle:</sel>
          <arg type="NSString*">title</arg>
          <desc>
            <p>
              Sets the <var>title</var> of the NSSavePanel to
              <var>title</var>. By default, 'Save' is the
              <var>title</var> string. If you adapt the
              NSSavePanel for other uses, its
              <var>title</var> should reflect the user action
              that brings it to the screen.
            </p>
            <p>
              See Also: <ref type="method" id="-title">-title</ref>
            </p>
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>setTreatsFilePackagesAsDirectories:</sel>
          <arg type="BOOL">flag</arg>
          <desc>
            <p>
              Sets the NSSavePanel's behavior for displaying file
              packages (for example, MyApp.app) to the user.
              If <var>flag</var> is <code>YES</code>, the user is
              shown files and subdirectories within a file
              package. If <code>NO</code>, the NSSavePanel
              shows each file package as a file, thereby giving
              no indication that it is a directory.
            </p>
            <p>
              See Also:
              <ref type="method" id="-treatsFilePackagesAsDirectories">-treatsFilePackagesAsDirectories</ref>
            </p>
          </desc>
        </method>
        <method type="NSString*" ovadd="1.0.0">
          <sel>title</sel>
          <desc>
            <p>Returns the title of the save panel</p>
            <p>
              See Also:
              <ref type="method" id="-setTitle:">
                -setTitle:
              </ref>
            </p>
          </desc>
        </method>
        <method type="BOOL" ovadd="1.0.0">
          <sel>treatsFilePackagesAsDirectories</sel>
          <desc>
            Returns <code>YES</code> if file packages are shown
            as directories. The default is <code>NO</code>.
          </desc>
        </method>
        <method type="void" ovadd="1.0.0">
          <sel>validateVisibleColumns</sel>
          <desc>
            <p>
              Validates and possibly reloads the browser
              columns that are visible in the Save panel by
              causing the delegate method
              <ref type="method" id="-panel:shouldShowFilename:">
                -panel:shouldShowFilename:
              </ref>
              to be invoked. One situation in which this method
              would find use is whey you want the browser to show
              only files with certain extensions based on the
              selection made in an accessory-view pop-up
              list. When the user changes the selection, you
              would invoke this method to revalidate the visible
              columns.
            </p>
          </desc>
        </method>
      </class>
    </chapter>
    <chapter>
      <heading>
        Software documentation for the
        NSObject(NSSavePanelDelegate)
        informal protocol
      </heading>
      <category name="NSSavePanelDelegate" class="NSObject" ovadd="1.0.0">
        <declared>AppKit/NSSavePanel.h</declared>
        <desc>
          <em>Description forthcoming.</em>
        </desc>
        <method type="NSComparisonResult" ovadd="1.0.0">
          <sel>panel:</sel>
          <arg type="id">sender</arg>
          <sel>compareFilename:</sel>
          <arg type="NSString*">filename1</arg>
          <sel>with:</sel>
          <arg type="NSString*">filename2</arg>
          <sel>caseSensitive:</sel>
          <arg type="BOOL">caseSensitive</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="10.0.0">
          <sel>panel:</sel>
          <arg type="id">sender</arg>
          <sel>directoryDidChange:</sel>
          <arg type="NSString*">path</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="BOOL" ovadd="1.0.0">
          <sel>panel:</sel>
          <arg type="id">sender</arg>
          <sel>isValidFilename:</sel>
          <arg type="NSString*">filename</arg>
          <desc>
            The NSSavePanel sends this message just before the end
            of a modal session for each file name displayed or
            selected (including file names in multiple
            selections). The delegate determines whether
            it wants the file identified by <var>filename</var>; it
            returns <code>YES</code> if the file name is valid,
            or <code>NO</code> if the NSSavePanel should stay in its
            modal loop and wait for the user to type in or select
            a different file name or names. If the delegate refuses a
            file name in a multiple selection, none of the file
            names in the selection are accepted.
          </desc>
        </method>
        <method type="BOOL" ovadd="1.0.0">
          <sel>panel:</sel>
          <arg type="id">sender</arg>
          <sel>shouldShowFilename:</sel>
          <arg type="NSString*">filename</arg>
          <desc>
            Sent by NSSavePanel to check whether a file should be
            displayed in the panel or not. The
            <var>filename</var> argument is the complete path to
            the file.
          </desc>
        </method>
        <method type="NSString*" ovadd="1.0.0">
          <sel>panel:</sel>
          <arg type="id">sender</arg>
          <sel>userEnteredFilename:</sel>
          <arg type="NSString*">fileName</arg>
          <sel>confirmed:</sel>
          <arg type="BOOL">okFlag</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="10.0.0">
          <sel>panel:</sel>
          <arg type="id">sender</arg>
          <sel>willExpand:</sel>
          <arg type="BOOL">expanding</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
        <method type="void" ovadd="10.0.0">
          <sel>panelSelectionDidChange:</sel>
          <arg type="id">sender</arg>
          <desc>
            <em>Description forthcoming.</em>
          </desc>
        </method>
      </category>
    </chapter>
  </body>
</gsdoc>
