about summary refs log blame commit diff stats
path: root/src/GridText.h
blob: 242ca376fe58ce33fa5fceb55b44b5ed0d7bf62a (plain) (tree)
1
2
3
4
5
6
7
8
9





                                                     
                                                

                 
                    

                      
                   
 
                 
                                                                          
                   



                



































                                                                         
 
                                
                                  
 


                                                     
 

                                                                


                               

                                           


                                  






















                                                                    
                                              






                                                  
                      
                                        
      



























                                                                              
 
                       


                                                 
      
 



























                                                                  
 
                          










                                                              
 
                 



































                                                                          


                                                                       




























                                                                     
 






                                            
 
                    
                                  
      
 
                                         
 
                  

                          
                          
      
 



                                                                   
 
                         
/*	Specialities of GridText as subclass of HText
*/
#ifndef LYGRIDTEXT_H
#define LYGRIDTEXT_H

#include <HText.h>		/* Superclass */

#ifndef HTFORMS_H
#include <HTForms.h>
#endif /* HTFORMS_H */

#include <HTFont.h>

#define TABSTOP 8
#define SPACES  "        "	/* must be at least TABSTOP spaces long */
#define SPLAT   '.'

#define NOCHOP 0
#define CHOP   1

/* just for information:
US-ASCII control characters <32 which are not defined in Unicode standard
=00	U+0000	NULL
=01	U+0001	START OF HEADING
=02	U+0002	START OF TEXT
=03	U+0003	END OF TEXT
=04	U+0004	END OF TRANSMISSION
=05	U+0005	ENQUIRY
=06	U+0006	ACKNOWLEDGE
=07	U+0007	BELL
=08	U+0008	BACKSPACE
=09	U+0009	HORIZONTAL TABULATION
=0A	U+000A	LINE FEED
=0B	U+000B	VERTICAL TABULATION
=0C	U+000C	FORM FEED
=0D	U+000D	CARRIAGE RETURN
=0E	U+000E	SHIFT OUT
=0F	U+000F	SHIFT IN
=10	U+0010	DATA LINK ESCAPE
=11	U+0011	DEVICE CONTROL ONE
=12	U+0012	DEVICE CONTROL TWO
=13	U+0013	DEVICE CONTROL THREE
=14	U+0014	DEVICE CONTROL FOUR
=15	U+0015	NEGATIVE ACKNOWLEDGE
=16	U+0016	SYNCHRONOUS IDLE
=17	U+0017	END OF TRANSMISSION BLOCK
=18	U+0018	CANCEL
=19	U+0019	END OF MEDIUM
=1A	U+001A	SUBSTITUTE
=1B	U+001B	ESCAPE
=1C	U+001C	FILE SEPARATOR
=1D	U+001D	GROUP SEPARATOR
=1E	U+001E	RECORD SEPARATOR
=1F	U+001F	UNIT SEPARATOR
=7F	U+007F	DELETE
*/

extern int HTCurSelectGroupType;
extern char *HTCurSelectGroupSize;

#if defined(VMS) && defined(VAXC) && !defined(__DECC)
extern int HTVirtualMemorySize;
#endif /* VMS && VAXC && !__DECC */

extern HTChildAnchor *HText_childNextNumber(int n, void **prev);
extern void HText_FormDescNumber(int n, char **desc);

/*	Is there any file left?
*/
extern BOOL HText_canScrollUp(HText *text);
extern BOOL HText_canScrollDown(void);

/*	Move display within window
*/
extern void HText_scrollUp(HText *text);	/* One page */
extern void HText_scrollDown(HText *text);	/* One page */
extern void HText_scrollTop(HText *text);
extern void HText_scrollBottom(HText *text);
extern void HText_pageDisplay(int line_num, char *target);
extern BOOL HText_pageHasPrevTarget(void);

extern int HText_LinksInLines(HText *text, int line_num, int Lines);

extern void HText_setLastChar(HText *text, char ch);
extern char HText_getLastChar(HText *text);
extern void HText_setIgnoreExcess(HText *text, BOOL ignore);

extern int HText_sourceAnchors(HText *text);
extern void HText_setStale(HText *text);
extern void HText_refresh(HText *text);
extern const char *HText_getTitle(void);
extern const char *HText_getSugFname(void);
extern void HTCheckFnameForCompression(char **fname,
				       HTParentAnchor *anchor,
				       BOOLEAN strip_ok);
extern const char *HText_getLastModified(void);
extern const char *HText_getDate(void);
extern const char *HText_getHttpHeaders(void);
extern const char *HText_getServer(void);
extern const char *HText_getOwner(void);
extern const char *HText_getContentBase(void);
extern const char *HText_getContentLocation(void);
extern const char *HText_getMessageID(void);
extern const char *HText_getRevTitle(void);

#ifdef USE_COLOR_STYLE
extern const char *HText_getStyle(void);
#endif
extern void HText_setMainTextOwner(const char *owner);
extern void print_wwwfile_to_fd(FILE *fp, BOOLEAN is_email, BOOLEAN is_reply);
extern BOOL HText_select(HText *text);
extern BOOL HText_POSTReplyLoaded(DocInfo *doc);
extern BOOL HTFindPoundSelector(const char *selector);
extern int HTGetRelLinkNum(int num, int rel, int cur);
extern int HTGetLinkInfo(int number,
			 int want_go,
			 int *go_line,
			 int *linknum,
			 char **hightext,
			 char **lname);
extern BOOL HText_TAHasMoreLines(int curlink,
				 int direction);
extern int HTGetLinkOrFieldStart(int curlink,
				 int *go_line,
				 int *linknum,
				 int direction,
				 BOOLEAN ta_skip);
extern BOOL HText_getFirstTargetInLine(HText *text,
				       int line_num,
				       BOOL utf_flag,
				       int *offset,
				       int *tLen,
				       char **data,
				       const char *target);
extern int HTisDocumentSource(void);
extern void HTuncache_current_document(void);

#ifdef USE_SOURCE_CACHE
extern BOOLEAN HTreparse_document(void);
extern BOOLEAN HTcan_reparse_document(void);
extern BOOLEAN HTdocument_settings_changed(void);
#endif

extern BOOL HTLoadedDocumentEightbit(void);
extern BOOL HText_LastLineEmpty(HText *me, BOOL IgnoreSpaces);
extern BOOL HText_PreviousLineEmpty(HText *me, BOOL IgnoreSpaces);
extern BOOL HText_inLineOne(HText *text);
extern BOOLEAN HTLoadedDocumentIsHEAD(void);
extern BOOLEAN HTLoadedDocumentIsSafe(void);
extern bstring *HTLoadedDocumentPost_data(void);
extern char *HTLoadedDocumentBookmark(void);
extern char *HTLoadedDocumentCharset(void);
extern char *HTLoadedDocumentTitle(void);
extern char *HTLoadedDocumentURL(void);
extern char *HText_HiddenLinkAt(HText *text, int number);
extern int HText_HiddenLinkCount(HText *text);
extern int HText_LastLineOffset(HText *me);
extern int HText_LastLineSize(HText *me, BOOL IgnoreSpaces);
extern int HText_PreviousLineSize(HText *me, BOOL IgnoreSpaces);
extern int HText_getCurrentColumn(HText *text);
extern int HText_getLines(HText *text);
extern int HText_getMaximumColumn(HText *text);
extern int HText_getNumOfLines(void);
extern int HText_getTabIDColumn(HText *text, const char *name);
extern int HText_getTopOfScreen(void);
extern int do_www_search(DocInfo *doc);
extern void HText_NegateLineOne(HText *text);
extern void HText_RemovePreviousLine(HText *text);
extern void HText_setNodeAnchorBookmark(const char *bookmark);
extern void HText_setTabID(HText *text, const char *name);
extern void *HText_pool_calloc(HText *text, unsigned size);

/* "simple table" stuff */
extern int HText_endStblTABLE(HText *);
extern int HText_trimCellLines(HText *text);
extern void HText_cancelStbl(HText *);
extern void HText_endStblCOLGROUP(HText *);
extern void HText_endStblTD(HText *);
extern void HText_endStblTR(HText *);
extern void HText_startStblCOL(HText *, int, short, BOOL);
extern void HText_startStblRowGroup(HText *, short);
extern void HText_startStblTABLE(HText *, short);
extern void HText_startStblTD(HText *, int, int, short, BOOL);
extern void HText_startStblTR(HText *, short);

/* forms stuff */
extern void HText_beginForm(char *action,
			    char *method,
			    char *enctype,
			    char *title,
			    const char *accept_cs);
extern void HText_endForm(HText *text);
extern void HText_beginSelect(char *name,
			      int name_cs,
			      BOOLEAN multiple,
			      char *len);
extern int HText_getOptionNum(HText *text);
extern char *HText_setLastOptionValue(HText *text,
				      char *value,
				      char *submit_value,
				      int order,
				      BOOLEAN checked,
				      int val_cs,
				      int submit_val_cs);
extern int HText_beginInput(HText *text,
			    BOOL underline,
			    InputFieldData * I);
extern void HText_endInput(HText *text);
extern int HText_SubmitForm(FormInfo * submit_item, DocInfo *doc,
			    char *link_name,
			    char *link_value);
extern void HText_DisableCurrentForm(void);
extern void HText_ResetForm(FormInfo * form);
extern void HText_activateRadioButton(FormInfo * form);
extern BOOLEAN HText_HaveUserChangedForms(HText *text);

extern HTList *search_queries;	/* Previous isindex and whereis queries */
extern void HTSearchQueries_free(void);
extern void HTAddSearchQuery(char *query);

extern void user_message(const char *message,
			 const char *argument);

#define _user_message(msg, arg)	mustshow = TRUE, user_message(msg, arg)

extern void www_user_search(int start_line,
			    DocInfo *doc,
			    char *target,
			    int direction);

extern void print_crawl_to_fd(FILE *fp,
			      char *thelink,
			      char *thetitle);
extern char *stub_HTAnchor_address(HTAnchor * me);

extern void HText_setToolbar(HText *text);
extern BOOL HText_hasToolbar(HText *text);

extern void HText_setNoCache(HText *text);
extern BOOL HText_hasNoCacheSet(HText *text);

extern BOOL HText_hasUTF8OutputSet(HText *text);
extern void HText_setKcode(HText *text,
			   const char *charset,
			   LYUCcharset *p_in);

extern void HText_setBreakPoint(HText *text);

extern BOOL HText_AreDifferent(HTParentAnchor *anchor,
			       const char *full_address);

extern int HText_ExtEditForm(LinkInfo * form_link);
extern void HText_ExpandTextarea(LinkInfo * form_link, int newlines);
extern int HText_InsertFile(LinkInfo * form_link);

extern void redraw_lines_of_link(int cur);
extern void LYMoveToLink(int cur,
			 const char *target,
			 char *hightext,
			 int flag,
			 BOOL inU,
			 BOOL utf_flag);

#ifdef USE_PRETTYSRC
extern void HTMark_asSource(void);
#endif

extern int HTMainText_Get_UCLYhndl(void);

#include <HTCJK.h>

#ifdef KANJI_CODE_OVERRIDE
extern HTkcode last_kcode;
#endif

extern HTkcode HText_getKcode(HText *text);
extern void HText_updateKcode(HText *text, HTkcode kcode);
extern HTkcode HText_getSpecifiedKcode(HText *text);
extern void HText_updateSpecifiedKcode(HText *text, HTkcode kcode);

#endif /* LYGRIDTEXT_H */