COMMENT @----------------------------------------------------------------------

	Copyright (c) GeoWorks 1989 -- All Rights Reserved

PROJECT:	PC GEOS
FILE:		Objects/gEditCC.def

DECLARER:	UI

DESCRIPTION:
	This file defines GenEditControlClass

	$Id: gEditCC.def,v 1.1 97/04/04 14:19:08 newdeal Exp $

------------------------------------------------------------------------------@

SetDef	__EDITCC

StartLibrary	ui

;
; Message(s) sent out:
; MSG_META_UI_FORCE_CONTROLLER_UPDATE (a MetaUIMessages)
;
; Notification type(s) responded to:
; MANUFACTURER_ID_GEOWORKS.GWNT_SELECT_STATE_CHANGE: NotifySelectStateChange
; MANUFACTURER_ID_GEOWORKS.GWNT_UNDO_STATE_CHANGE: NotifyUndoStateChange
;
; GenApplication GCN lists to be placed on:
;	GAGCNLT_SELF_LOAD_OPTIONS

GenEditControlClass	class	GenControlClass

;-----------------------------------------------------------------------------
;		Methods
;-----------------------------------------------------------------------------

;-----------------------------------------------------------------------------
;		Internal methods
;-----------------------------------------------------------------------------
MSG_GEC_LAUNCH_CLIP_ART			message
MSG_GEC_LAUNCH_CHAR_MAP			message
;-----------------------------------------------------------------------------
;		Hints
;-----------------------------------------------------------------------------

UndoDescription	etype	byte
	UD_UNDO			enum	UndoDescription
	;Passed in NotifyUndoStateChange if there is an active undo chain

	UD_REDO			enum	UndoDescription
	;Passed in NotifyUndoStateChange if there is an active *redo* chain

	UD_NOT_UNDOABLE		enum	UndoDescription
	;Passed in NotifyUndoStateChange if the last action was not undoable
	;Must pass 0:0 as title

NotifyUndoStateChange	struct
    NUSC_undoTitle	optr		;Title of the current undo item
    					; or 0:0 if nothing to undo
    NUSC_undoType	UndoDescription	;
    					;
NotifyUndoStateChange	ends

TEMP_UNDO_DESCRIPTION	vardata		NotifyUndoStateChange
;
; Name of undo string, if any

TEMP_CLIPBOARD_NOTIFICATION_LIST_COUNT	vardata	word
;
;	This is a count of the number of times the object has been added
;	to the notification list.
;

;-----------------------------------------------------------------------------
;		Constants & Structures
;-----------------------------------------------------------------------------

; Features flags (used with ATTR_GEN_CONTROL_REQUIRE_UI and
; ATTR_GEN_CONTROL_PROHIBIT_UI)

GECFeatures	record
    GECF_CLIP_ART:1
    GECF_CHAR_MAP:1
    GECF_UNDO:1
    GECF_CUT:1
    GECF_COPY:1
    GECF_PASTE:1
    GECF_SELECT_ALL:1
    GECF_DELETE:1
GECFeatures	end

; Toolbox features flags (used with ATTR_GEN_CONTROL_REQUIRE_TOOLBOX_UI and
; ATTR_GEN_CONTROL_PROHIBIT_TOOLBOX_UI)

GECToolboxFeatures	record
    GECTF_UNDO:1
    GECTF_CUT:1
    GECTF_COPY:1
    GECTF_PASTE:1
    GECTF_SELECT_ALL:1
    GECTF_DELETE:1
GECToolboxFeatures	end







GEC_DEFAULT_FEATURES equ mask GECF_UNDO or mask GECF_CUT \
				or mask GECF_COPY or mask GECF_PASTE \
				or mask GECF_SELECT_ALL or mask GECF_DELETE

GEC_DEFAULT_TOOLBOX_FEATURES equ mask GECTF_UNDO or mask GECTF_CUT \
				or mask GECTF_COPY or mask GECTF_PASTE \
				or mask GECTF_SELECT_ALL or mask GECTF_DELETE

; Notification structures

SelectionDataType		etype	word
	SDT_TEXT		enum	SelectionDataType
	SDT_GRAPHICS		enum	SelectionDataType
	SDT_SPREADSHEET		enum	SelectionDataType
	SDT_INK			enum	SelectionDataType
	SDT_OTHER		enum	SelectionDataType

NotifySelectStateChange	struct
    NSSC_selectionType		SelectionDataType ;This is mainly a hack so
    						; controllers can determine if
						; a text object has the target
						; and a selection.
    NSSC_clipboardableSelection	BooleanByte	;BB_TRUE if a selection that
						; can be copied to the 
						; clipboard exists
    NSSC_selectAllAvailable	BooleanByte	;BB_TRUE if select all is 
    						; allowed
    NSSC_deleteableSelection	BooleanByte	;BB_TRUE if a deleteable
						; selection exists
    NSSC_pasteable		BooleanByte	;BB_TRUE if the current
						; clipboard is "pasteable"
NotifySelectStateChange	ends


;-----------------------------------------------------------------------------
;		Instance Data
;-----------------------------------------------------------------------------

GenEditControlClass	endc

EndLibrary	ui
