A view for creating and configuring criteria. More...
#import <CPRuleEditor.h>
Instance Methods | |
Configuring a Rule Editor | |
(id) | - delegate |
Returns the receiver’s delegate. More... | |
(void) | - setDelegate: |
Sets the receiver’s delegate. More... | |
(BOOL) | - isEditable |
Returns a Boolean value that indicates whether the receiver is editable. More... | |
(void) | - setEditable: |
Sets whether the receiver is editable. More... | |
(CPRuleEditorNestingMode) | - nestingMode |
Returns the nesting mode for the receiver. More... | |
(void) | - setNestingMode: |
Sets the nesting mode for the receiver. More... | |
(BOOL) | - canRemoveAllRows |
Returns a Boolean value that indicates whether all the rows can be removed. More... | |
(void) | - setCanRemoveAllRows: |
Sets whether all the rows can be removed. More... | |
(BOOL) | - allowsEmptyCompoundRows |
Returns a Boolean value that indicates whether compounds rows can be childless. More... | |
(void) | - setAllowsEmptyCompoundRows: |
Sets whether compounds rows can be childless. More... | |
(CPInteger) | - rowHeight |
Returns the row height for the receiver. More... | |
(void) | - setRowHeight: |
Sets the row height for the receiver. More... | |
Working with Formatting | |
(CPDictionary) | - formattingDictionary |
Returns the formatting dictionary for the receiver. More... | |
(void) | - setFormattingDictionary: |
Sets the formatting dictionary for the receiver. More... | |
(CPString) | - formattingStringsFilename |
Returns the name of the strings file for the receiver. More... | |
(void) | - setFormattingStringsFilename: |
Sets the name of the strings file used for formatting. More... | |
Providing Data | |
(void) | - reloadCriteria |
Instructs the receiver to refetch criteria from its delegate. You can use this method to indicate that the available criteria may have changed and should be refetched from the delegate and the popups recalculated. More... | |
(void) | - setCriteria:andDisplayValues:forRowAtIndex: |
Modifies the row at a given index to contain the given items and values. More... | |
(id) | - criteriaForRow: |
Returns the currently chosen items for a given row. More... | |
Working with the Selection | |
(CPMutableArray) | - displayValuesForRow: |
Returns the chosen values for a given row. More... | |
(int) | - numberOfRows |
Returns the number of rows in the receiver. More... | |
(int) | - parentRowForRow: |
Returns the index of the parent of a given row. More... | |
(CPRuleEditorRowType) | - rowTypeForRow: |
Returns the type of a given row. More... | |
(CPIndexSet) | - subrowIndexesForRow: |
Returns the immediate subrows of a given row. More... | |
(CPIndexSet) | - selectedRowIndexes |
Returns the indexes of the receiver’s selected rows. More... | |
(void) | - selectRowIndexes:byExtendingSelection: |
Sets in the receiver the indexes of rows that are selected. More... | |
Manipulating Rows | |
(void) | - addRow: |
Adds a row to the receiver. More... | |
(void) | - insertRowAtIndex:withType:asSubrowOfRow:animate: |
Adds a new row of a given type at a given location. More... | |
(void) | - removeRowAtIndex: |
Removes the row at a given index. More... | |
(void) | - removeRowsAtIndexes:includeSubrows: |
Removes the rows at a given index. More... | |
Working with Predicates | |
(CPPredicate) | - predicate |
Returns the predicate for the receiver. More... | |
(void) | - reloadPredicate |
Instructs the receiver to regenerate its predicate by invoking the corresponding delegate method. You typically invoke this method because something has changed (for example, a view's value). More... | |
(CPPredicate) | - predicateForRow: |
Returns the predicate for a given row. More... | |
Supporting Bindings | |
(Class) | - rowClass |
Returns the class used to create a new row in the “rows” binding. More... | |
(void) | - setRowClass: |
Sets the class to use to create a new row in the "rows” binding. More... | |
(CPString) | - rowTypeKeyPath |
Returns the key path for the row type. More... | |
(void) | - setRowTypeKeyPath: |
Sets the key path for the row type. More... | |
(CPString) | - subrowsKeyPath |
Returns the key path for the subrows. More... | |
(void) | - setSubrowsKeyPath: |
Sets the key path for the subrows. More... | |
(CPString) | - criteriaKeyPath |
Returns the criteria key path. More... | |
(void) | - setCriteriaKeyPath: |
Sets the key path for the criteria. More... | |
(CPString) | - displayValuesKeyPath |
Returns the display values key path. More... | |
(void) | - setDisplayValuesKeyPath: |
Sets the key path for the display values. More... | |
Configuring Rows Animation | |
(id) | - animation |
Returns the current animation for the receiver. More... | |
(void) | - setAnimation: |
Sets the current animation for the receiver. More... | |
Instance Methods inherited from CPControl | |
(BOOL) | - acceptsFirstMouse: |
(SEL) | - action |
(CPTextAlignment) | - alignment |
(CPWritingDirection) | - baseWritingDirection |
(BOOL) | - continueTracking:at: |
(CPControlSize) | - controlSize |
(double) | - doubleValue |
(void) | - encodeWithCoder: |
(float) | - floatValue |
(CPFont) | - font |
(CPFormatter) | - formatter |
(void) | - highlight: |
(CPCellImagePosition) | - imagePosition |
(CPUInteger) | - imageScaling |
(id) | - initWithCoder: |
(id) | - initWithFrame: |
(int) | - integerValue |
(int) | - intValue |
(BOOL) | - isContinuous |
(BOOL) | - isEnabled |
(BOOL) | - isHighlighted |
(CPLineBreakMode) | - lineBreakMode |
(void) | - mouseDown: |
(unsigned) | - mouseDownFlags |
(void) | - mouseEntered: |
(void) | - mouseExited: |
(CPInteger) | - nextState |
(id) | - objectValue |
(void) | - performClick: |
(BOOL) | - sendAction:to: |
(int) | - sendActionOn: |
(BOOL) | - sendsActionOnEndEditing |
(void) | - setAction: |
(void) | - setAlignment: |
(void) | - setBaseWritingDirection: |
(void) | - setContinuous: |
(void) | - setControlSize: |
(void) | - setDoubleValue: |
(void) | - setEnabled: |
(void) | - setFloatValue: |
(void) | - setFont: |
(void) | - setFormatter: |
(void) | - setHighlighted: |
(void) | - setImagePosition: |
(void) | - setImageScaling: |
(void) | - setIntegerValue: |
(void) | - setIntValue: |
(void) | - setLineBreakMode: |
(void) | - setObjectValue: |
(void) | - setSendsActionOnEndEditing: |
(void) | - setState: |
(void) | - setStringValue: |
(void) | - setTarget: |
(void) | - setTextColor: |
(void) | - setTextShadowColor: |
(void) | - setTextShadowOffset: |
(void) | - setVerticalAlignment: |
(BOOL) | - startTrackingAt: |
(void) | - stopTracking:at:mouseIsUp: |
(CPString) | - stringValue |
(void) | - takeDoubleValueFrom: |
(void) | - takeFloatValueFrom: |
(void) | - takeIntegerValueFrom: |
(void) | - takeIntValueFrom: |
(void) | - takeObjectValueFrom: |
(void) | - takeStringValueFrom: |
(id) | - target |
(CPColor) | - textColor |
(void) | - textDidBeginEditing: |
(void) | - textDidChange: |
(void) | - textDidEndEditing: |
(CPColor) | - textShadowColor |
(CGSize) | - textShadowOffset |
(void) | - trackMouse: |
(BOOL) | - tracksMouseOutsideOfFrame |
(void) | - unhighlightButtonTimerDidFinish: |
(void) | - updateTrackingAreas |
(CPTextVerticalAlignment) | - verticalAlignment |
Instance Methods inherited from CPView | |
(void) | - addSubview: |
(void) | - addSubview:positioned:relativeTo: |
(void) | - addTrackingArea: |
(CGRect) | - adjustScroll: |
(float) | - alphaValue |
(CAAnimation) | - animationForKey: |
(CPDictionary) | - animations |
(id) | - animator |
(BOOL) | - autoresizesSubviews |
(unsigned) | - autoresizingMask |
(BOOL) | - autoscroll: |
(CPColor) | - backgroundColor |
(BOOL) | - becomeFirstResponder |
(CGRect) | - bounds |
(CGPoint) | - boundsOrigin |
(CGSize) | - boundsSize |
(BOOL) | - canBecomeKeyView |
(CGPoint) | - center |
(BOOL) | - clipsToBounds |
(CGPoint) | - convertPoint:fromView: |
(CGPoint) | - convertPoint:toView: |
(CGPoint) | - convertPointFromBase: |
(CGPoint) | - convertPointToBase: |
(CGRect) | - convertRect:fromView: |
(CGRect) | - convertRect:toView: |
(CGRect) | - convertRectFromBase: |
(CGRect) | - convertRectToBase: |
(CGSize) | - convertSize:fromView: |
(CGSize) | - convertSize:toView: |
(CPView) | - createEphemeralSubviewNamed: |
(CPString) | - debug_description |
(void) | - didAddSubview: |
(void) | - display |
(void) | - displayIfNeeded |
(void) | - displayIfNeededInRect: |
(void) | - displayRect: |
(void) | - displayRectIgnoringOpacity:inContext: |
(void) | - dragImage:at:offset:event:pasteboard:source:slideBack: |
(void) | - dragView:at:offset:event:pasteboard:source:slideBack: |
(void) | - drawRect: |
(CPAppearance) | - effectiveAppearance |
(CPMenuItem) | - enclosingMenuItem |
(CPScrollView) | - enclosingScrollView |
(BOOL) | - enterFullScreenMode |
(BOOL) | - enterFullScreenMode:withOptions: |
(CPView) | - ephemeralSubviewNamed: |
(void) | - exitFullScreenMode |
(void) | - exitFullScreenModeWithOptions: |
(CGRect) | - frame |
(CGPoint) | - frameOrigin |
(CGRect) | - frameRectOfView:inSuperviewSize: |
(CGSize) | - frameSize |
(CGRect) | - frameWithNewSuperviewSize: |
(BOOL) | - hasCustomDrawRect |
(BOOL) | - hasCustomLayoutSubviews |
(CPView) | - hitTest: |
(BOOL) | - hitTests |
(id) | - init |
(BOOL) | - inLiveResize |
(BOOL) | - isDescendantOf: |
(BOOL) | - isFlipped |
(BOOL) | - isHidden |
(BOOL) | - isHiddenOrHasHiddenAncestor |
(BOOL) | - isInFullScreenMode |
(BOOL) | - isOpaque |
(CALayer) | - layer |
(void) | - layout |
(CPView) | - layoutEphemeralSubviewNamed:positioned:relativeToEphemeralSubviewNamed: |
(void) | - layoutIfNeeded |
(void) | - layoutSubviews |
(void) | - lockFocus |
(CPMenu) | - menuForEvent: |
(BOOL) | - mouseDownCanMoveWindow |
(BOOL) | - needsDisplay |
(BOOL) | - needsLayout |
(BOOL) | - needsPanelToBecomeKey |
(CPView) | - nextKeyView |
(CPView) | - nextValidKeyView |
(void) | - objectDidChangeTheme |
(BOOL) | - performKeyEquivalent: |
(BOOL) | - postsBoundsChangedNotifications |
(BOOL) | - postsFrameChangedNotifications |
(CPView) | - previousKeyView |
(CPView) | - previousValidKeyView |
(CGRect) | - rectForEphemeralSubviewNamed: |
(void) | - reflectScrolledClipView: |
(CPArray) | - registeredDraggedTypes |
(void) | - registerForDraggedTypes: |
(void) | - removeFromSuperview |
(void) | - removeTrackingArea: |
(void) | - replaceSubview:with: |
(BOOL) | - resignFirstResponder |
(void) | - resizeSubviewsWithOldSize: |
(void) | - resizeWithOldSuperviewSize: |
(void) | - rightMouseDown: |
(CGSize) | - scaleSize |
(void) | - scaleUnitSquareToSize: |
(void) | - scrollClipView:toPoint: |
(void) | - scrollPoint: |
(void) | - scrollRect:by: |
(BOOL) | - scrollRectToVisible: |
(void) | - setAlphaValue: |
(void) | - setAnimations: |
(void) | - setAppearance: |
(void) | - setAutoresizesSubviews: |
(void) | - setAutoresizingMask: |
(void) | - setBackgroundColor: |
(void) | - setBounds: |
(void) | - setBoundsOrigin: |
(void) | - setBoundsSize: |
(void) | - setCenter: |
(void) | - setClipsToBounds: |
(void) | - setDOMClassName: |
(void) | - setFrame: |
(void) | - setFrameOrigin: |
(void) | - setFrameSize: |
(void) | - setHidden: |
(void) | - setHitTests: |
(void) | - setLayer: |
(void) | - setNeedsDisplay: |
(void) | - setNeedsDisplayInRect: |
(void) | - setNeedsLayout |
(void) | - setNeedsLayout: |
(void) | - setNextKeyView: |
(void) | - setPostsBoundsChangedNotifications: |
(void) | - setPostsFrameChangedNotifications: |
(void) | - setScaleSize: |
(void) | - setSubviews: |
(void) | - setTag: |
(void) | - setThemeClass: |
(BOOL) | - setThemeState: |
(void) | - setToolTip: |
(void) | - setValue:forThemeAttribute: |
(void) | - setValue:forThemeAttribute:inState: |
(void) | - setWantsLayer: |
(CPArray) | - subviews |
(CPView) | - superview |
(CPInteger) | - tag |
(void) | - unlockFocus |
(void) | - unregisterDraggedTypes |
(BOOL) | - unsetThemeState: |
(void) | - viewDidEndLiveResize |
(void) | - viewDidHide |
(void) | - viewDidLayout |
(void) | - viewDidMoveToSuperview |
(void) | - viewDidMoveToWindow |
(void) | - viewDidUnhide |
(void) | - viewWillDraw |
(void) | - viewWillLayout |
(void) | - viewWillMoveToSuperview: |
(void) | - viewWillMoveToWindow: |
(void) | - viewWillStartLiveResize |
(CPView) | - viewWithTag: |
(CGRect) | - visibleRect |
(BOOL) | - wantsLayer |
(void) | - willRemoveSubview: |
(CPWindow) | - window |
Additional Inherited Members | |
Class Methods inherited from CPControl | |
(void) | + initialize |
(CPDictionary) | + themeAttributes |
Class Methods inherited from CPView | |
(Class) | + animatorClass |
(CAAnimation) | + defaultAnimationForKey: |
(CPMenu) | + defaultMenu |
(CPString) | + defaultThemeClass |
(BOOL) | + isHighDPIDrawingEnabled |
(CPSet) | + keyPathsForValuesAffectingBounds |
(CPSet) | + keyPathsForValuesAffectingFrame |
(void) | + setHighDPIDrawingEnabled: |
A view for creating and configuring criteria.
A CPRuleEditor object is a view that allows the user to visually create and configure a list of options which are expressed by the rule editor as a predicate (see Predicate documentation). The view has a delegate which offers a tree of choices to the view. The choices are presented by the view to the user as a row of popup buttons, static text fields, and custom views. Each row in the list represents a particular path down the tree of choices.
CPRuleEditor exposes one binding, rows. You can bind rows to an ordered collection (such as an instance of CPMutableArray). Each object in the collection should have the following properties:
@"rowType"
An integer representing the type of the row (CPRuleEditorRowType).
@"subrows"
An ordered to-many relation (such as an instance of CPMutableArray) containing the directly nested subrows for the given row.
@"displayValues"
An ordered to-many relation containing the display values for the row.
@"criteria"
An ordered to-many relation containing the criteria for the row.
Definition at line 2 of file CPRuleEditor.h.
|
implementation |
Adds a row to the receiver.
sender | Typically the object that sent the message. |
Definition at line 660 of file CPRuleEditor.j.
|
implementation |
Returns a Boolean value that indicates whether compounds rows can be childless.
YES
if compounds rows can be childless, otherwise NO
. Definition at line 321 of file CPRuleEditor.j.
|
implementation |
Returns the current animation for the receiver.
Definition at line 1055 of file CPRuleEditor.j.
|
implementation |
Returns a Boolean value that indicates whether all the rows can be removed.
YES
if all the rows can be removed, otherwise NO
. Definition at line 300 of file CPRuleEditor.j.
|
implementation |
Returns the currently chosen items for a given row.
row | The index of a row in the receiver. |
Definition at line 473 of file CPRuleEditor.j.
|
implementation |
Returns the criteria key path.
Definition at line 1007 of file CPRuleEditor.j.
|
implementation |
Returns the receiver’s delegate.
Definition at line 209 of file CPRuleEditor.j.
|
implementation |
Returns the chosen values for a given row.
row | The index of a row in the receiver. |
Definition at line 492 of file CPRuleEditor.j.
|
implementation |
Returns the display values key path.
Definition at line 1030 of file CPRuleEditor.j.
|
implementation |
Returns the formatting dictionary for the receiver.
Definition at line 371 of file CPRuleEditor.j.
|
implementation |
Returns the name of the strings file for the receiver.
Definition at line 394 of file CPRuleEditor.j.
|
implementation |
Adds a new row of a given type at a given location.
rowIndex | The index at which the new row should be inserted. rowIndex must be greater than parentRow, and much specify a row that does not fall amongst the children of some other parent. |
rowType | The type of the new row. |
parentRow | The index of the row of which the new row is a child. Pass -1 to indicate that the new row should be a root row. |
shouldAnimate | YES if creation of the new row should be animated, otherwise NO . |
Definition at line 703 of file CPRuleEditor.j.
|
implementation |
Returns a Boolean value that indicates whether the receiver is editable.
YES
if the receiver is editable, otherwise NO
. The default is YES
. Definition at line 245 of file CPRuleEditor.j.
|
implementation |
Returns the nesting mode for the receiver.
Definition at line 273 of file CPRuleEditor.j.
|
implementation |
Returns the number of rows in the receiver.
Definition at line 505 of file CPRuleEditor.j.
|
implementation |
Returns the index of the parent of a given row.
rowIndex | The index of a row in the receiver. |
-1
. Definition at line 515 of file CPRuleEditor.j.
|
implementation |
Returns the predicate for the receiver.
nil
. Definition at line 789 of file CPRuleEditor.j.
|
implementation |
Returns the predicate for a given row.
aRow | The index of a row in the receiver. |
Definition at line 809 of file CPRuleEditor.j.
|
implementation |
Instructs the receiver to refetch criteria from its delegate. You can use this method to indicate that the available criteria may have changed and should be refetched from the delegate and the popups recalculated.
Definition at line 437 of file CPRuleEditor.j.
|
implementation |
Instructs the receiver to regenerate its predicate by invoking the corresponding delegate method. You typically invoke this method because something has changed (for example, a view's value).
Definition at line 798 of file CPRuleEditor.j.
|
implementation |
Removes the row at a given index.
rowIndex | The index of a row in the receiver. |
CPRangeException
if rowIndex is less than 0
or greater than or equal to the number of rows. Definition at line 722 of file CPRuleEditor.j.
|
implementation |
Removes the rows at a given index.
rowIndexes | Indexes of one or more rows in the receiver. |
includeSubrows | If YES , then sub-rows of deleted rows are also deleted; if NO , then each sub-row is adopted by its first non-deleted ancestor, or becomes a root row. |
CPRangeException
if any index in rowIndexes is less than 0 or greater than or equal to the number of rows. Definition at line 739 of file CPRuleEditor.j.
|
implementation |
Returns the class used to create a new row in the “rows” binding.
Definition at line 936 of file CPRuleEditor.j.
|
implementation |
Returns the row height for the receiver.
Definition at line 342 of file CPRuleEditor.j.
|
implementation |
Returns the type of a given row.
rowIndex | The index of a row in the receiver. |
CPRangeException
if rowIndex is less than 0
or greater than or equal to the number of rows. Definition at line 556 of file CPRuleEditor.j.
|
implementation |
Returns the key path for the row type.
"rowType"
. The key path is used to get the row type in the “rows” binding. The corresponding property should be a number that specifies an CPRuleEditorRowType
value. Definition at line 961 of file CPRuleEditor.j.
|
implementation |
Returns the indexes of the receiver’s selected rows.
Definition at line 616 of file CPRuleEditor.j.
|
implementation |
Sets in the receiver the indexes of rows that are selected.
indexes | The indexes of rows in the receiver to select. |
extend | If NO , the selected rows are specified by indexes. If YES , the rows indicated by indexes are added to the collection of already selected rows, providing multiple selection. |
Definition at line 626 of file CPRuleEditor.j.
|
implementation |
Sets whether compounds rows can be childless.
allows | YES if compounds rows can be childless, otherwise NO . |
Definition at line 331 of file CPRuleEditor.j.
|
implementation |
Sets the current animation for the receiver.
animation | A CPViewAnimation object used to animate rows. The default is a CPViewAnimation with a 0.5s duration and a CPAnimationEaseInOut curve. |
Definition at line 1066 of file CPRuleEditor.j.
|
implementation |
Sets whether all the rows can be removed.
canRemove | YES if all the rows can be removed, otherwise NO . |
Definition at line 310 of file CPRuleEditor.j.
|
implementation |
Modifies the row at a given index to contain the given items and values.
criteria | The array of criteria for the row at rowIndex. Pass an empty array to force the receiver to query its delegate. This value must not be nil. |
values | The array of values for the row at rowIndex. Pass an empty array to force the receiver to query its delegate. This value must not be nil . |
rowIndex | The index of a row in the receiver. |
It is your responsibility to ensure that each item in the array is a child of the previous item, and that the first item is a root item for the row type. If the last item has child items, then the items array will be extended by querying the delegate for child items until a childless item is reached.
Definition at line 452 of file CPRuleEditor.j.
|
implementation |
Sets the key path for the criteria.
keyPath | The key path for the criteria. |
Definition at line 1017 of file CPRuleEditor.j.
|
implementation |
Sets the receiver’s delegate.
aDelegate | The delegate for the receiver. CPRuleEditor requires a delegate that implements the required delegate methods to function. |
Definition at line 220 of file CPRuleEditor.j.
|
implementation |
Sets the key path for the display values.
keyPath | The key path for the the display values. |
Definition at line 1040 of file CPRuleEditor.j.
|
implementation |
Sets whether the receiver is editable.
editable | YES if the receiver is editable, otherwise NO . |
Definition at line 255 of file CPRuleEditor.j.
|
implementation |
Sets the formatting dictionary for the receiver.
dictionary | The formatting dictionary for the receiver. If you set the formatting dictionary with this method, it sets the current formatting strings file name to nil . |
Definition at line 383 of file CPRuleEditor.j.
|
implementation |
Sets the name of the strings file used for formatting.
stringsFilename | The name of the strings file for the receiver. CPRuleEditor looks for a strings file with the given name in the main bundle and (if appropriate) the bundle containing the nib file from which it was loaded. If it finds a strings file resource with the given name, CPRuleEditor loads it and sets it as the formatting dictionary for the receiver. You can obtain the resulting dictionary using formattingDictionary. If you set the formatting dictionary with -setFormattingDictionary:, it sets the current formatting strings file name nil. |
Definition at line 406 of file CPRuleEditor.j.
|
implementation |
Sets the nesting mode for the receiver.
mode | The nesting mode for the receiver. You typically set the nesting mode at view creation time and do not subsequently modify it. The default is CPRuleEditorNestingModeSimple . |
Definition at line 285 of file CPRuleEditor.j.
|
implementation |
Sets the class to use to create a new row in the "rows” binding.
rowClass | The class to use to create a new row in the "rows” binding. |
Definition at line 946 of file CPRuleEditor.j.
|
implementation |
Sets the row height for the receiver.
height | The row height for the receiver. |
Definition at line 352 of file CPRuleEditor.j.
|
implementation |
Sets the key path for the row type.
keyPath | The key path for the row type. |
Definition at line 971 of file CPRuleEditor.j.
|
implementation |
Sets the key path for the subrows.
keyPath | The key path for the subrows. |
Definition at line 994 of file CPRuleEditor.j.
|
implementation |
Returns the immediate subrows of a given row.
rowIndex | The index of a row in the receiver, or -1 to get the top-level rows. |
0
. Definition at line 577 of file CPRuleEditor.j.
|
implementation |
Returns the key path for the subrows.
Definition at line 984 of file CPRuleEditor.j.