xedit.h revision 5dfecf96
15dfecf96Smrg/*
25dfecf96Smrg * Copyright (c) 2002 by The XFree86 Project, Inc.
35dfecf96Smrg *
45dfecf96Smrg * Permission is hereby granted, free of charge, to any person obtaining a
55dfecf96Smrg * copy of this software and associated documentation files (the "Software"),
65dfecf96Smrg * to deal in the Software without restriction, including without limitation
75dfecf96Smrg * the rights to use, copy, modify, merge, publish, distribute, sublicense,
85dfecf96Smrg * and/or sell copies of the Software, and to permit persons to whom the
95dfecf96Smrg * Software is furnished to do so, subject to the following conditions:
105dfecf96Smrg *
115dfecf96Smrg * The above copyright notice and this permission notice shall be included in
125dfecf96Smrg * all copies or substantial portions of the Software.
135dfecf96Smrg *
145dfecf96Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
155dfecf96Smrg * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
165dfecf96Smrg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
175dfecf96Smrg * THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
185dfecf96Smrg * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
195dfecf96Smrg * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
205dfecf96Smrg * SOFTWARE.
215dfecf96Smrg *
225dfecf96Smrg * Except as contained in this notice, the name of the XFree86 Project shall
235dfecf96Smrg * not be used in advertising or otherwise to promote the sale, use or other
245dfecf96Smrg * dealings in this Software without prior written authorization from the
255dfecf96Smrg * XFree86 Project.
265dfecf96Smrg *
275dfecf96Smrg * Author: Paulo César Pereira de Andrade
285dfecf96Smrg */
295dfecf96Smrg
305dfecf96Smrg/* $XFree86: xc/programs/xedit/lisp/xedit.h,v 1.5tsi Exp $ */
315dfecf96Smrg
325dfecf96Smrg#ifndef Lisp_xedit_h
335dfecf96Smrg#define Lisp_xedit_h
345dfecf96Smrg
355dfecf96Smrg#ifdef XEDIT_LISP_PRIVATE
365dfecf96Smrg#include "lisp/private.h"
375dfecf96Smrg#include "lisp/io.h"
385dfecf96Smrg#include "lisp/read.h"
395dfecf96Smrg#include "lisp/write.h"
405dfecf96Smrg
415dfecf96SmrgLispObj *Xedit_AddEntity(LispBuiltin*);
425dfecf96SmrgLispObj *Xedit_AutoFill(LispBuiltin*);
435dfecf96SmrgLispObj *Xedit_Background(LispBuiltin*);
445dfecf96SmrgLispObj *Xedit_CharAfter(LispBuiltin*);
455dfecf96SmrgLispObj *Xedit_CharBefore(LispBuiltin*);
465dfecf96SmrgLispObj *Xedit_ClearEntities(LispBuiltin*);
475dfecf96SmrgLispObj *Xedit_ConvertPropertyList(LispBuiltin*);
485dfecf96SmrgLispObj *Xedit_Font(LispBuiltin*);
495dfecf96SmrgLispObj *Xedit_Foreground(LispBuiltin*);
505dfecf96SmrgLispObj *Xedit_GotoChar(LispBuiltin*);
515dfecf96SmrgLispObj *Xedit_HorizontalScrollbar(LispBuiltin*);
525dfecf96SmrgLispObj *Xedit_Insert(LispBuiltin*);
535dfecf96SmrgLispObj *Xedit_Justification(LispBuiltin*);
545dfecf96SmrgLispObj *Xedit_LeftColumn(LispBuiltin*);
555dfecf96SmrgLispObj *Xedit_Point(LispBuiltin*);
565dfecf96SmrgLispObj *Xedit_PointMax(LispBuiltin*);
575dfecf96SmrgLispObj *Xedit_PointMin(LispBuiltin*);
585dfecf96SmrgLispObj *Xedit_PropertyList(LispBuiltin*);
595dfecf96SmrgLispObj *Xedit_ReadText(LispBuiltin*);
605dfecf96SmrgLispObj *Xedit_ReplaceText(LispBuiltin*);
615dfecf96SmrgLispObj *Xedit_RightColumn(LispBuiltin*);
625dfecf96SmrgLispObj *Xedit_Scan(LispBuiltin*);
635dfecf96SmrgLispObj *Xedit_SearchBackward(LispBuiltin*);
645dfecf96SmrgLispObj *Xedit_SearchForward(LispBuiltin*);
655dfecf96SmrgLispObj *Xedit_VerticalScrollbar(LispBuiltin*);
665dfecf96SmrgLispObj *Xedit_WrapMode(LispBuiltin*);
675dfecf96SmrgLispObj *Xedit_XrmStringToQuark(LispBuiltin*);
685dfecf96Smrg#else
695dfecf96Smrg#define LispObj void
705dfecf96Smrg#endif /* XEDIT_LISP_PRIVATE */
715dfecf96Smrg
725dfecf96Smrgtypedef struct _EditModeInfo {
735dfecf96Smrg    char *desc;			/* Mode description */
745dfecf96Smrg    Widget sme;			/* Menu entry */
755dfecf96Smrg    LispObj *symbol;		/* Symbol holding syntax data */
765dfecf96Smrg    LispObj *syntax;		/* The syntax definition */
775dfecf96Smrg} EditModeInfo;
785dfecf96Smrg
795dfecf96Smrg/* Typedef'ed to XeditLispData in ../xedit.h */
805dfecf96Smrgstruct _XeditLispData {
815dfecf96Smrg    LispObj *syntax;		/* Syntax definition */
825dfecf96Smrg    LispObj *syntable;		/* Syntax-table the cursor is located */
835dfecf96Smrg    int disable_highlight;	/* Working in the buffer */
845dfecf96Smrg};
855dfecf96Smrg
865dfecf96Smrgvoid LispXeditInitialize(void);
875dfecf96Smrgvoid XeditLispExecute(Widget, XawTextPosition, XawTextPosition);
885dfecf96Smrgvoid XeditLispSetEditMode(xedit_flist_item*, LispObj*);
895dfecf96Smrgvoid XeditLispUnsetEditMode(xedit_flist_item*);
905dfecf96Smrg
915dfecf96Smrgextern EditModeInfo *mode_infos;
925dfecf96Smrgextern Cardinal num_mode_infos;
935dfecf96Smrg
945dfecf96Smrg#endif /* Lisp_xedit_h */
95