summaryrefslogtreecommitdiff
path: root/packages/cocoaint/src/appkit/NSRuleEditor.inc
blob: 017637531a2d138ee4d2780c001d8efaeecd7a02 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
{ Parsed from AppKit.framework NSRuleEditor.h }


{$ifdef TYPES}
type
  NSRuleEditorPtr = ^NSRuleEditor;
  NSRuleEditorDelegateProtocolPtr = ^NSRuleEditorDelegateProtocol;
{$endif}

{$ifdef TYPES}
type
  NSRuleEditorNestingMode = NSUInteger;
  NSRuleEditorNestingModePtr = ^NSRuleEditorNestingMode;

const
  NSRuleEditorNestingModeSingle = 0;
  NSRuleEditorNestingModeList = 1;
  NSRuleEditorNestingModeCompound = 2;
  NSRuleEditorNestingModeSimple = 3;

type
  NSRuleEditorRowType = NSUInteger;
  NSRuleEditorRowTypePtr = ^NSRuleEditorRowType;

const
  NSRuleEditorRowTypeSimple = 0;
  NSRuleEditorRowTypeCompound = 1;
{$endif}

{$ifdef CLASSES}

type
  NSRuleEditor = objcclass external (NSControl)
  private
    _ruleDataSource: id;
    _ruleDelegate: id;
    _draggingRows: NSIndexSet;
    _rowCache: NSMutableArray;
    _slicesHolder: NSView;
    _slices: NSMutableArray;
    _sliceHeight: CGFloat;
    _alignmentGridWidth: CGFloat;
    _subviewIndexOfDropLine: NSInteger;
    _dropLineView: id;
    _currentAnimation: NSViewAnimation;
    _unused1: id;
    _stringsFileName: NSString;
    _standardLocalizer: id;
    _headerLocalizer: id;
    _predicate: NSPredicate;
    _nestingMode: NSInteger;
    _ruleEditorFlags: bitpacked record
      case byte of
        0: (_anonBitField__ruleEditorFlags0: cuint);
        1: (
          elideUpdating: 0..1;
          lastAlternateKeyValue: 0..1;
          extendedDelegateCalls: 0..1;
          editable: 0..1;
          settingSize: 0..1;
          suppressKeyDown: 0..1;
          dropWasSuccessful: 0..1;
          delegateWantsValidation: 0..1;
          disallowEmpty: 0..1;
          lastDrewWithFRAppearance: 0..1;
          allowsEmptyCompoundRows: 0..1;
          dropChangedRowCount: 0..1;
          reserved: 0..((1 shl 20)-1);
        );
      end;
    _typeKeyPath: NSString;
    _itemsKeyPath: NSString;
    _valuesKeyPath: NSString;
    _subrowsArrayKeyPath: NSString;
    _rowClass: pobjc_class;
    _boundArrayOwner: id;
    _boundArrayKeyPath: NSString;
    _ruleReserved1: id;
    _lastRow: NSInteger;
    _ruleReserved2: id;
  public
    procedure setDelegate(newValue: NSRuleEditorDelegateProtocol); message 'setDelegate:';
    function delegate: NSRuleEditorDelegateProtocol; message 'delegate';
    procedure setFormattingStringsFilename(newValue: NSString); message 'setFormattingStringsFilename:';
    function formattingStringsFilename: NSString; message 'formattingStringsFilename';
    procedure setFormattingDictionary(newValue: NSDictionary); message 'setFormattingDictionary:';
    function formattingDictionary: NSDictionary; message 'formattingDictionary';
    procedure reloadCriteria; message 'reloadCriteria';
    procedure setNestingMode(newValue: NSRuleEditorNestingMode); message 'setNestingMode:';
    function nestingMode: NSRuleEditorNestingMode; message 'nestingMode';
    procedure setRowHeight(newValue: CGFloat); message 'setRowHeight:';
    function rowHeight: CGFloat; message 'rowHeight';
    procedure setEditable(newValue: ObjCBOOL); message 'setEditable:';
    function isEditable: ObjCBOOL; message 'isEditable';
    procedure setCanRemoveAllRows(newValue: ObjCBOOL); message 'setCanRemoveAllRows:';
    function canRemoveAllRows: ObjCBOOL; message 'canRemoveAllRows';
    function predicate: NSPredicate; message 'predicate';
    procedure reloadPredicate; message 'reloadPredicate';
    function predicateForRow (row: NSInteger): NSPredicate; message 'predicateForRow:';
    function numberOfRows: NSInteger; message 'numberOfRows';
    function subrowIndexesForRow (rowIndex: NSInteger): NSIndexSet; message 'subrowIndexesForRow:';
    function criteriaForRow (row: NSInteger): NSArray; message 'criteriaForRow:';
    function displayValuesForRow (row: NSInteger): NSArray; message 'displayValuesForRow:';
    function rowForDisplayValue (displayValue: id): NSInteger; message 'rowForDisplayValue:';
    function rowTypeForRow (rowIndex: NSInteger): NSRuleEditorRowType; message 'rowTypeForRow:';
    function parentRowForRow (rowIndex: NSInteger): NSInteger; message 'parentRowForRow:';
    procedure addRow (sender: id); message 'addRow:';
    procedure insertRowAtIndex_withType_asSubrowOfRow_animate (rowIndex: NSInteger; rowType: NSRuleEditorRowType; parentRow: NSInteger; shouldAnimate: ObjCBOOL); message 'insertRowAtIndex:withType:asSubrowOfRow:animate:';
    procedure setCriteria_andDisplayValues_forRowAtIndex (criteria: NSArray; values: NSArray; rowIndex: NSInteger); message 'setCriteria:andDisplayValues:forRowAtIndex:';
    procedure removeRowAtIndex (rowIndex: NSInteger); message 'removeRowAtIndex:';
    procedure removeRowsAtIndexes_includeSubrows (rowIndexes: NSIndexSet; includeSubrows: ObjCBOOL); message 'removeRowsAtIndexes:includeSubrows:';
    function selectedRowIndexes: NSIndexSet; message 'selectedRowIndexes';
    procedure selectRowIndexes_byExtendingSelection (indexes: NSIndexSet; extend: ObjCBOOL); message 'selectRowIndexes:byExtendingSelection:';
    procedure setRowClass(newValue: pobjc_class); message 'setRowClass:';
    function rowClass: pobjc_class; message 'rowClass';
    procedure setRowTypeKeyPath(newValue: NSString); message 'setRowTypeKeyPath:';
    function rowTypeKeyPath: NSString; message 'rowTypeKeyPath';
    procedure setSubrowsKeyPath(newValue: NSString); message 'setSubrowsKeyPath:';
    function subrowsKeyPath: NSString; message 'subrowsKeyPath';
    procedure setCriteriaKeyPath(newValue: NSString); message 'setCriteriaKeyPath:';
    function criteriaKeyPath: NSString; message 'criteriaKeyPath';
    procedure setDisplayValuesKeyPath(newValue: NSString); message 'setDisplayValuesKeyPath:';
    function displayValuesKeyPath: NSString; message 'displayValuesKeyPath';
  end;
{$endif}

{$ifdef PROTOCOLS}

type
  NSRuleEditorDelegateProtocol = objcprotocol external name 'NSRuleEditorDelegate' (NSObjectProtocol)
  required
    function ruleEditor_numberOfChildrenForCriterion_withRowType (editor: NSRuleEditor; criterion: id; rowType: NSRuleEditorRowType): NSInteger; message 'ruleEditor:numberOfChildrenForCriterion:withRowType:';
    function ruleEditor_child_forCriterion_withRowType (editor: NSRuleEditor; index: NSInteger; criterion: id; rowType: NSRuleEditorRowType): id; message 'ruleEditor:child:forCriterion:withRowType:';
    function ruleEditor_displayValueForCriterion_inRow (editor: NSRuleEditor; criterion: id; row: NSInteger): id; message 'ruleEditor:displayValueForCriterion:inRow:';
  optional
    function ruleEditor_predicatePartsForCriterion_withDisplayValue_inRow (editor: NSRuleEditor; criterion: id; value: id; row: NSInteger): NSDictionary; message 'ruleEditor:predicatePartsForCriterion:withDisplayValue:inRow:';
    procedure ruleEditorRowsDidChange (notification: NSNotification); message 'ruleEditorRowsDidChange:';
  end;
{$endif}

{$ifdef EXTERNAL_SYMBOLS}
var
  NSRuleEditorPredicateLeftExpression: NSString; cvar; external;
  NSRuleEditorPredicateRightExpression: NSString; cvar; external;
  NSRuleEditorPredicateComparisonModifier: NSString; cvar; external;
  NSRuleEditorPredicateOptions: NSString; cvar; external;
  NSRuleEditorPredicateOperatorType: NSString; cvar; external;
  NSRuleEditorPredicateCustomSelector: NSString; cvar; external;
  NSRuleEditorPredicateCompoundType: NSString; cvar; external;
  NSRuleEditorRowsDidChangeNotification: NSString; cvar; external;
{$endif}