blob: a93781e96d53f9ad4fbd31bddfd67735ef43d9bc (
plain) (
tree)
|
|
/* */
#ifndef HTHISTORY_H
#define HTHISTORY_H
#include "HTAnchor.h"
#ifdef SHORT_NAMES
#define HTHistory_record HTHiReco
#define HTHistory_backtrack HTHiBack
#define HTHistory_canBacktrack HTHiCaBa
#define HTHistory_moveBy HTHiMoBy
#define HTHistory_canMoveBy HTHiCaMo
#define HTHistory_read HTHiRead
#define HTHistory_recall HTHiReca
#define HTHistory_count HTHiCoun
#define HTHistory_leavingFrom HTHiLeFr
#endif
/* Navigation
** ==========
*/
/* Record the jump to an anchor
** ----------------------------
*/
extern void HTHistory_record
PARAMS(
(HTAnchor * destination)
);
/* Go back in history (find the last visited node)
** ------------------
*/
extern HTAnchor * HTHistory_backtrack
NOPARAMS; /* FIXME: Should we add a `sticky' option ? */
extern BOOL HTHistory_canBacktrack
NOPARAMS;
/* Browse through references in the same parent node
** -------------------------------------------------
**
** Take the n-th child's link after or before the one we took to get here.
** Positive offset means go towards most recently added children.
*/
extern HTAnchor * HTHistory_moveBy
PARAMS(
(int offset)
);
extern BOOL HTHistory_canMoveBy
PARAMS(
(int offset)
);
#define HTHistory_next (HTHistory_moveBy (+1))
#define HTHistory_canNext (HTHistory_canMoveBy (+1))
#define HTHistory_previous (HTHistory_moveBy (-1))
#define HTHistory_canPrevious (HTHistory_canMoveBy (-1))
/* Retrieval
** =========
*/
/* Read numbered visited anchor (1 is the oldest)
** ----------------------------
*/
extern HTAnchor * HTHistory_read
PARAMS(
(int number)
);
/* Recall numbered visited anchor (1 is the oldest)
** ------------------------------
** This reads the anchor and stores it again in the list, except if last.
*/
extern HTAnchor * HTHistory_recall
PARAMS(
(int number)
);
/* Number of Anchors stored
** ------------------------
**
** This is needed in order to check the validity of certain commands
** for menus, etc.
(not needed for now. Use canBacktrack, etc.)
extern int HTHistory_count NOPARAMS;
*/
/* Change last history entry
** -------------------------
**
** Sometimes we load a node by one anchor but leave by a different
** one, and it is the one we left from which we want to remember.
*/
extern void HTHistory_leavingFrom
PARAMS(
(HTAnchor * anchor)
);
#endif /* HTHISTORY_H */
/*
*/
|