unit ULORType; {v0.31}
{!!!
{!!!
  Any modifications to this file make to its copy in cul\CULDef directory,
  then copy it together with cul\CulObj\ULORObju file created by makecom2.exe
  to to cul\ULObj directory
!!!}
{ ULOR ULObj object options.}
interface

uses
  ULRecTyp;{ULREC.LST}

const
  ULORID = ord('U') + 256*ord('L') + 256*256*ord('O') + 256*256*256*ord('R');

type
  TULORRec = packed record {<Caption="Object options"
    ChildRecIDs=ULOFID
    Uses=ULOFType Enabled=1 Visible=1 HasRecName=1>}
    Head: TULRecHead;
    Info: TULRecInfo;
    TheRecIDStr: TULRecIDStr;
      { ID of the ulobj record described by this object }{ulrectyp ulobjdes}
    Caption: string;
      { Name of the record that is shown to the user }
    ChildRecIDsStr: string;
      { List of child RecIDs, in ASCII, comma separated. Used in MAKECOMP.  }
    TheFlags: TULRecFlags;
    SortExp: string;
      { Pascal expression that returns sort value of the record; of rfSortedByNumber
        is set, than the result should be number otherwise string. }
    EditFieldList: string;
      { List of names of the fields (comma separated, no spaces) that should
        appear in the edit window (in the given order). If not specified,
        all fields in normal order will be used. }
    BrowseFieldList: string;
      { List of names of the fields (comma separated, no spaces) that should
        appear in browser (in the given order). If not specified all fields
        will be used. }
    MenuFieldList: string;
      { List of names of the method fields (comma separated, no spaces)
        that should appear in local menu (e.gi in browser), in the given order.
        If not specified all method fields will be used. }
    BrowseChildRecIDs: string;
      { List of ULRecIDs (strings) of childs that should appear in browser that
        shows childs of this object (comma separated, no spaces). If empty, than
        all childs will be shown, if set to 0 browsing of childs will be disabled;
        see rfIsBrowseChild (in UserMode=umSysOp browsing shows all childs) }
    NameProp: string;
      { Name of the record's property, that is used as default for creating/searching
        ULObjPath; if = '', then first ULObj indexed field used if rfHasRecName set,
        otherwise TComponent.Name is used. Use TULObjDesc.EfNameProp to get the default
        name }
    MainProp: string;
      { Name of the main record's property. Calling it's Set method will cause
        sending cmULObjMainPropUpdated message. }
    DefDir: string;
      { Default directory where to look for files with this object
        or where create new file containing this object. Can be changed
        runtime. }
    OpenFilter: string;
      { filter for OpenDialog }
    SaveFilter: string;
      { filter for SaveDialog }
    { Name of the database table, if child records should be stored in the table. }
    Table: string;
    { List of index expressions separated by spaces. Index expression
      is just list of fieldnames separated by semicolons. The first expression
      defines the primary key. }
    Indexes: string;
  end;
  PULORRec = ^TULORRec;

implementation

end.
