[Mono-osx] [MonoMac] NSPredicateEditor Control and Sample

kjpou kjpou at pt.lu
Tue Nov 23 01:32:22 EST 2010

Hello all

Here is another sample that adds support for the NSPredicate editor.

The sample shows how to use the NSPredicateEditor within a program and 
uses the NSMetadataQuery to query SpotLight for a list of names 
corresponding to the Predicates from your Address Book.

The additions are not complete.  Meaning that there are still some 
NSArray elements instead of native arrays XXXXX[] being used as did not 
have a test for them or did not use them.  The ones that I did see and 
could change were updated.

I do believe that the the NSPredicate will have to be added to the 
plugin or you will have to manually add using MonoMac.Appkit to the 
.designer.cs source.

Where can I find the source for the plugin so that I can take a look at it?

A summary of the additions are here:

MonoMac appkit.cs

using MonoMac.CoreData;

             [BaseType (typeof (NSObject))]

             interface NSPredicateEditorRowTemplate {

             [BaseType (typeof (NSControl), Delegates=new string [] { 
"Delegate" }, Events=new Type [] { typeof (NSRuleEditorDelegate)})]

             interface NSRuleEditor {

             [BaseType (typeof (NSObject))]


             interface NSRuleEditorDelegate {

             [BaseType (typeof (NSRuleEditor))]

             interface NSPredicateEditor {

MonoMac enums.cs

             public enum NSRuleEditorRowType{

             public enum NSRuleEditorNestingMode {

Maccore foundation.cs

             [BaseType (typeof (NSObject))]
             [Since (4,0)]
             interface NSPredicate {

             [BaseType (typeof (NSPredicate))]

             interface NSComparisonPredicate {

             [BaseType (typeof (NSPredicate))]

             interface NSCompoundPredicate {

             [BaseType (typeof (NSObject), Delegates=new string [] { 
"Delegate" }, Events=new Type [] { typeof (NSMetadataQueryDelegate)})]

             interface NSMetadataQuery {

             [BaseType (typeof (NSObject))]


             interface NSMetadataQueryDelegate {

             [BaseType (typeof (NSObject))]

             interface NSMetadataItem {

             [BaseType (typeof (NSObject))]

             interface NSMetadataQueryAttributeValueTuple {

             [BaseType (typeof (NSObject))]

             interface NSMetadataQueryResultGroup {

Maccore enum.cs

             public enum NSComparisonPredicateModifier

             public enum NSPredicateOperatorType

             public enum NSComparisonPredicateOptions : uint

             public enum NSCompoundPredicateType

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-osx/attachments/20101123/574c649a/attachment-0001.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PredicateEditorSample.zip
Type: application/zip
Size: 2555564 bytes
Desc: not available
Url : http://lists.ximian.com/pipermail/mono-osx/attachments/20101123/574c649a/attachment-0001.zip 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: foundation.diff
Url: http://lists.ximian.com/pipermail/mono-osx/attachments/20101123/574c649a/attachment-0002.pl 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: NSPredicateEditor.diff
Url: http://lists.ximian.com/pipermail/mono-osx/attachments/20101123/574c649a/attachment-0003.pl 

More information about the Mono-osx mailing list