function [Props,AsgnVals,DocInd] = pnames(RespObj)
%PNAMES  All public properties and their assignable values.
%
%   [PROPS,ASGNVALS] = PNAMES(RESPOBJ) returns the list PROPS of all
%   public properties of the object RESPOBJ, as well as their assignable 
%   values ASGNVALS.  Both PROPS and ASGNVALS are cell vectors of strings.
%
%   [PROPS,ASGNVALS,DOCIND] = PNAMES(RESPOBJ) also returns a logical  
%   vector DOCIND selecting the documented properties.
%
%   See also GET, SET.

%   Authors: P. Gahinet, 7-8-97
%   Revised: Karen D. Gondoly, 1-2-98 (Modified for Response Objects)
%            Adam W. DiVergilio
%   Copyright 1986-2000 The MathWorks, Inc. 
%   $Revision: 1.10 $   $Date: 2000/06/14 20:07:30 $

no = nargout;

% Response Object properties
Props = fieldnames(RespObj);

% Also return assignable values if needed
if no>1,
   AsgnVals = ...
        {'[ on | {off} ]'; ...
         '[ {none} | all | inputs | outputs ]'; ...
         'read only (background axis handle)'; ...
         '[ on | {off} ]'; ...
         'cell array of strings'; ...
         '[ on | {off} ]'; ...
         'cell array of input label strings'; ...
         'cell array of strings'; ...
         'cell array of strings'; ...
         '[ add | {replace} | replacechildren ]'; ...
         'cell array of output label strings'; ...
         'read only (figure handle)'; ...
         'read only (array of axis handles)';...
         'read only (cell array of handles)'; ...
         'read only (response type)'; ...
         'logical array'; ...
         'cell array of logical arrays'; ...
         'cell array of strings'; ...
         'cell array of [ {on} | off ]'; ...
         'title string'; ...
         'read only (UIcontextMenu handles)'; ...
         'x-label string'; ...
         '[ {auto} | manual ]'; ...
         'cell array of 1x2 vectors'; ...
         'y-label string'; ...
         '[ {auto} | manual ]'; ...
         'cell array of 1x2 vectors'; ...
         '[ on | {off} | xon | yon | reset ]';...
         'read only (refresh flag for axis limits)';...
         'read only (preference handle)';...
         'read only (ui handles)';...
         'read only (version number)'};
end

% Return selector for documented properties if requested
if no>2
   DocInd = logical(zeros(length(Props),1));
   DocInd([2,6,7,11,15,16,17,18,19,20,22,24,25,27]) = logical(1);
end
