Blame src/GridText.h

Packit f574b8
/*
Packit f574b8
 * $LynxId: GridText.h,v 1.69 2012/02/12 23:25:38 tom Exp $
Packit f574b8
 *
Packit f574b8
 * Specialities of GridText as subclass of HText
Packit f574b8
 */
Packit f574b8
#ifndef LYGRIDTEXT_H
Packit f574b8
#define LYGRIDTEXT_H
Packit f574b8
Packit f574b8
#include <HText.h>		/* Superclass */
Packit f574b8
Packit f574b8
#ifndef HTFORMS_H
Packit f574b8
#include <HTForms.h>
Packit f574b8
#endif /* HTFORMS_H */
Packit f574b8
Packit f574b8
#include <HTFont.h>
Packit f574b8
Packit f574b8
#include <HTCJK.h>
Packit f574b8
Packit f574b8
#ifdef __cplusplus
Packit f574b8
extern "C" {
Packit f574b8
#endif
Packit f574b8
#define TABSTOP 8
Packit f574b8
#define SPACES  "        "	/* must be at least TABSTOP spaces long */
Packit f574b8
#define SPLAT   '.'
Packit f574b8
#define NOCHOP 0
Packit f574b8
#define CHOP   1
Packit f574b8
/* just for information:
Packit f574b8
US-ASCII control characters <32 which are not defined in Unicode standard
Packit f574b8
=00	U+0000	NULL
Packit f574b8
=01	U+0001	START OF HEADING
Packit f574b8
=02	U+0002	START OF TEXT
Packit f574b8
=03	U+0003	END OF TEXT
Packit f574b8
=04	U+0004	END OF TRANSMISSION
Packit f574b8
=05	U+0005	ENQUIRY
Packit f574b8
=06	U+0006	ACKNOWLEDGE
Packit f574b8
=07	U+0007	BELL
Packit f574b8
=08	U+0008	BACKSPACE
Packit f574b8
=09	U+0009	HORIZONTAL TABULATION
Packit f574b8
=0A	U+000A	LINE FEED
Packit f574b8
=0B	U+000B	VERTICAL TABULATION
Packit f574b8
=0C	U+000C	FORM FEED
Packit f574b8
=0D	U+000D	CARRIAGE RETURN
Packit f574b8
=0E	U+000E	SHIFT OUT
Packit f574b8
=0F	U+000F	SHIFT IN
Packit f574b8
=10	U+0010	DATA LINK ESCAPE
Packit f574b8
=11	U+0011	DEVICE CONTROL ONE
Packit f574b8
=12	U+0012	DEVICE CONTROL TWO
Packit f574b8
=13	U+0013	DEVICE CONTROL THREE
Packit f574b8
=14	U+0014	DEVICE CONTROL FOUR
Packit f574b8
=15	U+0015	NEGATIVE ACKNOWLEDGE
Packit f574b8
=16	U+0016	SYNCHRONOUS IDLE
Packit f574b8
=17	U+0017	END OF TRANSMISSION BLOCK
Packit f574b8
=18	U+0018	CANCEL
Packit f574b8
=19	U+0019	END OF MEDIUM
Packit f574b8
=1A	U+001A	SUBSTITUTE
Packit f574b8
=1B	U+001B	ESCAPE
Packit f574b8
=1C	U+001C	FILE SEPARATOR
Packit f574b8
=1D	U+001D	GROUP SEPARATOR
Packit f574b8
=1E	U+001E	RECORD SEPARATOR
Packit f574b8
=1F	U+001F	UNIT SEPARATOR
Packit f574b8
=7F	U+007F	DELETE
Packit f574b8
*/ extern int HTCurSelectGroupType;
Packit f574b8
    extern char *HTCurSelectGroupSize;
Packit f574b8
Packit f574b8
#if defined(VMS) && defined(VAXC) && !defined(__DECC)
Packit f574b8
    extern int HTVirtualMemorySize;
Packit f574b8
#endif				/* VMS && VAXC && !__DECC */
Packit f574b8
Packit f574b8
    extern HTChildAnchor *HText_childNextNumber(int n, void **prev);
Packit f574b8
    extern int HText_findAnchorNumber(void *avoid);
Packit f574b8
    extern void HText_FormDescNumber(int n, const char **desc);
Packit f574b8
Packit f574b8
/*	Is there any file left?
Packit f574b8
*/
Packit f574b8
    extern BOOL HText_canScrollUp(HText *text);
Packit f574b8
    extern BOOL HText_canScrollDown(void);
Packit f574b8
Packit f574b8
/*	Move display within window
Packit f574b8
*/
Packit f574b8
    extern void HText_scrollUp(HText *text);	/* One page */
Packit f574b8
    extern void HText_scrollDown(HText *text);	/* One page */
Packit f574b8
    extern void HText_scrollTop(HText *text);
Packit f574b8
    extern void HText_scrollBottom(HText *text);
Packit f574b8
    extern void HText_pageDisplay(int line_num, char *target);
Packit f574b8
    extern BOOL HText_pageHasPrevTarget(void);
Packit f574b8
Packit f574b8
    extern int HText_LinksInLines(HText *text, int line_num, int Lines);
Packit f574b8
Packit f574b8
    extern int HText_getAbsLineNumber(HText *text, int anchor_number);
Packit f574b8
    extern int HText_closestAnchor(HText *text, int offset);
Packit f574b8
    extern int HText_locateAnchor(HText *text, int anchor_number);
Packit f574b8
    extern int HText_anchorRelativeTo(HText *text, int top_lineno, int anchor_num);
Packit f574b8
Packit f574b8
    extern void HText_setLastChar(HText *text, int ch);
Packit f574b8
    extern char HText_getLastChar(HText *text);
Packit f574b8
Packit f574b8
    extern int HText_sourceAnchors(HText *text);
Packit f574b8
    extern void HText_setStale(HText *text);
Packit f574b8
    extern void HText_refresh(HText *text);
Packit f574b8
    extern const char *HText_getTitle(void);
Packit f574b8
    extern const char *HText_getSugFname(void);
Packit f574b8
    extern void HTCheckFnameForCompression(char **fname,
Packit f574b8
					   HTParentAnchor *anchor,
Packit f574b8
					   int strip_ok);
Packit f574b8
    extern const char *HText_getLastModified(void);
Packit f574b8
    extern const char *HText_getDate(void);
Packit f574b8
    extern const char *HText_getHttpHeaders(void);
Packit f574b8
    extern const char *HText_getServer(void);
Packit f574b8
    extern const char *HText_getOwner(void);
Packit f574b8
    extern const char *HText_getContentBase(void);
Packit f574b8
    extern const char *HText_getContentLocation(void);
Packit f574b8
    extern const char *HText_getMessageID(void);
Packit f574b8
    extern const char *HText_getRevTitle(void);
Packit f574b8
Packit f574b8
#ifdef USE_COLOR_STYLE
Packit f574b8
    extern const char *HText_getStyle(void);
Packit f574b8
#endif
Packit f574b8
    extern void HText_setMainTextOwner(const char *owner);
Packit f574b8
    extern void print_wwwfile_to_fd(FILE *fp, int is_email, int is_reply);
Packit f574b8
    extern BOOL HText_select(HText *text);
Packit f574b8
    extern BOOL HText_POSTReplyLoaded(DocInfo *doc);
Packit f574b8
    extern BOOL HTFindPoundSelector(const char *selector);
Packit f574b8
    extern int HTGetRelLinkNum(int num, int rel, int cur);
Packit f574b8
    extern int HTGetLinkInfo(int number,
Packit f574b8
			     int want_go,
Packit f574b8
			     int *go_line,
Packit f574b8
			     int *linknum,
Packit f574b8
			     char **hightext,
Packit f574b8
			     char **lname);
Packit f574b8
    extern BOOL HText_TAHasMoreLines(int curlink,
Packit f574b8
				     int direction);
Packit f574b8
    extern int HTGetLinkOrFieldStart(int curlink,
Packit f574b8
				     int *go_line,
Packit f574b8
				     int *linknum,
Packit f574b8
				     int direction,
Packit f574b8
				     int ta_skip);
Packit f574b8
    extern BOOL HText_getFirstTargetInLine(HText *text,
Packit f574b8
					   int line_num,
Packit f574b8
					   int utf_flag,
Packit f574b8
					   int *offset,
Packit f574b8
					   int *tLen,
Packit f574b8
					   char **data,
Packit f574b8
					   const char *target);
Packit f574b8
    extern int HTisDocumentSource(void);
Packit f574b8
    extern void HTuncache_current_document(void);
Packit f574b8
Packit f574b8
#ifdef USE_SOURCE_CACHE
Packit f574b8
    extern BOOLEAN HTreparse_document(void);
Packit f574b8
    extern BOOLEAN HTcan_reparse_document(void);
Packit f574b8
    extern BOOLEAN HTdocument_settings_changed(void);
Packit f574b8
#endif
Packit f574b8
Packit f574b8
    extern BOOL HTLoadedDocumentEightbit(void);
Packit f574b8
    extern BOOL HText_LastLineEmpty(HText *me, int IgnoreSpaces);
Packit f574b8
    extern BOOL HText_PreviousLineEmpty(HText *me, int IgnoreSpaces);
Packit f574b8
    extern BOOL HText_inLineOne(HText *text);
Packit f574b8
    extern BOOLEAN HTLoadedDocumentIsHEAD(void);
Packit f574b8
    extern BOOLEAN HTLoadedDocumentIsSafe(void);
Packit f574b8
    extern bstring *HTLoadedDocumentPost_data(void);
Packit f574b8
    extern const char *HTLoadedDocumentBookmark(void);
Packit f574b8
    extern const char *HTLoadedDocumentCharset(void);
Packit f574b8
    extern const char *HTLoadedDocumentTitle(void);
Packit f574b8
    extern const char *HTLoadedDocumentURL(void);
Packit f574b8
    extern const char *HText_HiddenLinkAt(HText *text, int number);
Packit f574b8
    extern int HText_HiddenLinkCount(HText *text);
Packit f574b8
    extern int HText_LastLineOffset(HText *me);
Packit f574b8
    extern int HText_LastLineSize(HText *me, int IgnoreSpaces);
Packit f574b8
    extern int HText_PreviousLineSize(HText *me, int IgnoreSpaces);
Packit f574b8
    extern int HText_getCurrentColumn(HText *text);
Packit f574b8
    extern int HText_getLines(HText *text);
Packit f574b8
    extern int HText_getMaximumColumn(HText *text);
Packit f574b8
    extern int HText_getNumOfBytes(void);
Packit f574b8
    extern int HText_getNumOfLines(void);
Packit f574b8
    extern int HText_getPreferredTopLine(HText *text, int line_number);
Packit f574b8
    extern int HText_getTabIDColumn(HText *text, const char *name);
Packit f574b8
    extern int HText_getTopOfScreen(void);
Packit f574b8
    extern int do_www_search(DocInfo *doc);
Packit f574b8
    extern void HText_NegateLineOne(HText *text);
Packit f574b8
    extern void HText_RemovePreviousLine(HText *text);
Packit f574b8
    extern void HText_setNodeAnchorBookmark(const char *bookmark);
Packit f574b8
    extern void HText_setTabID(HText *text, const char *name);
Packit f574b8
    extern void *HText_pool_calloc(HText *text, unsigned size);
Packit f574b8
Packit f574b8
/* "simple table" stuff */
Packit f574b8
    extern BOOLEAN HText_endStblTABLE(HText *);
Packit f574b8
    extern int HText_trimCellLines(HText *text);
Packit f574b8
    extern void HText_cancelStbl(HText *);
Packit f574b8
    extern void HText_endStblCOLGROUP(HText *);
Packit f574b8
    extern void HText_endStblTD(HText *);
Packit f574b8
    extern void HText_endStblTR(HText *);
Packit f574b8
    extern void HText_startStblCOL(HText *, int, int, int);
Packit f574b8
    extern void HText_startStblRowGroup(HText *, int);
Packit f574b8
    extern void HText_startStblTABLE(HText *, int);
Packit f574b8
    extern void HText_startStblTD(HText *, int, int, int, int);
Packit f574b8
    extern void HText_startStblTR(HText *, int);
Packit f574b8
Packit f574b8
/* forms stuff */
Packit f574b8
    extern void HText_beginForm(char *action,
Packit f574b8
				char *method,
Packit f574b8
				char *enctype,
Packit f574b8
				char *title,
Packit f574b8
				const char *accept_cs);
Packit f574b8
    extern void HText_endForm(HText *text);
Packit f574b8
    extern void HText_beginSelect(char *name,
Packit f574b8
				  int name_cs,
Packit f574b8
				  int multiple,
Packit f574b8
				  char *len);
Packit f574b8
    extern int HText_getOptionNum(HText *text);
Packit f574b8
    extern char *HText_setLastOptionValue(HText *text,
Packit f574b8
					  char *value,
Packit f574b8
					  char *submit_value,
Packit f574b8
					  int order,
Packit f574b8
					  int checked,
Packit f574b8
					  int val_cs,
Packit f574b8
					  int submit_val_cs);
Packit f574b8
    extern int HText_beginInput(HText *text,
Packit f574b8
				int underline,
Packit f574b8
				InputFieldData * I);
Packit f574b8
    extern void HText_endInput(HText *text);
Packit f574b8
    extern PerFormInfo *HText_PerFormInfo(int number);
Packit f574b8
    extern int HText_SubmitForm(FormInfo * submit_item, DocInfo *doc,
Packit f574b8
				const char *link_name,
Packit f574b8
				const char *link_value);
Packit f574b8
    extern void HText_DisableCurrentForm(void);
Packit f574b8
    extern void HText_ResetForm(FormInfo * form);
Packit f574b8
    extern void HText_activateRadioButton(FormInfo * form);
Packit f574b8
    extern BOOLEAN HText_HaveUserChangedForms(HText *text);
Packit f574b8
Packit f574b8
    extern HTList *search_queries;	/* Previous isindex and whereis queries */
Packit f574b8
    extern void HTSearchQueries_free(void);
Packit f574b8
    extern void HTAddSearchQuery(char *query);
Packit f574b8
Packit f574b8
    extern void user_message(const char *message,
Packit f574b8
			     const char *argument);
Packit f574b8
Packit f574b8
#define _user_message(msg, arg)	mustshow = TRUE, user_message(msg, arg)
Packit f574b8
Packit f574b8
    extern void www_user_search(int start_line,
Packit f574b8
				DocInfo *doc,
Packit f574b8
				char *target,
Packit f574b8
				int direction);
Packit f574b8
Packit f574b8
    extern void print_crawl_to_fd(FILE *fp,
Packit f574b8
				  char *thelink,
Packit f574b8
				  char *thetitle);
Packit f574b8
    extern char *stub_HTAnchor_address(HTAnchor * me);
Packit f574b8
Packit f574b8
    extern void HText_setToolbar(HText *text);
Packit f574b8
    extern BOOL HText_hasToolbar(HText *text);
Packit f574b8
Packit f574b8
    extern void HText_setNoCache(HText *text);
Packit f574b8
    extern BOOL HText_hasNoCacheSet(HText *text);
Packit f574b8
Packit f574b8
    extern BOOL HText_hasUTF8OutputSet(HText *text);
Packit f574b8
    extern void HText_setKcode(HText *text,
Packit f574b8
			       const char *charset,
Packit f574b8
			       LYUCcharset *p_in);
Packit f574b8
Packit f574b8
    extern void HText_setBreakPoint(HText *text);
Packit f574b8
Packit f574b8
    extern BOOL HText_AreDifferent(HTParentAnchor *anchor,
Packit f574b8
				   const char *full_address);
Packit f574b8
Packit f574b8
    extern int HText_EditTextArea(LinkInfo * form_link);
Packit f574b8
    extern void HText_EditTextField(LinkInfo * form_link);
Packit f574b8
    extern void HText_ExpandTextarea(LinkInfo * form_link, int newlines);
Packit f574b8
    extern int HText_InsertFile(LinkInfo * form_link);
Packit f574b8
Packit f574b8
    extern void redraw_lines_of_link(int cur);
Packit f574b8
    extern void LYMoveToLink(int cur,
Packit f574b8
			     const char *target,
Packit f574b8
			     const char *hightext,
Packit f574b8
			     int flag,
Packit f574b8
			     int inU,
Packit f574b8
			     int utf_flag);
Packit f574b8
Packit f574b8
#ifdef USE_PRETTYSRC
Packit f574b8
    extern void HTMark_asSource(void);
Packit f574b8
#endif
Packit f574b8
Packit f574b8
    extern int HTMainText_Get_UCLYhndl(void);
Packit f574b8
Packit f574b8
#ifdef KANJI_CODE_OVERRIDE
Packit f574b8
    extern HTkcode last_kcode;
Packit f574b8
#endif
Packit f574b8
Packit f574b8
    extern HTkcode HText_getKcode(HText *text);
Packit f574b8
    extern void HText_updateKcode(HText *text, HTkcode kcode);
Packit f574b8
    extern HTkcode HText_getSpecifiedKcode(HText *text);
Packit f574b8
    extern void HText_updateSpecifiedKcode(HText *text, HTkcode kcode);
Packit f574b8
Packit f574b8
#ifdef __cplusplus
Packit f574b8
}
Packit f574b8
#endif
Packit f574b8
#endif				/* LYGRIDTEXT_H */