ftp.nice.ch/pub/next/developer/resources/palettes/OATextFieldPalette.950321.README

This is the README for OATextFieldPalette.950321.s.gnutar.gz [Download] [Browse] [Up]

OATextFields

Copyright © 1994, 1995 by M. Onyschuk and Associates Inc.
All rights reserved

Introduction:

Yes, NEXTSTEP sorely lacks a text-entry widget with intelligence. This is the motivation behind OATextFields - a palettized TextField that offers:

1. a typical collection of data formatting and validation options (all caps, strip trailing blanks, numerics, numerics with exceptions, ranges of values)

2. a rather untypical and exciting framework for dynamically loadable  `filters' ± objects which are simple to write and which can perform more complicated validations both as the user types and after text entry is complete!


OATextFields is a work in progress here at O&A. It is being made available to the public in hopes that the community can build on the framework provided by the palette, and develop a library of quality formatters for everyone to use.

Just think of it as BackSpace for your left-brain! ¬

Hidden Features:

OATextFields can indicate to users whether they are mandatory or optional and can enforce a data-entry font and font size throughout an application. To enable these features, use the following dwrites from the command line:

oa% dwrite OATextField OptionalFieldColor '0.53 0.66 1.0'
oa% dwrite OATextField MandatoryFieldColor '1.0 0.6 0.6'
oa% dwrite OATextField Font 'Courier 12.0'


Colors are represented in the defaults database as floating point RGB values. Fonts are represented as a text string consisting of the font name and point size. Be warned however:

1.  Steve might become upset with you if you colorize your application TextFields.

2. Another downside to colorizing TextFields is that it promotes window depths from 2-bit grey to 16-bit color, causing your applications to use more memory than they otherwise would.


Usage:

To use OATextField:

1. link both libRZBundle.a and libOATextField.a into your application.

2. Make install the various formatters you've built so that they reside inside any of the standard locations searched by RZBundle on lauch.

3. Modify your application _main.m file to set up RZBundle using the factory method setup [RZBundle setup] before the Application, or subclass of Application, you use is sent its -run message.

  /* Generated by the NeXT Project Builder 
     NOTE: Do NOT change this file -
     Project Builder maintains it.
  */
    
  #import <appkit/appkit.h>

  #import <RZBundle.h>
    
  void main(int argc, char *argv[]) {
  
    [Application new];
    
    [RZBundle setup];
	
    if ([NXApp loadNibSection:"App.nib"
          owner:NXApp
          withNames:NO])
	     [NXApp run];
		
    [NXApp free];
    exit(0);
  }

 Make sure to disable ªGenerate Main File On Saveº from within Project Builder, to preserve this modification.

NIB files containing OATextFields and their formatters should now load into your application without incident.

Feedback:

Bug-reports, comments, suggestions, and feature requests can be sent via electronic mail to ask-oa@oa.guild.org.

Acknowledgements:

To Ralph Zazula for his excellent RZBundle which represents a key component in the extensible OATextFields architecture.

About OA:

M. Onyschuk and Associates Inc. is a privately held software consulting firm specializing in rapid application development in the NEXTSTEP environment.

Its clients have included several of NeXT's large customers in the telecommunications industry, as well as NeXT system integrators and Object Channel partners. Its software projects have included paperless-office systems, diagnostic tools for the telecommunications industry, customer and dealer management systems, and police systems.

M. Onyschuk and Associates' head office is located in Toronto Canada, and may be reached by phone at (416) 462-3954, or via electronic mail at ask-oa@oa.guild.org. 

The Software License In Brief:

1. OATextFields may be used at no cost in applications you use yourself
2. OATextFields may be licensed at nominal cost for use in applications that you sell to others

Software License:

Permission to use, copy, modify, and distribute this software and its documentation for non-commercial purposes, is hereby granted without fee, provided that this license information and copyright notice appear in all copies.

ªCommercial purposesº is defined within the scope of this license as the generation of monetary revenue from the redistribution of the software or modified versions of the software, by itself, ªbundledº with, or incorporated into any other product.

Generation of revenue via the use of this software is not considered a ªcommercial purpose.º

Use of this software for commercial purposes is allowed only under express written permission from M. Onyschuk and Associates Inc.

Disclaimer:

M. ONYSCHUK AND ASSOCIATES INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ANY AND ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.

IN NO EVENT SHALL M. ONYSCHUK AND ASSOCIATES INC., ITS PRINCIPALS OR AGENTS, BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY OTHER DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.