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

	Copyright (c) GeoWorks 1991 -- All Rights Reserved

PROJECT:	PC GEOS
FILE:		Objects/gToolCC.def

DECLARER:	UI

DESCRIPTION:
	This file defines GenToolControlClass

	$Id: gToolCC.def,v 1.1 97/04/04 14:19:05 newdeal Exp $

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

SetDef	__GTOOLCC

StartLibrary	ui

;
; GenApplication GCN lists to be placed on:
;	GAGCNLT_SELF_LOAD_OPTIONS
;	MGCNLT_ACTIVE_LIST

GenToolControlClass	class	GenControlClass

;-----------------------------------------------------------------------------
;		Messages
;-----------------------------------------------------------------------------

;-----------------------------------------------------------------------------
;		Internal Messages
;-----------------------------------------------------------------------------

MSG_GEN_TOOL_CONTROL_INTERNAL_GROUP_LIST			message
MSG_GEN_TOOL_CONTROL_INTERNAL_GROUP_LIST_QUERY			message
MSG_GEN_TOOL_CONTROL_INTERNAL_GROUP_LIST_VISIBILITY		message
MSG_GEN_TOOL_CONTROL_INTERNAL_TOOLS_LIST			message
MSG_GEN_TOOL_CONTROL_INTERNAL_RESET_TOOLS			message
MSG_GEN_TOOL_CONTROL_INTERNAL_PLACEMENT_LIST			message
MSG_GEN_TOOL_CONTROL_INTERNAL_PLACEMENT_LIST_QUERY		message
MSG_GEN_TOOL_CONTROL_INTERNAL_RESET_PLACEMENT			message
MSG_GEN_TOOL_CONTROL_INTERNAL_POSITION_VALUE			message
MSG_GEN_TOOL_CONTROL_INTERNAL_NUDGE_BACK			message
MSG_GEN_TOOL_CONTROL_INTERNAL_NUDGE_FORWARD			message
MSG_GEN_TOOL_CONTROL_INTERNAL_RESET_POSITION			message

;-----------------------------------------------------------------------------
;		Constants and Structures
;-----------------------------------------------------------------------------

; Features flags (used with ATTR_GEN_CONTROL_REQUIRE_UI and
; ATTR_GEN_CONTROL_PROHIBIT_UI)

GTCFeatures	record
    GTCF_TOOL_DIALOG:1
GTCFeatures	end

; No tools at this time...
;
;; Toolbox features flags (used with ATTR_GEN_CONTROL_REQUIRE_TOOLBOX_UI and
;; ATTR_GEN_CONTROL_PROHIBIT_TOOLBOX_UI)
;
;GTCToolboxFeatures	record
;    GTCTF_TOOL_DIALOG:1
;GTCToolboxFeatures	end







GTC_DEFAULT_FEATURES equ mask GTCF_TOOL_DIALOG

GTC_DEFAULT_TOOLBOX_FEATURES equ 0

;----------------------------------------

; This table is used to list the GenInteractions to be toolbar/toolbox/etc. 
; locations for tools to be placed.  The first entry corresponds to Toolbox #0.
;
ToolboxInfo	struct
	TI_object	optr
	; GenInteraction under which tools may be placed (UNRELOCATED! use
	; UN_OPTR macro in assembly)

	TI_name		optr
	; null-terminated string name for the above tool location (ALSO
	; unrelocated.  Use UN_OPTR macro in assembly)
ToolboxInfo	ends


; This table is used to list the GenToolGroups that this ToolControl
; will operate on.  This first entry corresponds to Group #0
;
ToolGroupInfo	struct
	TGI_object	optr
	; GenToolGroup  (UNRELOCATED!  use UN_OPTR macro in assembly)

ToolGroupInfo	ends

;-----------------------------------------------------------------------------
;		Variable instance data
;-----------------------------------------------------------------------------

TempGenToolControlInstance	struct
	TGTCI_curController	optr
	; Optr of controller whose tool options & placement location are
	; currently being displayed for editing by the user.

	TGTCI_features		word
	; Mask of currently active features

	TGTCI_required		word
	; Mask of features which must always be active, i.e. can't be
	; "hidden" by the user.

	TGTCI_allowed		word
	; Mask of features which controller & application together will
	; allow the user to access.  Bits set here but not in "TGTCI_features"
	; will appear in the "hidden" list.

	TGTCI_curToolGroup	optr
	; Currently seleted tool group

	TGTCI_toolGroupVisible	byte
	; Flag -- non-zero if tool group list is visible.  If visible, all
	; tool groups are highlighted, & the current one "seletected" to 
	; bring it to the attention of the user.

TempGenToolControlInstance	ends

TEMP_GEN_TOOL_CONTROL_INSTANCE	vardata TempGenToolControlInstance
;
; Temporary instance data for GenControlClass.  Should be accessed using
; ObjVarDerefData only, which will ensure that the data will be created
; & initialized if not yet existing.  -- Doug

;-----------------------------------------------------------------------------
;		Attrs
;-----------------------------------------------------------------------------

;-----------------------------------------------------------------------------
;		Hints
;-----------------------------------------------------------------------------

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

GTCI_toolboxList	lptr.ToolboxInfo
GTCI_toolGroupList	lptr.ToolGroupInfo

;GTCI_uiType		GenControlUIType
;
; Which UI type this controller works on -- GCUIT_NORMAL, or GCUIT_TOOLBOX

GenToolControlClass	endc

EndLibrary	ui
