Article # 100, added by Geoworks, historical record
| first | previous | index | next | last |

Clipboard enabling OmniGo input fields





This information is based on the Official Specification for how 
cut/copy/paste work in OmniGo input fields (all types).

I will first define some terms:
	input field -- any object that's based on a text object,
	  including VisText, GenText, GenValue, editable date/time 
	  gadgets, etc.  It does NOT include radio buttons, scrolling
	  lists, GenTriggers, date selectors, or other non-editable
	  objects.  It DOES include multi-line text objects.

	clipboard-enabled -- works with the clipboard (selection
	  can be cut/copied/pasted/deleted).

	jedit library -- Chris Thomas' super-nifty library for
	  making the clipboard Fun 'n' EZ.

The rules are:

	- if you don't have an Edit control, then you've got nothing
	  to worry about.  All your input fields will work with the
	  clipboard via the Graffiti input box (gestures) and the
	  keyboard (cut/copy/paste keys).  This is transparent.

	- if you DO have an Edit control, then upon receipt of a
	  MSG_META_CLIPBOARD_*, you should call the appropriate
	  routine in the JEdit library (JEditEditScreenCut,
	  JEditEditScreenUpdateEditControlPaste, etc.) to "register"
	  the interaction containing the focused input field to be
	  clipboard-enabled.

	- the system will assume your Edit Control is in your Application
	  menu. Technically, it just searches the parent-child tree
	  starting at the app object until it finds an Edit control.
	  If your Edit control is elsewhere, you're going to have to
	  move it.

	- non-input fields cannot be clipboard-enabled without doing
	  lots of special work at the application level.  The JEdit
	  library does not support this and never will.  Non-input
	  fields are objects that don't have an editable text object
	  in them.

	- If you have an object in the title bar that needs to be
	  clipboard-enabled (an unlikely circumstance), you should
	  put it in its own GenInteraction and give that interaction
	  HINT_SEEK_TITLE_BAR_LEFT/RIGHT.  That will give you an optr
	  to pass to the JEdit library.

  If you are not interested in using the JEdit library, and you have
  an Edit control in your application and want to support input
  fields being clipboard-enabled, you're going to have to find a
  way to send your clipboard messages to the focus, rather than the
  target. You're probably better off using the JEdit library.