gecko-dev/lib/mariner/public/xptabnav.h

69 lines
2.3 KiB
C

/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*/
/*
xptabnav.h --- an API for XP HTML area tabbing.
Created: Chris Toshok <toshok@netscape.com>, 6-Nov-1997.
*/
#ifndef _xp_tabnav_h
#define _xp_tabnav_h
#include "xp_mem.h"
#include "xp_core.h"
#include "ntypes.h"
#include "lo_ele.h"
#include "layout.h"
XP_BEGIN_PROTOS
/* To be called when creating a new context. */
extern void XPTAB_InitTabData(MWContext *context);
/* To be called when destroying a context. */
extern void XPTAB_DestroyTabData(MWContext *context);
/* Call when the user clicks the mouse to set the focus to a particular form element or anchor. */
extern void XPTAB_SetFocusElement(MWContext *context, LO_Element *element);
extern LO_Element* XPTAB_GetFocusElement(MWContext *context);
extern int32 XPTAB_GetFocusMapAreaIndex(MWContext *context);
extern void XPTAB_GetFocusMapArea(MWContext *context, lo_MapAreaRec **map_area);
/* Call to clear the current tab focus. */
extern void XPTAB_ClearTabFocus(MWContext *context);
/* these two functions should be invoked when the user pressed TAB (XPTAB_ToNext*Element)
and shift TAB (XPTAB_ToPrev*Element).
they return TRUE if the tab actually resulted in focus going to a new element, and
FALSE otherwise. */
extern Bool XPTAB_TabToNextElement(MWContext *context);
extern Bool XPTAB_TabToPrevElement(MWContext *context);
extern Bool XPTAB_TabToNextFormElement(MWContext *context);
extern Bool XPTAB_TabToPrevFormElement(MWContext *context);
XP_END_PROTOS
#endif /* _xp_tab_h */