Blame lib/Xm/TextStrSoP.h

Packit b099d7
/* 
Packit b099d7
 * Motif
Packit b099d7
 *
Packit b099d7
 * Copyright (c) 1987-2012, The Open Group. All rights reserved.
Packit b099d7
 *
Packit b099d7
 * These libraries and programs are free software; you can
Packit b099d7
 * redistribute them and/or modify them under the terms of the GNU
Packit b099d7
 * Lesser General Public License as published by the Free Software
Packit b099d7
 * Foundation; either version 2 of the License, or (at your option)
Packit b099d7
 * any later version.
Packit b099d7
 *
Packit b099d7
 * These libraries and programs are distributed in the hope that
Packit b099d7
 * they will be useful, but WITHOUT ANY WARRANTY; without even the
Packit b099d7
 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
Packit b099d7
 * PURPOSE. See the GNU Lesser General Public License for more
Packit b099d7
 * details.
Packit b099d7
 *
Packit b099d7
 * You should have received a copy of the GNU Lesser General Public
Packit b099d7
 * License along with these librararies and programs; if not, write
Packit b099d7
 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
Packit b099d7
 * Floor, Boston, MA 02110-1301 USA
Packit b099d7
*/ 
Packit b099d7
/* 
Packit b099d7
 * HISTORY
Packit b099d7
*/ 
Packit b099d7
/* $XConsortium: TextStrSoP.h /main/9 1995/07/13 18:11:11 drk $ */
Packit b099d7
/* (c) Copyright 1989, DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
Packit b099d7
/* (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
Packit b099d7
#ifndef _XmTextStrSoP_h
Packit b099d7
#define _XmTextStrSoP_h
Packit b099d7
Packit b099d7
#include <Xm/XmP.h>
Packit b099d7
#include <Xm/Text.h>
Packit b099d7
Packit b099d7
#ifdef __cplusplus
Packit b099d7
extern "C" {
Packit b099d7
#endif
Packit b099d7
Packit b099d7
/****************************************************************
Packit b099d7
 *
Packit b099d7
 * Definitions for use by sources and source users.
Packit b099d7
 *
Packit b099d7
 ****************************************************************/
Packit b099d7
Packit b099d7
typedef struct _XmSourceDataRec {
Packit b099d7
  XmTextSource source;	/* Backpointer to source record. */
Packit b099d7
  XmTextWidget *widgets;	/* Array of widgets displaying this source. */
Packit b099d7
  XmTextPosition left, right; /* Left and right extents of selection. */
Packit b099d7
  char * ptr;			/* Actual string data. */
Packit b099d7
  char * value;		/* Value of the string data. */
Packit b099d7
  char * gap_start;		/* Gapped buffer start pointer */
Packit b099d7
  char * gap_end;		/* Gapped buffer end pointer */
Packit b099d7
  char * PSWC_NWLN;           /* Holder for char*, short*, int* rep of NWLN */
Packit b099d7
  int length;			/* Number of chars of data. */
Packit b099d7
  int maxlength;		/* Space allocated. */
Packit b099d7
  int old_length;		/* Space allocated for value pointer. */
Packit b099d7
  int numwidgets;		/* Number of entries in above. */
Packit b099d7
  int maxallowed;		/* The user is not allowed to grow source */
Packit b099d7
  /* to a size greater than this. */
Packit b099d7
  Time prim_time;             /* time of primary selection */
Packit b099d7
  Boolean hasselection;	/* Whether we own the selection. */
Packit b099d7
  Boolean editable;		/* Whether we allow any edits. */
Packit b099d7
  Boolean take_selection;	/* Whether we should take the selection. */
Packit b099d7
} XmSourceDataRec, *XmSourceData;
Packit b099d7
Packit b099d7
typedef void (*AddWidgetProc)(XmTextSource,
Packit b099d7
			      XmTextWidget);
Packit b099d7
Packit b099d7
typedef int (*CountLinesProc)(XmTextSource,
Packit b099d7
			      XmTextPosition,
Packit b099d7
			      unsigned long);
Packit b099d7
Packit b099d7
typedef void (*RemoveWidgetProc)(XmTextSource,
Packit b099d7
				 XmTextWidget);
Packit b099d7
Packit b099d7
typedef XmTextPosition (*ReadProc)(XmTextSource,
Packit b099d7
				   XmTextPosition,	/* starting position */
Packit b099d7
				   XmTextPosition,	/* The last position 
Packit b099d7
							   we're interested in.
Packit b099d7
							   Don't return info 
Packit b099d7
							   about any later
Packit b099d7
							   positions. */
Packit b099d7
				   XmTextBlock);	/* RETURN: text read */
Packit b099d7
Packit b099d7
typedef XmTextStatus (*ReplaceProc)(XmTextWidget,
Packit b099d7
				    XEvent *,
Packit b099d7
				    XmTextPosition *,
Packit b099d7
				    XmTextPosition *,
Packit b099d7
				    XmTextBlock,
Packit b099d7
#if NeedWidePrototypes
Packit b099d7
				    int);
Packit b099d7
#else
Packit b099d7
                                    Boolean);
Packit b099d7
#endif /* NeedsWidePrototypes */
Packit b099d7
Packit b099d7
typedef XmTextPosition (*ScanProc)(XmTextSource,
Packit b099d7
				   XmTextPosition,
Packit b099d7
				   XmTextScanType,
Packit b099d7
				   XmTextScanDirection,	/*XmsdLeft/XmsdRight*/
Packit b099d7
				   int,
Packit b099d7
#if NeedWidePrototypes
Packit b099d7
				   int);
Packit b099d7
#else
Packit b099d7
    		                   Boolean);
Packit b099d7
#endif /* NeedsWidePrototypes */
Packit b099d7
Packit b099d7
typedef Boolean (*GetSelectionProc)(XmTextSource,
Packit b099d7
                                    XmTextPosition *,
Packit b099d7
                                    XmTextPosition *);
Packit b099d7
Packit b099d7
typedef void (*SetSelectionProc)(XmTextSource,
Packit b099d7
				 XmTextPosition,
Packit b099d7
				 XmTextPosition,
Packit b099d7
				 Time);
Packit b099d7
Packit b099d7
Packit b099d7
typedef struct _XmTextSourceRec {
Packit b099d7
  struct _XmSourceDataRec *data;   /* Source-defined data (opaque type). */
Packit b099d7
  AddWidgetProc	AddWidget;
Packit b099d7
  CountLinesProc	CountLines;
Packit b099d7
  RemoveWidgetProc	RemoveWidget;
Packit b099d7
  ReadProc		ReadSource;
Packit b099d7
  ReplaceProc		Replace;
Packit b099d7
  ScanProc		Scan;
Packit b099d7
  GetSelectionProc	GetSelection;
Packit b099d7
  SetSelectionProc	SetSelection;
Packit b099d7
} XmTextSourceRec;
Packit b099d7
Packit b099d7
Packit b099d7
#ifdef __cplusplus
Packit b099d7
}  /* Close scope of 'extern "C"' declaration which encloses file. */
Packit b099d7
#endif
Packit b099d7
Packit b099d7
#endif /*  _XmTextStrSoP_h */
Packit b099d7
/* DON'T ADD ANYTHING AFTER THIS #endif */