Difference between revisions of "Snippets"

From GNUstepWiki
Jump to navigation Jump to search
m (Small language cleanups)
(Clean-up)
Line 1: Line 1:
−
== Testing ''chars'' entered by users in ''NSTextField'' ==
+
== Objective-C and OOP Concepts ==
−
When the contents of a NSTextField are changed by the user, it is possible to check whether or not to accept the changes.
 
  
−
1. Subclass NSTextField
 
  
−
2. In your subclass implement the
 
−
        - (BOOL) textView: (NSTextView*) textView
 
−
        shouldChangeTextInRange: (NSRange) range
 
−
        replacementString: (NSString*) replacementString
 
−
method.
 
  
−
3. Within this method you can access to the ''replacementString'' as an NSString, or as ''char'' with the following line:
+
== Foundation Kit ==
−
        char c = *([replacementString cString] + 0); 
+
* [[NSArray]]
  
−
4. You should return YES or NO depending on whether you accept the replacement string.
 
  
−
== Limiting text input length in ''NSTextField'' ==
+
== Application Kit ==
−
(based on Alexander Malmberg's snippet)
+
* [[NSDocument]]
−
 
+
* [[NSTableView]]
−
1. Subclass NSTextField
+
* [[NSTextField]]
−
 
+
* [[NSView]]
−
2. In your subclass implement the
 
−
        - (BOOL) textView: (NSTextView*) textView
 
−
        shouldChangeTextInRange: (NSRange) range
 
−
        replacementString: (NSString*) replacementString
 
−
method.
 
−
 
 
−
3. Also create an instance variable setting method:
 
−
          - (void) setMaxLength: (int) ml
 
−
          {
 
−
            maxLength = ml;
 
−
          }
 
−
 
 
−
4. Then fill your implementation of textView:shouldChangeTextInRange:replacementString: with the following code:
 
−
          int newLength;
 
−
          /* The exact change isn't known. Disallow the change to be safe. */
 
−
          if (range.location == NSNotFound)
 
−
                return NO;
 
−
          newLength=[[textView textStorage] length]+[replacementString length]-range.length;
 
−
          if (newLength>maxLength)
 
−
                return YES; //allowing
 
−
          else
 
−
                return NO; // not allowing
 

Revision as of 13:47, 5 September 2005

Objective-C and OOP Concepts

Foundation Kit


Application Kit