open-src/lib/libXaw4/sun-src/Xaw3_1Text.c
author X gate hg captive account <xhg@xserver.us.oracle.com>
Wed, 19 Aug 2015 13:48:41 -0700
changeset 1484 bc8922b8e1d2
parent 749 d7a0cca9c876
permissions -rw-r--r--
Added tag s11u3_30 for changeset 221e9d9cc9cb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
749
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     1
#if (!defined(lint) && !defined(SABER))
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     2
static char Xrcsid[] = "$XConsortium: Text.c,v 1.136 89/12/15 12:10:56 kit Exp $";
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     3
#endif /* lint && SABER */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     4
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     5
/***********************************************************
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     6
Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     7
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     8
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     9
                        All Rights Reserved
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    10
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    11
Permission to use, copy, modify, and distribute this software and its 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    12
documentation for any purpose and without fee is hereby granted, 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    13
provided that the above copyright notice appear in all copies and that
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    14
both that copyright notice and this permission notice appear in 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    15
supporting documentation, and that the names of Digital or MIT not be
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    16
used in advertising or publicity pertaining to distribution of the
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    17
software without specific, written prior permission.  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    18
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    19
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    20
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    21
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    22
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    23
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    24
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    25
SOFTWARE.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    26
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    27
******************************************************************/
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    28
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    29
#include <stdio.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    30
#include <X11/IntrinsicP.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    31
#include <X11/StringDefs.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    32
#include <X11/Shell.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    33
#include <X11/Xatom.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    34
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    35
#include <X11/Xmu/Atoms.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    36
#include <X11/Xmu/CharSet.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    37
#include <X11/Xmu/Converters.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    38
#include <X11/Xmu/StdSel.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    39
#include <X11/Xmu/Misc.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    40
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    41
#include <./Xaw3_1XawInit.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    42
#include <./Xaw3_1Cardinals.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    43
#include <./Xaw3_1Scrollbar.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    44
#include <./Xaw3_1TextP.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    45
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    46
#ifdef SYSV
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    47
#ifndef bcopy
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    48
#define bcopy(a,b,c) memmove(b,a,c)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    49
#endif
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    50
#ifndef bzero
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    51
#define bzero(a,b) memset(a,0,b)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    52
#endif
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    53
#endif
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    54
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    55
Atom FMT8BIT = NULL;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    56
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    57
#define SinkClearToBG          XawTextSinkClearToBackground
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    58
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    59
#define SrcScan                XawTextSourceScan
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    60
#define SrcRead                XawTextSourceRead
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    61
#define SrcReplace             XawTextSourceReplace
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    62
#define SrcSearch              XawTextSourceSearch
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    63
#define SrcCvtSel              XawTextSourceConvertSelection
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    64
#define SrcSetSelection        XawTextSourceSetSelection
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    65
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    66
#ifndef SYSV
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    67
extern void bcopy();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    68
#endif
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    69
extern int errno, sys_nerr;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    70
extern char* sys_errlist[];
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    71
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    72
#define BIGNUM ((Dimension)32023)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    73
#define MULTI_CLICK_TIME 500L
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    74
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    75
#define IsValidLine(ctx, num) ( ((num) == 0) || \
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    76
			        ((ctx)->text.lt.info[(num)].position != 0) )
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    77
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    78
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    79
 * Defined in Text.c
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    80
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    81
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    82
static void VScroll(), VJump(), HScroll(), HJump(), ClearWindow(); 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    83
static void DisplayTextWindow(), ModifySelection();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    84
static void UpdateTextInLine(), UpdateTextInRectangle();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    85
static Boolean LineAndXYForPosition();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    86
static XawTextPosition FindGoodPosition(), _BuildLineTable();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    87
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    88
void _XawTextAlterSelection(), _XawTextExecuteUpdate();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    89
void _XawTextBuildLineTable(), _XawTextSetScrollBars();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    90
void _XawTextPrepareToUpdate(TextWidget ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    91
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    92
/****************************************************************
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    93
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    94
 * Full class record constant
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    95
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    96
 ****************************************************************/
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    97
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    98
static XawTextSelectType defaultSelectTypes[] = {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    99
  XawselectPosition, XawselectWord, XawselectLine, XawselectParagraph,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   100
  XawselectAll,      XawselectNull,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   101
};
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   102
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   103
static caddr_t defaultSelectTypesPtr = (caddr_t)defaultSelectTypes;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   104
extern char *_XawDefaultTextTranslations1, *_XawDefaultTextTranslations2,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   105
  *_XawDefaultTextTranslations3;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   106
static Dimension defWidth = 100;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   107
static Dimension defHeight = DEFAULT_TEXT_HEIGHT;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   108
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   109
#define offset(field) XtOffset(TextWidget, field)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   110
static XtResource resources[] = {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   111
  {XtNwidth, XtCWidth, XtRDimension, sizeof(Dimension),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   112
     offset(core.width), XtRDimension, (caddr_t)&defWidth},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   113
  {XtNcursor, XtCCursor, XtRCursor, sizeof(Cursor),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   114
     offset(simple.cursor), XtRString, "xterm"},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   115
  {XtNheight, XtCHeight, XtRDimension, sizeof(Dimension),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   116
     offset(core.height), XtRDimension, (caddr_t)&defHeight},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   117
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   118
  {XtNdisplayPosition, XtCTextPosition, XtRInt, sizeof(XawTextPosition), 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   119
     offset(text.lt.top), XtRImmediate, (caddr_t)0},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   120
  {XtNinsertPosition, XtCTextPosition, XtRInt, sizeof(XawTextPosition),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   121
     offset(text.insertPos), XtRImmediate,(caddr_t)0},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   122
  {XtNleftMargin, XtCMargin, XtRPosition, sizeof (Position),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   123
     offset(text.r_margin.left), XtRImmediate, (caddr_t)2},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   124
  {XtNrightMargin, XtCMargin, XtRPosition, sizeof (Position),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   125
     offset(text.r_margin.right), XtRImmediate, (caddr_t)4},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   126
  {XtNtopMargin, XtCMargin, XtRPosition, sizeof (Position),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   127
     offset(text.r_margin.top), XtRImmediate, (caddr_t)2},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   128
  {XtNbottomMargin, XtCMargin, XtRPosition, sizeof (Position),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   129
     offset(text.r_margin.bottom), XtRImmediate, (caddr_t)2},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   130
  {XtNselectTypes, XtCSelectTypes, XtRPointer,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   131
     sizeof(XawTextSelectType*), offset(text.sarray),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   132
     XtRPointer, (caddr_t)&defaultSelectTypesPtr},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   133
  {XtNtextSource, XtCTextSource, XtRWidget, sizeof (Widget),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   134
     offset(text.source), XtRImmediate, NULL},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   135
  {XtNtextSink, XtCTextSink, XtRWidget, sizeof (Widget),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   136
     offset(text.sink), XtRImmediate, NULL},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   137
  {XtNdisplayCaret, XtCOutput, XtRBoolean, sizeof(Boolean),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   138
     offset(text.display_caret), XtRImmediate, (caddr_t)True},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   139
  {XtNscrollVertical, XtCScroll, XtRScrollMode, sizeof(XawTextScrollMode),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   140
     offset(text.scroll_vert), XtRImmediate, (caddr_t) XawtextScrollNever},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   141
  {XtNscrollHorizontal, XtCScroll, XtRScrollMode, sizeof(XawTextScrollMode),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   142
     offset(text.scroll_horiz), XtRImmediate, (caddr_t) XawtextScrollNever},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   143
  {XtNwrap, XtCWrap, XtRWrapMode, sizeof(XawTextWrapMode),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   144
     offset(text.wrap), XtRImmediate, (caddr_t) XawtextWrapNever},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   145
  {XtNresize, XtCResize, XtRResizeMode, sizeof(XawTextResizeMode),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   146
     offset(text.resize), XtRImmediate, (caddr_t) XawtextResizeNever},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   147
  {XtNautoFill, XtCAutoFill, XtRBoolean, sizeof(Boolean),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   148
     offset(text.auto_fill), XtRImmediate, (caddr_t) FALSE},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   149
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   150
#ifdef XAW_BC
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   151
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   152
 * This resource is obsolete. 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   153
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   154
  {XtNtextOptions, XtCTextOptions, XtRInt, sizeof (int),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   155
     offset(text.options), XtRImmediate, (caddr_t)0},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   156
#endif
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   157
};
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   158
#undef offset
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   159
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   160
#define done(address, type) \
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   161
        { toVal->size = sizeof(type); toVal->addr = (caddr_t) address; }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   162
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   163
/* ARGSUSED */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   164
static void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   165
CvtStringToEditMode(args, num_args, fromVal, toVal)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   166
XrmValuePtr args;		/* unused */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   167
Cardinal	*num_args;	/* unused */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   168
XrmValuePtr	fromVal;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   169
XrmValuePtr	toVal;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   170
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   171
  static XawTextEditType editType;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   172
  static  XrmQuark  QRead, QAppend, QEdit;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   173
  XrmQuark    q;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   174
  char        lowerName[BUFSIZ];
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   175
  static Boolean inited = FALSE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   176
    
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   177
  if ( !inited ) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   178
    QRead   = XrmStringToQuark(XtEtextRead);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   179
    QAppend = XrmStringToQuark(XtEtextAppend);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   180
    QEdit   = XrmStringToQuark(XtEtextEdit);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   181
    inited = TRUE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   182
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   183
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   184
  XmuCopyISOLatin1Lowered (lowerName, (char *)fromVal->addr);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   185
  q = XrmStringToQuark(lowerName);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   186
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   187
  if       (q == QRead)          editType = XawtextRead;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   188
  else if (q == QAppend)         editType = XawtextAppend;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   189
  else if (q == QEdit)           editType = XawtextEdit;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   190
  else {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   191
    done(NULL, 0);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   192
    return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   193
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   194
  done(&editType, XawTextEditType);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   195
  return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   196
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   197
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   198
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   199
/* ARGSUSED */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   200
static void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   201
CvtStringToScrollMode(args, num_args, fromVal, toVal)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   202
XrmValuePtr args;		/* unused */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   203
Cardinal	*num_args;	/* unused */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   204
XrmValuePtr	fromVal;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   205
XrmValuePtr	toVal;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   206
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   207
  static XawTextScrollMode scrollMode;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   208
  static  XrmQuark  QScrollNever, QScrollAlways, QScrollWhenNeeded;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   209
  XrmQuark    q;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   210
  char        lowerName[BUFSIZ];
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   211
  static Boolean inited = FALSE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   212
    
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   213
  if ( !inited ) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   214
    QScrollNever      = XrmStringToQuark(XtEtextScrollNever);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   215
    QScrollWhenNeeded = XrmStringToQuark(XtEtextScrollWhenNeeded);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   216
    QScrollAlways     = XrmStringToQuark(XtEtextScrollAlways);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   217
    inited = TRUE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   218
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   219
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   220
  XmuCopyISOLatin1Lowered (lowerName, (char *)fromVal->addr);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   221
  q = XrmStringToQuark(lowerName);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   222
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   223
  if      (q == QScrollNever)          scrollMode = XawtextScrollNever;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   224
  else if (q == QScrollWhenNeeded)     scrollMode = XawtextScrollWhenNeeded;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   225
  else if (q == QScrollAlways)         scrollMode = XawtextScrollAlways;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   226
  else {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   227
    done(NULL, 0);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   228
    return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   229
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   230
  done(&scrollMode, XawTextScrollMode);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   231
  return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   232
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   233
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   234
/* ARGSUSED */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   235
static void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   236
CvtStringToWrapMode(args, num_args, fromVal, toVal)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   237
XrmValuePtr args;		/* unused */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   238
Cardinal	*num_args;	/* unused */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   239
XrmValuePtr	fromVal;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   240
XrmValuePtr	toVal;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   241
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   242
  static XawTextWrapMode wrapMode;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   243
  static  XrmQuark QWrapNever, QWrapLine, QWrapWord;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   244
  XrmQuark    q;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   245
  char        lowerName[BUFSIZ];
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   246
  static Boolean inited = FALSE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   247
    
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   248
  if ( !inited ) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   249
    QWrapNever = XrmStringToQuark(XtEtextWrapNever);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   250
    QWrapLine  = XrmStringToQuark(XtEtextWrapLine);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   251
    QWrapWord  = XrmStringToQuark(XtEtextWrapWord);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   252
    inited = TRUE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   253
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   254
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   255
  XmuCopyISOLatin1Lowered (lowerName, (char *)fromVal->addr);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   256
  q = XrmStringToQuark(lowerName);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   257
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   258
  if      (q == QWrapNever)     wrapMode = XawtextWrapNever;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   259
  else if (q == QWrapLine)      wrapMode = XawtextWrapLine;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   260
  else if (q == QWrapWord)      wrapMode = XawtextWrapWord;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   261
  else {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   262
    done(NULL, 0);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   263
    return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   264
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   265
  done(&wrapMode, XawTextWrapMode);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   266
  return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   267
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   268
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   269
/* ARGSUSED */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   270
static void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   271
CvtStringToResizeMode(args, num_args, fromVal, toVal)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   272
XrmValuePtr args;		/* unused */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   273
Cardinal	*num_args;	/* unused */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   274
XrmValuePtr	fromVal;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   275
XrmValuePtr	toVal;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   276
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   277
  static XawTextResizeMode resizeMode;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   278
  static  XrmQuark  QResizeNever, QResizeWidth, QResizeHeight, QResizeBoth;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   279
  XrmQuark    q;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   280
  char        lowerName[BUFSIZ];
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   281
  static Boolean inited = FALSE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   282
    
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   283
  if ( !inited ) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   284
    QResizeNever      = XrmStringToQuark(XtEtextResizeNever);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   285
    QResizeWidth      = XrmStringToQuark(XtEtextResizeWidth);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   286
    QResizeHeight     = XrmStringToQuark(XtEtextResizeHeight);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   287
    QResizeBoth       = XrmStringToQuark(XtEtextResizeBoth);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   288
    inited = TRUE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   289
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   290
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   291
  XmuCopyISOLatin1Lowered (lowerName, (char *)fromVal->addr);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   292
  q = XrmStringToQuark(lowerName);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   293
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   294
  if      (q == QResizeNever)          resizeMode = XawtextResizeNever;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   295
  else if (q == QResizeWidth)          resizeMode = XawtextResizeWidth;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   296
  else if (q == QResizeHeight)         resizeMode = XawtextResizeHeight;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   297
  else if (q == QResizeBoth)           resizeMode = XawtextResizeBoth;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   298
  else {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   299
    done(NULL, 0);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   300
    return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   301
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   302
  done(&resizeMode, XawTextResizeMode);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   303
  return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   304
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   305
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   306
#undef done
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   307
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   308
static void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   309
ClassInitialize()
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   310
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   311
  int len1 = strlen (_XawDefaultTextTranslations1);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   312
  int len2 = strlen (_XawDefaultTextTranslations2);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   313
  int len3 = strlen (_XawDefaultTextTranslations3);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   314
  char *buf = XtMalloc (len1 + len2 + len3 + 1);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   315
  char *cp = buf;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   316
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   317
  XawInitializeWidgetSet();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   318
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   319
/* 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   320
 * Set the number of actions.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   321
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   322
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   323
  textClassRec.core_class.num_actions = textActionsTableCount;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   324
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   325
  strcpy (cp, _XawDefaultTextTranslations1); cp += len1;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   326
  strcpy (cp, _XawDefaultTextTranslations2); cp += len2;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   327
  strcpy (cp, _XawDefaultTextTranslations3);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   328
  textWidgetClass->core_class.tm_table = buf;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   329
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   330
  XtAddConverter(XtRString, XtREditMode,   CvtStringToEditMode,   NULL, 0);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   331
  XtAddConverter(XtRString, XtRScrollMode, CvtStringToScrollMode, NULL, 0);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   332
  XtAddConverter(XtRString, XtRWrapMode,   CvtStringToWrapMode,   NULL, 0);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   333
  XtAddConverter(XtRString, XtRResizeMode, CvtStringToResizeMode, NULL, 0);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   334
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   335
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   336
/*	Function Name: PositionHScrollBar.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   337
 *	Description: Positions the Horizontal scrollbar.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   338
 *	Arguments: ctx - the text widget.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   339
 *	Returns: none
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   340
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   341
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   342
static void
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   343
PositionHScrollBar(ctx)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   344
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   345
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   346
  Widget vbar = ctx->text.vbar, hbar = ctx->text.hbar;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   347
  Position top, left = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   348
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   349
  if (ctx->text.hbar == NULL) return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   350
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   351
  if (vbar != NULL)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   352
    left += (Position) (vbar->core.width + vbar->core.border_width);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   353
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   354
  XtResizeWidget( hbar, ctx->core.width - left, hbar->core.height,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   355
		 hbar->core.border_width );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   356
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   357
  left -= (Position) hbar->core.border_width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   358
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   359
  top = ctx->core.height - ( hbar->core.height + hbar->core.border_width);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   360
  XtMoveWidget( hbar, left, top); 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   361
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   362
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   363
/*	Function Name: PositionVScrollBar.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   364
 *	Description: Positions the Vertical scrollbar.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   365
 *	Arguments: ctx - the text widget.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   366
 *	Returns: none.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   367
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   368
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   369
static void
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   370
PositionVScrollBar(ctx)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   371
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   372
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   373
  Widget vbar = ctx->text.vbar;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   374
  Dimension bw;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   375
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   376
  if (vbar == NULL) return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   377
  bw = vbar->core.border_width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   378
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   379
  XtResizeWidget( vbar, vbar->core.width, ctx->core.height, bw);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   380
  XtMoveWidget( vbar, -(Position)bw, -(Position)bw );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   381
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   382
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   383
static void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   384
CreateVScrollBar(ctx)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   385
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   386
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   387
  Widget vbar;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   388
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   389
  if (ctx->text.vbar != NULL) return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   390
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   391
  ctx->text.vbar = vbar =
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   392
    XtCreateWidget("vScrollbar", scrollbarWidgetClass, (Widget)ctx, NULL, ZERO);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   393
  XtAddCallback( vbar, XtNscrollProc, VScroll, (caddr_t)ctx );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   394
  XtAddCallback( vbar, XtNjumpProc, VJump, (caddr_t)ctx );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   395
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   396
  ctx->text.r_margin.left += vbar->core.width + vbar->core.border_width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   397
  ctx->text.margin.left = ctx->text.r_margin.left;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   398
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   399
  PositionVScrollBar(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   400
  PositionHScrollBar(ctx);	/* May modify location of Horiz. Bar. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   401
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   402
  if (XtIsRealized((Widget)ctx)) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   403
    XtRealizeWidget(vbar);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   404
    XtMapWidget(vbar);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   405
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   406
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   407
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   408
/*	Function Name: DestroyVScrollBar
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   409
 *	Description: Removes a vertical ScrollBar.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   410
 *	Arguments: ctx - the parent text widget.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   411
 *	Returns: none.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   412
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   413
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   414
static void
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   415
DestroyVScrollBar(ctx)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   416
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   417
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   418
  Widget vbar = ctx->text.vbar;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   419
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   420
  if (vbar == NULL) return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   421
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   422
  ctx->text.r_margin.left -= vbar->core.width + vbar->core.border_width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   423
  ctx->text.margin.left = ctx->text.r_margin.left;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   424
  XtDestroyWidget(vbar);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   425
  ctx->text.vbar = NULL;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   426
  PositionHScrollBar(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   427
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   428
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   429
static void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   430
CreateHScrollBar(ctx)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   431
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   432
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   433
  Arg args[1];
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   434
  Widget hbar;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   435
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   436
  if (ctx->text.hbar != NULL) return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   437
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   438
  XtSetArg(args[0], XtNorientation, XtorientHorizontal);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   439
  ctx->text.hbar = hbar =
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   440
    XtCreateWidget("hScrollbar", scrollbarWidgetClass, (Widget)ctx, args, ONE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   441
  XtAddCallback( hbar, XtNscrollProc, HScroll, (caddr_t)ctx );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   442
  XtAddCallback( hbar, XtNjumpProc, HJump, (caddr_t)ctx );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   443
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   444
  PositionHScrollBar(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   445
  if (XtIsRealized((Widget)ctx)) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   446
    XtRealizeWidget(hbar);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   447
    XtMapWidget(hbar);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   448
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   449
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   450
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   451
/*	Function Name: DestroyHScrollBar
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   452
 *	Description: Removes a horizontal ScrollBar.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   453
 *	Arguments: ctx - the parent text widget.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   454
 *	Returns: none.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   455
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   456
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   457
static void
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   458
DestroyHScrollBar(ctx)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   459
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   460
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   461
  Widget hbar = ctx->text.hbar;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   462
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   463
  if (hbar == NULL) return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   464
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   465
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   466
  ctx->text.r_margin.bottom -= hbar->core.height + hbar->core.border_width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   467
  ctx->text.margin.bottom = ctx->text.r_margin.bottom;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   468
*/
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   469
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   470
  XtDestroyWidget(hbar);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   471
  ctx->text.hbar = NULL;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   472
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   473
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   474
/* ARGSUSED */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   475
static void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   476
Initialize(request, new, args, num_args)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   477
Widget request, new;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   478
ArgList args;			/* unused */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   479
Cardinal *num_args;		/* unused */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   480
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   481
  TextWidget ctx = (TextWidget) new;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   482
  char error_buf[BUFSIZ];
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   483
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   484
  if (!FMT8BIT)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   485
    FMT8BIT = XInternAtom(XtDisplay(new), "FMT8BIT", False);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   486
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   487
  ctx->text.lt.lines = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   488
  ctx->text.lt.info = NULL;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   489
  bzero((char *) &(ctx->text.origSel), sizeof(XawTextSelection));
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   490
  bzero((char *) &(ctx->text.s), sizeof(XawTextSelection)); 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   491
  ctx->text.s.type = XawselectPosition;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   492
  ctx->text.hbar = ctx->text.vbar = (Widget) NULL;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   493
  ctx->text.lasttime = 0; /* ||| correct? */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   494
  ctx->text.time = 0; /* ||| correct? */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   495
  ctx->text.showposition = TRUE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   496
  ctx->text.lastPos = (ctx->text.source != NULL) ? GETLASTPOS : 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   497
  ctx->text.file_insert = NULL;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   498
  ctx->text.search = NULL;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   499
  ctx->text.updateFrom = (XawTextPosition *) XtMalloc(ONE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   500
  ctx->text.updateTo = (XawTextPosition *) XtMalloc(ONE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   501
  ctx->text.numranges = ctx->text.maxranges = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   502
  ctx->text.gc = DefaultGCOfScreen(XtScreen(ctx)); 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   503
  ctx->text.hasfocus = FALSE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   504
  ctx->text.margin = ctx->text.r_margin; /* Strucure copy. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   505
  ctx->text.update_disabled = FALSE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   506
  ctx->text.old_insert = -1;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   507
  ctx->text.mult = 1;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   508
  ctx->text.single_char = FALSE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   509
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   510
#ifdef XAW_BC
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   511
/*******************************
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   512
 * For Compatability.          */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   513
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   514
  if (ctx->text.options != 0)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   515
    XawTextChangeOptions((Widget) ctx, ctx->text.options);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   516
/*******************************/
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   517
#endif /* XAW_BC */  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   518
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   519
  if (ctx->core.height == DEFAULT_TEXT_HEIGHT) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   520
    ctx->core.height = VMargins(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   521
    if (ctx->text.sink != NULL)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   522
      ctx->core.height += XawTextSinkMaxHeight(ctx->text.sink, 1);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   523
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   524
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   525
  if (ctx->text.scroll_vert != XawtextScrollNever) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   526
    if ( (ctx->text.resize == XawtextResizeHeight) ||
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   527
     	 (ctx->text.resize == XawtextResizeBoth) ) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   528
      sprintf(error_buf, "Text Widget (%s):\n %s %s.", ctx->core.name,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   529
	      "Vertical scrolling not allowed with height resize.\n",
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   530
	      "Vertical scrolling has been DEACTIVATED.");
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   531
      XtAppWarning(XtWidgetToApplicationContext(new), error_buf);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   532
      ctx->text.scroll_vert = XawtextScrollNever;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   533
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   534
    else if (ctx->text.scroll_vert == XawtextScrollAlways)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   535
      CreateVScrollBar(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   536
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   537
  if (ctx->text.scroll_horiz != XawtextScrollNever) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   538
    if (ctx->text.wrap != XawtextWrapNever) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   539
      sprintf(error_buf, "Text Widget (%s):\n %s %s.", ctx->core.name,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   540
	      "Horizontal scrolling not allowed with wrapping active.\n",
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   541
	      "Horizontal scrolling has been DEACTIVATED.");
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   542
      XtAppWarning(XtWidgetToApplicationContext(new), error_buf);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   543
      ctx->text.scroll_horiz = XawtextScrollNever;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   544
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   545
    else if ( (ctx->text.resize == XawtextResizeWidth) ||
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   546
	      (ctx->text.resize == XawtextResizeBoth) ) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   547
      sprintf(error_buf, "Text Widget (%s):\n %s %s.", ctx->core.name,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   548
	      "Horizontal scrolling not allowed with width resize.\n",
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   549
	      "Horizontal scrolling has been DEACTIVATED.");
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   550
      XtAppWarning(XtWidgetToApplicationContext(new), error_buf);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   551
      ctx->text.scroll_horiz = XawtextScrollNever;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   552
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   553
    else if (ctx->text.scroll_horiz == XawtextScrollAlways)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   554
      CreateHScrollBar(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   555
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   556
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   557
static void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   558
Realize( w, valueMask, attributes )
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   559
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   560
Mask *valueMask;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   561
XSetWindowAttributes *attributes;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   562
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   563
  TextWidget ctx = (TextWidget)w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   564
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   565
  (*textClassRec.core_class.superclass->core_class.realize)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   566
    (w, valueMask, attributes);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   567
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   568
  if (ctx->text.hbar != NULL) {	        /* Put up Hbar -- Must be first. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   569
    XtRealizeWidget(ctx->text.hbar);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   570
    XtMapWidget(ctx->text.hbar);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   571
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   572
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   573
  if (ctx->text.vbar != NULL) {	        /* Put up Vbar. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   574
    XtRealizeWidget(ctx->text.vbar);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   575
    XtMapWidget(ctx->text.vbar);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   576
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   577
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   578
  _XawTextBuildLineTable(ctx, ctx->text.lt.top, TRUE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   579
  _XawTextSetScrollBars(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   580
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   581
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   582
/* Utility routines for support of Text */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   583
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   584
static void
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   585
_CreateCutBuffers(d)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   586
Display *d;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   587
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   588
  static struct _DisplayRec {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   589
    struct _DisplayRec *next;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   590
    Display *dpy;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   591
  } *dpy_list = NULL;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   592
  struct _DisplayRec *dpy_ptr;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   593
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   594
  for (dpy_ptr = dpy_list; dpy_ptr != NULL; dpy_ptr = dpy_ptr->next)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   595
    if (dpy_ptr->dpy == d) return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   596
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   597
  dpy_ptr = XtNew(struct _DisplayRec);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   598
  dpy_ptr->next = dpy_list;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   599
  dpy_ptr->dpy = d;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   600
  dpy_list = dpy_ptr;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   601
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   602
#define Create(buffer) \
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   603
    XChangeProperty(d, RootWindow(d, 0), buffer, XA_STRING, 8, \
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   604
		    PropModeAppend, NULL, 0 );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   605
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   606
    Create( XA_CUT_BUFFER0 );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   607
    Create( XA_CUT_BUFFER1 );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   608
    Create( XA_CUT_BUFFER2 );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   609
    Create( XA_CUT_BUFFER3 );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   610
    Create( XA_CUT_BUFFER4 );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   611
    Create( XA_CUT_BUFFER5 );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   612
    Create( XA_CUT_BUFFER6 );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   613
    Create( XA_CUT_BUFFER7 );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   614
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   615
#undef Create
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   616
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   617
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   618
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   619
 * Procedure to manage insert cursor visibility for editable text.  It uses
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   620
 * the value of ctx->insertPos and an implicit argument. In the event that
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   621
 * position is immediately preceded by an eol graphic, then the insert cursor
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   622
 * is displayed at the beginning of the next line.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   623
*/
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   624
static void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   625
InsertCursor (w, state)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   626
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   627
XawTextInsertState state;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   628
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   629
  TextWidget ctx = (TextWidget)w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   630
  Position x, y;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   631
  int line;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   632
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   633
  if (ctx->text.lt.lines < 1) return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   634
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   635
  if ( LineAndXYForPosition(ctx, ctx->text.insertPos, &line, &x, &y) ) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   636
    if (line < ctx->text.lt.lines)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   637
      y += (ctx->text.lt.info[line + 1].y - ctx->text.lt.info[line].y) + 1;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   638
    else
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   639
      y += (ctx->text.lt.info[line].y - ctx->text.lt.info[line - 1].y) + 1;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   640
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   641
    if (ctx->text.display_caret)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   642
      XawTextSinkInsertCursor(ctx->text.sink, x, y, state);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   643
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   644
  ctx->text.ev_x = x;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   645
  ctx->text.ev_y = y;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   646
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   647
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   648
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   649
 * Procedure to register a span of text that is no longer valid on the display
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   650
 * It is used to avoid a number of small, and potentially overlapping, screen
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   651
 * updates. 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   652
*/
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   653
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   654
void
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   655
_XawTextNeedsUpdating(ctx, left, right)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   656
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   657
XawTextPosition left, right;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   658
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   659
  int i;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   660
  if (left < right) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   661
    for (i = 0; i < ctx->text.numranges; i++) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   662
      if (left <= ctx->text.updateTo[i] && right >= ctx->text.updateFrom[i]) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   663
	ctx->text.updateFrom[i] = Min(left, ctx->text.updateFrom[i]);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   664
	ctx->text.updateTo[i] = Max(right, ctx->text.updateTo[i]);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   665
	return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   666
      }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   667
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   668
    ctx->text.numranges++;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   669
    if (ctx->text.numranges > ctx->text.maxranges) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   670
      ctx->text.maxranges = ctx->text.numranges;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   671
      i = ctx->text.maxranges * sizeof(XawTextPosition);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   672
      ctx->text.updateFrom = (XawTextPosition *) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   673
	XtRealloc((char *)ctx->text.updateFrom, (unsigned) i);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   674
      ctx->text.updateTo = (XawTextPosition *) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   675
	XtRealloc((char *)ctx->text.updateTo, (unsigned) i);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   676
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   677
    ctx->text.updateFrom[ctx->text.numranges - 1] = left;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   678
    ctx->text.updateTo[ctx->text.numranges - 1] = right;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   679
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   680
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   681
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   682
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   683
 * Procedure to read a span of text in Ascii form. This is purely a hack and
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   684
 * we probably need to add a function to sources to provide this functionality.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   685
 * [note: this is really a private procedure but is used in multiple modules].
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   686
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   687
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   688
char *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   689
_XawTextGetText(ctx, left, right)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   690
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   691
XawTextPosition left, right;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   692
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   693
  char *result, *tempResult;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   694
  XawTextBlock text;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   695
  Cardinal length = (Cardinal) (right - left);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   696
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   697
  tempResult = result = XtMalloc(length + ONE);	/* leave space for '\0'. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   698
  while (left < right) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   699
    left = SrcRead(ctx->text.source, left, &text, right - left);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   700
    (void) strncpy(tempResult, text.ptr, text.length);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   701
    tempResult += text.length;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   702
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   703
  result[(int) length] = '\0';	/* NULL terminate this sucker */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   704
  return(result);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   705
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   706
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   707
/* like _XawTextGetText, but enforces ICCCM STRING type encoding */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   708
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   709
char *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   710
_XawTextGetSTRING(ctx, left, right)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   711
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   712
XawTextPosition left, right;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   713
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   714
  register unsigned char *s;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   715
  register unsigned char c;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   716
  register int i, j, n;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   717
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   718
  s = (unsigned char *)_XawTextGetText(ctx, left, right);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   719
  /* only HT and NL control chars are allowed, strip out others */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   720
  n = strlen((char *)s);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   721
  i = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   722
  for (j = 0; j < n; j++) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   723
    c = s[j];
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   724
    if (((c >= 0x20) && c <= 0x7f) ||
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   725
	(c >= 0xa0) || (c == '\t') || (c == '\n')) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   726
      s[i] = c;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   727
      i++;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   728
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   729
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   730
  s[i] = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   731
  return (char *)s;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   732
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   733
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   734
/* 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   735
 * This routine maps an x and y position in a window that is displaying text
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   736
 * into the corresponding position in the source.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   737
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   738
 * NOTE: it is illegal to call this routine unless there is a valid line table!
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   739
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   740
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   741
/*** figure out what line it is on ***/
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   742
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   743
static XawTextPosition
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   744
PositionForXY (ctx, x, y)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   745
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   746
Position x,y;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   747
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   748
  int fromx, line, width, height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   749
  XawTextPosition position;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   750
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   751
  if (ctx->text.lt.lines == 0) return 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   752
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   753
  for (line = 0; line < ctx->text.lt.lines - 1; line++) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   754
    if (y <= ctx->text.lt.info[line + 1].y)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   755
      break;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   756
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   757
  position = ctx->text.lt.info[line].position;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   758
  if (position >= ctx->text.lastPos)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   759
    return(ctx->text.lastPos);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   760
  fromx = (int) ctx->text.margin.left; 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   761
  XawTextSinkFindPosition( ctx->text.sink, position, fromx, x - fromx,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   762
			  FALSE, &position, &width, &height);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   763
  if (position >= ctx->text.lt.info[line + 1].position)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   764
    position = SrcScan(ctx->text.source, ctx->text.lt.info[line + 1].position,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   765
		       XawstPositions, XawsdLeft, 1, TRUE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   766
  if (position > ctx->text.lastPos) position = ctx->text.lastPos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   767
  return(position);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   768
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   769
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   770
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   771
 * This routine maps a source position in to the corresponding line number
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   772
 * of the text that is displayed in the window.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   773
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   774
 * NOTE: It is illegal to call this routine unless there is a valid line table!
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   775
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   776
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   777
static int 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   778
LineForPosition (ctx, position)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   779
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   780
XawTextPosition position;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   781
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   782
  int line;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   783
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   784
  for (line = 0; line < ctx->text.lt.lines; line++)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   785
    if (position < ctx->text.lt.info[line + 1].position)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   786
      break;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   787
  return(line);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   788
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   789
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   790
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   791
 * This routine maps a source position into the corresponding line number
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   792
 * and the x, y coordinates of the text that is displayed in the window.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   793
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   794
 * NOTE: It is illegal to call this routine unless there is a valid line table!
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   795
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   796
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   797
static Boolean
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   798
LineAndXYForPosition (ctx, pos, line, x, y)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   799
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   800
XawTextPosition pos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   801
int *line;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   802
Position *x, *y;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   803
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   804
  XawTextPosition linePos, endPos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   805
  Boolean visible;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   806
  int realW, realH;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   807
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   808
  *line = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   809
  *x = ctx->text.margin.left;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   810
  *y = ctx->text.margin.top;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   811
  if (visible = IsPositionVisible(ctx, pos)) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   812
    *line = LineForPosition(ctx, pos);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   813
    *y = ctx->text.lt.info[*line].y;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   814
    *x = ctx->text.margin.left;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   815
    linePos = ctx->text.lt.info[*line].position;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   816
    XawTextSinkFindDistance( ctx->text.sink, linePos,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   817
			    *x, pos, &realW, &endPos, &realH);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   818
    *x += realW;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   819
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   820
  return(visible);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   821
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   822
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   823
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   824
 * This routine builds a line table. It does this by starting at the
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   825
 * specified position and measuring text to determine the staring position
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   826
 * of each line to be displayed. It also determines and saves in the
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   827
 * linetable all the required metrics for displaying a given line (e.g.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   828
 * x offset, y offset, line length, etc.).
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   829
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   830
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   831
void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   832
_XawTextBuildLineTable (ctx, position, force_rebuild)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   833
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   834
XawTextPosition position;	/* top. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   835
Boolean force_rebuild;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   836
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   837
  Dimension height = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   838
  int lines = 0; 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   839
  Cardinal size;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   840
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   841
  if (ctx->core.height > VMargins(ctx)) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   842
    height = ctx->core.height - VMargins(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   843
    lines = XawTextSinkMaxLines(ctx->text.sink, height);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   844
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   845
  size = sizeof(XawTextLineTableEntry) * (lines + 1);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   846
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   847
  if ( (lines != ctx->text.lt.lines) || (ctx->text.lt.info == NULL) ) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   848
    ctx->text.lt.info = (XawTextLineTableEntry *) XtRealloc((char *) ctx->text.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   849
							    lt.info, size);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   850
    ctx->text.lt.lines = lines;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   851
    force_rebuild = TRUE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   852
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   853
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   854
  if ( force_rebuild || (position != ctx->text.lt.top) ) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   855
    bzero((char *) ctx->text.lt.info, size);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   856
    (void) _BuildLineTable(ctx, ctx->text.lt.top = position, zeroPosition, 0);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   857
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   858
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   859
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   860
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   861
 * This assumes that the line table does not change size.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   862
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   863
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   864
static XawTextPosition
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   865
_BuildLineTable(ctx, position, min_pos, line)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   866
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   867
XawTextPosition position, min_pos;	
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   868
int line;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   869
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   870
  XawTextLineTableEntry * lt = ctx->text.lt.info + line;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   871
  XawTextPosition endPos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   872
  Position y;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   873
  int count, width, realW, realH;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   874
  Widget src = ctx->text.source;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   875
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   876
  if ( ((ctx->text.resize == XawtextResizeWidth) ||
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   877
	(ctx->text.resize == XawtextResizeBoth)    ) ||
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   878
       (ctx->text.wrap == XawtextWrapNever) )
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   879
    width = BIGNUM;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   880
  else 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   881
    width = Max(0, (ctx->core.width - HMargins(ctx)));
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   882
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   883
  y = ( (line == 0) ? ctx->text.margin.top : lt->y );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   884
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   885
  while ( TRUE ) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   886
    lt->y = y;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   887
    lt->position = position;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   888
    
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   889
    XawTextSinkFindPosition( ctx->text.sink, position, ctx->text.margin.left,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   890
			    width, ctx->text.wrap == XawtextWrapWord,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   891
			    &endPos, &realW, &realH);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   892
    lt->textWidth = realW;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   893
    y += realH;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   894
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   895
    if (ctx->text.wrap == XawtextWrapNever) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   896
      endPos = SrcScan(src, position, XawstEOL, XawsdRight, 1, TRUE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   897
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   898
    if ( endPos == ctx->text.lastPos) { /* We have reached the end. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   899
      if(SrcScan(src, position, XawstEOL, XawsdRight, 1, FALSE) == endPos)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   900
	break;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   901
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   902
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   903
    ++lt;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   904
    ++line;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   905
    if ( (line > ctx->text.lt.lines) ||
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   906
	 ((lt->position == (position = endPos)) && (position > min_pos)) )
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   907
      return(position);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   908
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   909
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   910
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   911
 * If we are at the end of the buffer put two special lines in the table.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   912
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   913
 * a) Both have position > text.lastPos and lt->textWidth = 0.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   914
 * b) The first has a real height, and the second has a height that
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   915
 *    is the rest of the screen.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   916
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   917
 * I counld fill in the rest of the table with valid heights and a large
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   918
 * lastPos, but this method keeps the number of fill regions down to a 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   919
 * minimum.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   920
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   921
 * One valid endty is needed at the end of the table so that the cursor
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   922
 * does not jump off the bottom of the window.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   923
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   924
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   925
  for ( count = 0; count < 2 ; count++) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   926
    if (line++ < ctx->text.lt.lines) { /* make sure not to run of the end. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   927
      (++lt)->y = (count == 0) ? y : ctx->core.height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   928
      lt->textWidth = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   929
      lt->position = ctx->text.lastPos + 100;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   930
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   931
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   932
  if (line < ctx->text.lt.lines) /* Clear out rest of table. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   933
    bzero( (char *) (lt + 1), 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   934
	  (ctx->text.lt.lines - line) * sizeof(XawTextLineTableEntry) );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   935
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   936
  ctx->text.lt.info[ctx->text.lt.lines].position = lt->position;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   937
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   938
  return(endPos);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   939
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   940
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   941
/*	Function Name: GetWidestLine
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   942
 *	Description: Returns the width (in pixels) of the widest line that
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   943
 *                   is currently visable.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   944
 *	Arguments: ctx - the text widget.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   945
 *	Returns: the width of the widest line.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   946
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   947
 * NOTE: This function requires a valid line table.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   948
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   949
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   950
static Dimension
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   951
GetWidestLine(ctx)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   952
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   953
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   954
  int i;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   955
  Dimension widest;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   956
  XawTextLineTablePtr lt = &(ctx->text.lt);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   957
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   958
  for (i = 0, widest = 1 ; i < lt->lines ; i++)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   959
    if (widest < lt->info[i].textWidth)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   960
      widest = lt->info[i].textWidth;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   961
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   962
  return(widest);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   963
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   964
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   965
static void
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   966
CheckVBarScrolling(ctx)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   967
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   968
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   969
  float first, last;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   970
  Boolean temp = (ctx->text.vbar == NULL);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   971
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   972
  if (ctx->text.scroll_vert == XawtextScrollNever) return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   973
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   974
  if ( (ctx->text.lastPos > 0) && (ctx->text.lt.lines > 0)) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   975
    first = ctx->text.lt.top;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   976
    first /= (float) ctx->text.lastPos; 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   977
    last = ctx->text.lt.info[ctx->text.lt.lines].position;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   978
    if ( ctx->text.lt.info[ctx->text.lt.lines].position <= ctx->text.lastPos)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   979
      last /= (float) ctx->text.lastPos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   980
    else 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   981
      last = 1.0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   982
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   983
    if (ctx->text.scroll_vert == XawtextScrollWhenNeeded)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   984
      if ( (last - first) < 1.0 )
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   985
	CreateVScrollBar(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   986
      else /* last - first >= 1.0 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   987
	DestroyVScrollBar(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   988
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   989
    if (ctx->text.vbar != NULL) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   990
      XawScrollbarSetThumb(ctx->text.vbar, first, last - first);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   991
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   992
    if ( (ctx->text.vbar == NULL) != temp) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   993
      _XawTextNeedsUpdating(ctx, zeroPosition, ctx->text.lastPos);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   994
      if (ctx->text.vbar == NULL)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   995
	_XawTextBuildLineTable (ctx, zeroPosition, FALSE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   996
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   997
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   998
  else if (ctx->text.vbar != NULL)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   999
    if (ctx->text.scroll_vert == XawtextScrollWhenNeeded)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1000
      DestroyVScrollBar(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1001
    else if (ctx->text.scroll_vert == XawtextScrollAlways)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1002
      XawScrollbarSetThumb(ctx->text.vbar, 0.0, 1.0);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1003
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1004
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1005
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1006
 * This routine is used by Text to notify an associated scrollbar of the
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1007
 * correct metrics (position and shown fraction) for the text being currently
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1008
 * displayed in the window.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1009
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1010
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1011
void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1012
_XawTextSetScrollBars(ctx)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1013
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1014
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1015
  float first, last, widest;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1016
  Boolean temp = (ctx->text.hbar == NULL);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1017
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1018
  CheckVBarScrolling(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1019
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1020
  if (ctx->text.scroll_horiz == XawtextScrollNever) return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1021
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1022
  if (ctx->text.vbar != NULL) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1023
    widest = (ctx->core.width - ctx->text.vbar->core.width -
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1024
	      ctx->text.vbar->core.border_width);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1025
  else
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1026
    widest = ctx->core.width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1027
  widest /= (last = GetWidestLine(ctx));
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1028
  if (ctx->text.scroll_horiz == XawtextScrollWhenNeeded) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1029
    if (widest < 1.0)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1030
      CreateHScrollBar(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1031
    else
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1032
      DestroyHScrollBar(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1033
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1034
  if (ctx->text.hbar != NULL) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1035
    first = ctx->text.r_margin.left - ctx->text.margin.left;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1036
    first /= last;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1037
    XawScrollbarSetThumb(ctx->text.hbar, first, widest); 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1038
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1039
  else if (ctx->text.margin.left != ctx->text.r_margin.left) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1040
    ctx->text.margin.left = ctx->text.r_margin.left;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1041
    _XawTextNeedsUpdating(ctx, zeroPosition, ctx->text.lastPos);      
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1042
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1043
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1044
  if ( (ctx->text.hbar == NULL) != temp ) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1045
    _XawTextBuildLineTable (ctx, ctx->text.lt.top, TRUE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1046
    CheckVBarScrolling(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1047
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1048
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1049
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1050
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1051
 * The routine will scroll the displayed text by lines.  If the arg  is
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1052
 * positive, move up; otherwise, move down. [note: this is really a private
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1053
 * procedure but is used in multiple modules].
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1054
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1055
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1056
void
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1057
_XawTextVScroll(ctx, n)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1058
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1059
int n;			
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1060
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1061
  XawTextPosition top, target;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1062
  int y;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1063
  XawTextLineTable * lt = &(ctx->text.lt);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1064
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1065
  if (abs(n) > ctx->text.lt.lines) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1066
    n = (n > 0) ? ctx->text.lt.lines : -ctx->text.lt.lines;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1067
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1068
  if (n == 0) return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1069
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1070
  if (n > 0) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1071
    if ( IsValidLine(ctx, n) )
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1072
      top = Min(lt->info[n].position, ctx->text.lastPos);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1073
    else
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1074
      top = ctx->text.lastPos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1075
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1076
    y = IsValidLine(ctx, n) ? lt->info[n].y : ctx->core.height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1077
    _XawTextBuildLineTable(ctx, top, FALSE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1078
    if (top >= ctx->text.lastPos)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1079
      DisplayTextWindow( (Widget) ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1080
    else {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1081
      XCopyArea(XtDisplay(ctx), XtWindow(ctx), XtWindow(ctx), ctx->text.gc,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1082
		0, y, (int)ctx->core.width, (int)ctx->core.height - y,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1083
		0, ctx->text.margin.top);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1084
      SinkClearToBG(ctx->text.sink, 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1085
		    (Position) 0,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1086
		    (Position) (ctx->text.margin.top + ctx->core.height - y),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1087
		   (Dimension) ctx->core.width, (Dimension) ctx->core.height);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1088
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1089
      if (n < lt->lines) n++; /* update descenders at bottom */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1090
      _XawTextNeedsUpdating(ctx, lt->info[lt->lines - n].position, 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1091
			    ctx->text.lastPos);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1092
      _XawTextSetScrollBars(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1093
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1094
  } 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1095
  else {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1096
    XawTextPosition updateTo;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1097
    unsigned int height, clear_height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1098
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1099
    n = -n;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1100
    target = lt->top;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1101
    top = SrcScan(ctx->text.source, target, XawstEOL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1102
		  XawsdLeft, n+1, FALSE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1103
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1104
    _XawTextBuildLineTable(ctx, top, FALSE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1105
    y = IsValidLine(ctx, n) ? lt->info[n].y : ctx->core.height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1106
    updateTo = IsValidLine(ctx, n) ? lt->info[n].position : ctx->text.lastPos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1107
    if (IsValidLine(ctx, lt->lines - n))
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1108
      height = lt->info[lt->lines-n].y - ctx->text.margin.top;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1109
    else if (ctx->core.height - HMargins(ctx))
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1110
      height = ctx->core.height - HMargins(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1111
    else
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1112
      height = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1113
    if (y > (int) ctx->text.margin.top)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1114
      clear_height = y - ctx->text.margin.top;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1115
    else
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1116
      clear_height = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1117
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1118
    if ( updateTo == target ) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1119
      XCopyArea(XtDisplay(ctx), XtWindow(ctx), XtWindow(ctx), ctx->text.gc, 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1120
		0, ctx->text.margin.top, (int) ctx->core.width, height, 0, y);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1121
      SinkClearToBG(ctx->text.sink, (Position) 0, ctx->text.margin.top,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1122
		   (Dimension) ctx->core.width, (Dimension) clear_height);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1123
      
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1124
      _XawTextNeedsUpdating(ctx, lt->info[0].position, updateTo);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1125
      _XawTextSetScrollBars(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1126
    } 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1127
    else if (lt->top != target)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1128
      DisplayTextWindow((Widget)ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1129
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1130
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1131
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1132
/*ARGSUSED*/
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1133
static void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1134
HScroll(w, closure, callData)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1135
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1136
caddr_t closure;		/* TextWidget */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1137
caddr_t callData;		/* #pixels */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1138
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1139
  TextWidget ctx = (TextWidget) closure;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1140
  Widget tw = (Widget) ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1141
  Position old_left, pixels = (Position) callData;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1142
  XRectangle rect, t_rect;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1143
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1144
  _XawTextPrepareToUpdate(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1145
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1146
  old_left = ctx->text.margin.left;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1147
  ctx->text.margin.left -= pixels;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1148
  if (ctx->text.margin.left > ctx->text.r_margin.left) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1149
    ctx->text.margin.left = ctx->text.r_margin.left;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1150
    pixels = old_left - ctx->text.margin.left;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1151
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1152
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1153
  if (pixels > 0) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1154
    rect.width = (unsigned short) pixels + ctx->text.margin.right;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1155
    rect.x = (short) ctx->core.width - (short) rect.width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1156
    rect.y = (short) ctx->text.margin.top;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1157
    rect.height = (unsigned short) ctx->core.height - rect.y;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1158
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1159
    XCopyArea(XtDisplay(tw), XtWindow(tw), XtWindow(tw), ctx->text.gc,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1160
	      pixels, (int) rect.y,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1161
	      (unsigned int) rect.x, (unsigned int) ctx->core.height,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1162
	      0, (int) rect.y);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1163
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1164
  else if (pixels < 0) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1165
    rect.x = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1166
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1167
    if (ctx->text.vbar != NULL)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1168
      rect.x += (short) (ctx->text.vbar->core.width +
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1169
			 ctx->text.vbar->core.border_width);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1170
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1171
    rect.width = (Position) - pixels;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1172
    rect.y = ctx->text.margin.top;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1173
    rect.height = ctx->core.height - rect.y;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1174
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1175
    XCopyArea(XtDisplay(tw), XtWindow(tw), XtWindow(tw), ctx->text.gc,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1176
	      (int) rect.x, (int) rect.y,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1177
	      (unsigned int) ctx->core.width - rect.width,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1178
	      (unsigned int) rect.height,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1179
	      (int) rect.x + rect.width, (int) rect.y);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1180
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1181
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1182
 * Redraw the line overflow marks.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1183
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1184
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1185
    t_rect.x = ctx->core.width - ctx->text.margin.right;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1186
    t_rect.width = ctx->text.margin.right;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1187
    t_rect.y = rect.y;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1188
    t_rect.height = rect.height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1189
      
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1190
    SinkClearToBG(ctx->text.sink, (Position) t_rect.x, (Position) t_rect.y,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1191
		  (Dimension) t_rect.width, (Dimension) t_rect.height);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1192
    
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1193
    UpdateTextInRectangle(ctx, &t_rect);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1194
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1195
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1196
/*  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1197
 * Put in the text that just became visable.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1198
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1199
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1200
  if ( pixels != 0 ) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1201
    SinkClearToBG(ctx->text.sink, (Position) rect.x, (Position) rect.y,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1202
		  (Dimension) rect.width, (Dimension) rect.height);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1203
    
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1204
    UpdateTextInRectangle(ctx, &rect);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1205
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1206
  _XawTextExecuteUpdate(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1207
  _XawTextSetScrollBars(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1208
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1209
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1210
/*ARGSUSED*/
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1211
static void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1212
HJump(w, closure, callData)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1213
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1214
caddr_t closure, callData; /* closure = TextWidget, callData = percent. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1215
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1216
  TextWidget ctx = (TextWidget) closure;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1217
  float * percent = (float *) callData;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1218
  Position move, new_left, old_left = ctx->text.margin.left;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1219
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1220
  new_left = ctx->text.r_margin.left;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1221
  new_left -= (Position) (*percent * GetWidestLine(ctx));
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1222
  move = old_left - new_left;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1223
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1224
  if (abs(move) < ctx->core.width) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1225
    HScroll(w, (caddr_t) ctx, (caddr_t) move);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1226
    return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1227
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1228
  _XawTextPrepareToUpdate(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1229
  ctx->text.margin.left = new_left;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1230
  if (XtIsRealized((Widget) ctx)) DisplayTextWindow((Widget) ctx); 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1231
  _XawTextExecuteUpdate(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1232
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1233
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1234
/*	Function Name: UpdateTextInLine
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1235
 *	Description: Updates some text in a given line.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1236
 *	Arguments: ctx - the text widget.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1237
 *                 line - the line number (in the line table) of this line.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1238
 *                 left, right - left and right pixel offsets of the
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1239
 *                               area to update.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1240
 *	Returns: none.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1241
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1242
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1243
static void
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1244
UpdateTextInLine(ctx, line, left, right)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1245
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1246
int line;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1247
Position left, right;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1248
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1249
  XawTextPosition pos1, pos2; 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1250
  int width, height, local_left, local_width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1251
  XawTextLineTableEntry * lt = ctx->text.lt.info + line;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1252
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1253
  if ( ((lt->textWidth + ctx->text.margin.left) < left) ||
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1254
       ( ctx->text.margin.left > right ) )
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1255
    return;			/* no need to update. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1256
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1257
  local_width = left - ctx->text.margin.left;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1258
  XawTextSinkFindPosition(ctx->text.sink, lt->position,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1259
			  (int) ctx->text.margin.left, 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1260
			  local_width, FALSE, &pos1, &width, &height);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1261
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1262
  if (right >= (Position) lt->textWidth - ctx->text.margin.left) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1263
    if ( (IsValidLine(ctx, line + 1)) &&
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1264
	 (ctx->text.lt.info[line + 1].position <= ctx->text.lastPos) )
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1265
      pos2 = SrcScan( ctx->text.source, (lt + 1)->position, XawstPositions, 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1266
			   XawsdLeft, 1, TRUE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1267
    else 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1268
      pos2 = GETLASTPOS;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1269
  else {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1270
    XawTextPosition t_pos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1271
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1272
    local_left = ctx->text.margin.left + width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1273
    local_width = right  - local_left;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1274
    XawTextSinkFindPosition(ctx->text.sink, pos1, local_left,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1275
			    local_width, FALSE, &pos2, &width, &height);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1276
    
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1277
    t_pos = SrcScan( ctx->text.source, pos2,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1278
		     XawstPositions, XawsdRight, 1, TRUE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1279
    if (t_pos < (lt + 1)->position)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1280
      pos2 = t_pos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1281
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1282
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1283
  _XawTextNeedsUpdating(ctx, pos1, pos2);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1284
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1285
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1286
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1287
 * The routine will scroll the displayed text by pixels.  If the calldata is
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1288
 * positive, move up; otherwise, move down.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1289
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1290
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1291
/*ARGSUSED*/
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1292
static void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1293
VScroll(w, closure, callData)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1294
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1295
caddr_t closure;		/* TextWidget */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1296
caddr_t callData;		/* #pixels */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1297
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1298
  TextWidget ctx = (TextWidget)closure;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1299
  int height, lines = (int) callData;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1300
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1301
  height = ctx->core.height - VMargins(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1302
  if (height < 1)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1303
    height = 1;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1304
  lines = (int) (lines * (int) ctx->text.lt.lines) / height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1305
  _XawTextPrepareToUpdate(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1306
  _XawTextVScroll(ctx, lines);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1307
  _XawTextExecuteUpdate(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1308
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1309
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1310
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1311
 * The routine "thumbs" the displayed text. Thumbing means reposition the
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1312
 * displayed view of the source to a new position determined by a fraction
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1313
 * of the way from beginning to end. Ideally, this should be determined by
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1314
 * the number of displayable lines in the source. This routine does it as a
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1315
 * fraction of the first position and last position and then normalizes to
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1316
 * the start of the line containing the position.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1317
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1318
 * BUG/deficiency: The normalize to line portion of this routine will
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1319
 * cause thumbing to always position to the start of the source.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1320
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1321
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1322
/*ARGSUSED*/
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1323
static void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1324
VJump(w, closure, callData)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1325
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1326
caddr_t closure, callData; /* closuer = TextWidget, callData = percent. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1327
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1328
  float * percent = (float *) callData;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1329
  TextWidget ctx = (TextWidget)closure;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1330
  XawTextPosition position, old_top, old_bot;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1331
  XawTextLineTable * lt = &(ctx->text.lt);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1332
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1333
  _XawTextPrepareToUpdate(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1334
  old_top = lt->top;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1335
  if ( (lt->lines > 0) && (IsValidLine(ctx, lt->lines - 1)) )
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1336
    old_bot = lt->info[lt->lines - 1].position;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1337
  else
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1338
    old_bot = ctx->text.lastPos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1339
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1340
  position = (long) (*percent * (float) ctx->text.lastPos);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1341
  position= SrcScan(ctx->text.source, position, XawstEOL, XawsdLeft, 1, FALSE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1342
  if ( (position >= old_top) && (position <= old_bot) ) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1343
    int line = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1344
    for (;(line < lt->lines) && (position > lt->info[line].position) ; line++);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1345
    _XawTextVScroll(ctx, line);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1346
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1347
  else {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1348
    XawTextPosition new_bot;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1349
    _XawTextBuildLineTable(ctx, position, FALSE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1350
    new_bot = IsValidLine(ctx, lt->lines-1) ? lt->info[lt->lines-1].position 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1351
                                            : ctx->text.lastPos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1352
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1353
    if ((old_top >= lt->top) && (old_top <= new_bot)) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1354
      int line = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1355
      for (;(line < lt->lines) && (old_top > lt->info[line].position); line++);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1356
      _XawTextBuildLineTable(ctx, old_top, FALSE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1357
      _XawTextVScroll(ctx, -line);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1358
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1359
    else 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1360
      DisplayTextWindow( (Widget) ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1361
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1362
  _XawTextExecuteUpdate(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1363
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1364
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1365
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1366
static Boolean 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1367
ConvertSelection(w, selection, target, type, value, length, format)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1368
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1369
Atom *selection, *target, *type;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1370
caddr_t *value;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1371
unsigned long *length;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1372
int *format;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1373
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1374
  Display* d = XtDisplay(w);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1375
  TextWidget ctx = (TextWidget)w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1376
  Widget src = ctx->text.source;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1377
  XawTextEditType edit_mode;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1378
  Arg args[1];
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1379
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1380
  if (*target == XA_TARGETS(d)) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1381
    Atom* targetP, * std_targets;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1382
    unsigned long std_length;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1383
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1384
    if ( SrcCvtSel(src, selection, target, type, value, length, format) ) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1385
	return True;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1386
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1387
    XmuConvertStandardSelection(w, ctx->text.time, selection, 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1388
				target, type, (caddr_t*)&std_targets,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1389
				&std_length, format);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1390
    
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1391
    *value = XtMalloc((unsigned) sizeof(Atom)*(std_length + 7));
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1392
    targetP = *(Atom**)value;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1393
    *length = std_length + 6;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1394
    *targetP++ = XA_STRING;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1395
    *targetP++ = XA_TEXT(d);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1396
    *targetP++ = XA_COMPOUND_TEXT(d);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1397
    *targetP++ = XA_LENGTH(d);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1398
    *targetP++ = XA_LIST_LENGTH(d);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1399
    *targetP++ = XA_CHARACTER_POSITION(d);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1400
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1401
    XtSetArg(args[0], XtNeditType,&edit_mode);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1402
    XtGetValues(src, args, ONE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1403
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1404
    if (edit_mode == XawtextEdit) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1405
      *targetP++ = XA_DELETE(d);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1406
      (*length)++;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1407
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1408
    bcopy((char*)std_targets, (char*)targetP, sizeof(Atom)*std_length);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1409
    XtFree((char*)std_targets);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1410
    *type = XA_ATOM;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1411
    *format = 32;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1412
    return True;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1413
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1414
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1415
  if ( SrcCvtSel(src, selection, target, type, value, length, format) )
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1416
    return True;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1417
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1418
  if (*target == XA_STRING ||
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1419
      *target == XA_TEXT(d) ||
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1420
      *target == XA_COMPOUND_TEXT(d)) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1421
    if (*target == XA_COMPOUND_TEXT(d))
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1422
      *type = *target;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1423
    else
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1424
      *type = XA_STRING;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1425
    *value = _XawTextGetSTRING(ctx, ctx->text.s.left, ctx->text.s.right);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1426
    *length = strlen(*value);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1427
    *format = 8;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1428
    return True;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1429
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1430
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1431
  if ( (*target == XA_LIST_LENGTH(d)) || (*target == XA_LENGTH(d)) ) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1432
    long * temp;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1433
    
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1434
    temp = (long *) XtMalloc(sizeof(long));
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1435
    if (*target == XA_LIST_LENGTH(d))
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1436
      *temp = 1L;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1437
    else			/* *target == XA_LENGTH(d) */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1438
      *temp = (long) (ctx->text.s.right - ctx->text.s.left);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1439
    
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1440
    *value = (caddr_t) temp;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1441
    *type = XA_INTEGER;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1442
    *length = 1L;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1443
    *format = 32;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1444
    return True;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1445
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1446
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1447
  if (*target == XA_CHARACTER_POSITION(d)) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1448
    long * temp;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1449
    
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1450
    temp = (long *) XtMalloc(2 * sizeof(long));
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1451
    temp[0] = (long) (ctx->text.s.left + 1);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1452
    temp[1] = ctx->text.s.right;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1453
    *value = (caddr_t) temp;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1454
    *type = XA_SPAN(d);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1455
    *length = 2L;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1456
    *format = 32;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1457
    return True;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1458
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1459
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1460
  if (*target == XA_DELETE(d)) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1461
    void _XawTextZapSelection(); /* From TextAction.c */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1462
    
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1463
    _XawTextZapSelection( ctx, (XEvent *) NULL, TRUE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1464
    *value = NULL;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1465
    *type = XA_NULL(d);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1466
    *length = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1467
    *format = 32;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1468
    return True;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1469
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1470
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1471
  if (XmuConvertStandardSelection(w, ctx->text.time, selection, target, type,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1472
				  value, length, format))
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1473
    return True;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1474
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1475
  /* else */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1476
  return False;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1477
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1478
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1479
/*	Function Name: GetCutBuffferNumber
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1480
 *	Description: Returns the number of the cut buffer.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1481
 *	Arguments: atom - the atom to check.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1482
 *	Returns: the number of the cut buffer representing this atom or
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1483
 *               NOT_A_CUT_BUFFER.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1484
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1485
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1486
#define NOT_A_CUT_BUFFER -1
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1487
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1488
static int
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1489
GetCutBufferNumber(atom)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1490
register Atom atom;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1491
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1492
  if (atom == XA_CUT_BUFFER0) return(0);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1493
  if (atom == XA_CUT_BUFFER1) return(1);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1494
  if (atom == XA_CUT_BUFFER2) return(2);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1495
  if (atom == XA_CUT_BUFFER3) return(3);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1496
  if (atom == XA_CUT_BUFFER4) return(4);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1497
  if (atom == XA_CUT_BUFFER5) return(5);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1498
  if (atom == XA_CUT_BUFFER6) return(6);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1499
  if (atom == XA_CUT_BUFFER7) return(7);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1500
  return(NOT_A_CUT_BUFFER);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1501
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1502
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1503
static void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1504
LoseSelection(w, selection)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1505
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1506
Atom *selection;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1507
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1508
  TextWidget ctx = (TextWidget) w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1509
  register Atom* atomP;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1510
  register int i;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1511
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1512
  _XawTextPrepareToUpdate(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1513
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1514
  atomP = ctx->text.s.selections;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1515
  for (i = 0 ; i < ctx->text.s.atom_count; i++, atomP++)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1516
    if ( (*selection == *atomP) || 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1517
	(GetCutBufferNumber(*atomP) != NOT_A_CUT_BUFFER) )/* is a cut buffer */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1518
      *atomP = (Atom)0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1519
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1520
  while (ctx->text.s.atom_count &&
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1521
	 ctx->text.s.selections[ctx->text.s.atom_count-1] == 0)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1522
    ctx->text.s.atom_count--;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1523
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1524
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1525
 * Must walk the selection list in opposite order from UnsetSelection.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1526
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1527
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1528
  atomP = ctx->text.s.selections;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1529
  for (i = 0 ; i < ctx->text.s.atom_count; i++, atomP++)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1530
    if (*atomP == (Atom)0) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1531
      *atomP = ctx->text.s.selections[--ctx->text.s.atom_count];
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1532
      while (ctx->text.s.atom_count &&
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1533
	     ctx->text.s.selections[ctx->text.s.atom_count-1] == 0)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1534
	ctx->text.s.atom_count--;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1535
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1536
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1537
  if (ctx->text.s.atom_count == 0)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1538
    ModifySelection(ctx, ctx->text.insertPos, ctx->text.insertPos);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1539
      
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1540
  if (ctx->text.old_insert >= 0) /* Update in progress. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1541
    _XawTextExecuteUpdate(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1542
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1543
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1544
void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1545
_SetSelection(ctx, left, right, selections, count)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1546
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1547
XawTextPosition left, right;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1548
Atom *selections;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1549
Cardinal count;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1550
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1551
  XawTextPosition pos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1552
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1553
  if (left < ctx->text.s.left) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1554
    pos = Min(right, ctx->text.s.left);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1555
    _XawTextNeedsUpdating(ctx, left, pos);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1556
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1557
  if (left > ctx->text.s.left) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1558
    pos = Min(left, ctx->text.s.right);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1559
    _XawTextNeedsUpdating(ctx, ctx->text.s.left, pos);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1560
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1561
  if (right < ctx->text.s.right) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1562
    pos = Max(right, ctx->text.s.left);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1563
    _XawTextNeedsUpdating(ctx, pos, ctx->text.s.right);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1564
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1565
  if (right > ctx->text.s.right) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1566
    pos = Max(left, ctx->text.s.right);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1567
    _XawTextNeedsUpdating(ctx, pos, right);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1568
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1569
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1570
  ctx->text.s.left = left;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1571
  ctx->text.s.right = right;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1572
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1573
  SrcSetSelection(ctx->text.source, left, right,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1574
		  (count == 0) ? NULL : selections[0]);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1575
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1576
  if (left < right) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1577
    Widget w = (Widget) ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1578
    int buffer;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1579
    
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1580
    while (count) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1581
      Atom selection = selections[--count];
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1582
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1583
 * If this is a cut buffer.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1584
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1585
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1586
      if ((buffer = GetCutBufferNumber(selection)) != NOT_A_CUT_BUFFER) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1587
	char *ptr;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1588
	ptr = _XawTextGetSTRING(ctx, ctx->text.s.left, ctx->text.s.right);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1589
	if (buffer == 0) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1590
	  _CreateCutBuffers(XtDisplay(w));
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1591
	  XRotateBuffers(XtDisplay(w), 1);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1592
	}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1593
	XStoreBuffer(XtDisplay(w), ptr, Min(strlen(ptr), MAXCUT), buffer);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1594
	XtFree (ptr);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1595
      }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1596
      else			/* This is a real selection. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1597
	XtOwnSelection(w, selection, ctx->text.time,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1598
		       (XtConvertSelectionProc)ConvertSelection,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1599
		       LoseSelection, NULL);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1600
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1601
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1602
  else
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1603
    XawTextUnsetSelection((Widget)ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1604
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1605
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1606
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1607
 * This internal routine deletes the text from pos1 to pos2 in a source and
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1608
 * then inserts, at pos1, the text that was passed. As a side effect it
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1609
 * "invalidates" that portion of the displayed text (if any).
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1610
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1611
 * NOTE: It is illegal to call this routine unless there is a valid line table!
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1612
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1613
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1614
int 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1615
_XawTextReplace (ctx, pos1, pos2, text)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1616
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1617
XawTextPosition pos1, pos2;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1618
XawTextBlock *text;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1619
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1620
  int i, line1, delta, error;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1621
  XawTextPosition updateFrom, updateTo;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1622
  Widget src = ctx->text.source;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1623
  XawTextEditType edit_mode;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1624
  Arg args[1];
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1625
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1626
  ctx->text.update_disabled = True; /* No redisplay during replacement. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1627
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1628
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1629
 * The insertPos may not always be set to the right spot in XawtextAppend 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1630
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1631
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1632
  XtSetArg(args[0], XtNeditType, &edit_mode);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1633
  XtGetValues(src, args, ONE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1634
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1635
  if ((pos1 == ctx->text.insertPos) && (edit_mode == XawtextAppend)) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1636
    ctx->text.insertPos = ctx->text.lastPos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1637
    pos2 = SrcScan(src, ctx->text.insertPos, XawstPositions, XawsdRight,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1638
		   (ctx->text.insertPos - pos1), TRUE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1639
    pos1 = ctx->text.insertPos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1640
    if ( (pos1 == pos2) && (text->length == 0) ) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1641
      ctx->text.update_disabled = FALSE; /* rearm redisplay. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1642
      return( XawEditError );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1643
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1644
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1645
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1646
  updateFrom = SrcScan(src, pos1, XawstWhiteSpace, XawsdLeft, 1, TRUE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1647
  updateFrom = SrcScan(src, updateFrom, XawstPositions, XawsdLeft, 1, TRUE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1648
  updateFrom = Max(updateFrom, ctx->text.lt.top);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1649
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1650
  line1 = LineForPosition(ctx, updateFrom);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1651
  if ( (error = SrcReplace(src, pos1, pos2, text)) != 0) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1652
    ctx->text.update_disabled = FALSE; /* rearm redisplay. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1653
    return(error);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1654
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1655
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1656
  XawTextUnsetSelection((Widget)ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1657
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1658
  ctx->text.lastPos = GETLASTPOS;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1659
  if (ctx->text.lt.top >= ctx->text.lastPos) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1660
    _XawTextBuildLineTable(ctx, ctx->text.lastPos, FALSE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1661
    ClearWindow( (Widget) ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1662
    ctx->text.update_disabled = FALSE; /* rearm redisplay. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1663
    return(0);			/* Things are fine. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1664
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1665
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1666
  delta = text->length - (pos2 - pos1);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1667
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1668
  if ( abs(delta) <= 1 )
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1669
      ctx->text.single_char = TRUE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1670
  else
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1671
      ctx->text.single_char = FALSE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1672
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1673
  if (delta < ctx->text.lastPos) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1674
    for (pos2 += delta, i = 0; i < ctx->text.numranges; i++) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1675
      if (ctx->text.updateFrom[i] > pos1)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1676
	ctx->text.updateFrom[i] += delta;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1677
      if (ctx->text.updateTo[i] >= pos1)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1678
	ctx->text.updateTo[i] += delta;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1679
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1680
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1681
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1682
  /* 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1683
   * fixup all current line table entries to reflect edit.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1684
   * %%% it is not legal to do arithmetic on positions.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1685
   * using Scan would be more proper.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1686
   */ 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1687
  if (delta != 0) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1688
    XawTextLineTableEntry *lineP;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1689
    i = LineForPosition(ctx, pos1) + 1;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1690
    for (lineP = ctx->text.lt.info + i; i <= ctx->text.lt.lines; i++, lineP++)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1691
      lineP->position += delta;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1692
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1693
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1694
  /*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1695
   * Now process the line table and fixup in case edits caused
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1696
   * changes in line breaks. If we are breaking on word boundaries,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1697
   * this code checks for moving words to and from lines.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1698
   */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1699
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1700
  if (IsPositionVisible(ctx, updateFrom)) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1701
    updateTo = _BuildLineTable(ctx, 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1702
			       ctx->text.lt.info[line1].position, pos1, line1);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1703
    _XawTextNeedsUpdating(ctx, updateFrom, updateTo);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1704
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1705
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1706
  ctx->text.update_disabled = FALSE; /* rearm redisplay. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1707
  return(0);			/* Things are fine. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1708
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1709
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1710
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1711
 * This routine will display text between two arbitrary source positions.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1712
 * In the event that this span contains highlighted text for the selection, 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1713
 * only that portion will be displayed highlighted.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1714
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1715
 * NOTE: it is illegal to call this routine unless there
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1716
 *       is a valid line table! 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1717
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1718
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1719
static void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1720
DisplayText(w, pos1, pos2)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1721
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1722
XawTextPosition pos1, pos2;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1723
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1724
  TextWidget ctx = (TextWidget)w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1725
  Position x, y;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1726
  int height, line, i, lastPos = ctx->text.lastPos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1727
  XawTextPosition startPos, endPos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1728
  Boolean clear_eol, done_painting;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1729
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1730
  pos1 = (pos1 < ctx->text.lt.top) ? ctx->text.lt.top : pos1;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1731
  pos2 = FindGoodPosition(ctx, pos2);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1732
  if ( (pos1 >= pos2) || !LineAndXYForPosition(ctx, pos1, &line, &x, &y) )
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1733
    return;			/* line not visible, or pos1 >= pos2. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1734
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1735
  for ( startPos = pos1, i = line; IsValidLine(ctx, i) && 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1736
                                   (i < ctx->text.lt.lines) ; i++) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1737
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1738
    
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1739
    if ( (endPos = ctx->text.lt.info[i + 1].position) > pos2 ) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1740
      clear_eol = ((endPos = pos2) >= lastPos);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1741
      done_painting = (!clear_eol || ctx->text.single_char);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1742
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1743
    else {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1744
      clear_eol = TRUE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1745
      done_painting = FALSE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1746
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1747
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1748
    height = ctx->text.lt.info[i + 1].y - ctx->text.lt.info[i].y;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1749
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1750
    if ( (endPos > startPos) ) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1751
      if ( (x == (Position) ctx->text.margin.left) && (x > 0) )
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1752
	 SinkClearToBG (ctx->text.sink,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1753
			(Position) 0, y, 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1754
			(Dimension) ctx->text.margin.left, (Dimension)height); 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1755
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1756
      if ( (startPos >= ctx->text.s.right) || (endPos <= ctx->text.s.left) ) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1757
	XawTextSinkDisplayText(ctx->text.sink, x, y, startPos, endPos, FALSE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1758
      else if ((startPos >= ctx->text.s.left) && (endPos <= ctx->text.s.right))
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1759
	XawTextSinkDisplayText(ctx->text.sink, x, y, startPos, endPos, TRUE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1760
      else {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1761
	DisplayText(w, startPos, ctx->text.s.left);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1762
	DisplayText(w, Max(startPos, ctx->text.s.left),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1763
		    Min(endPos, ctx->text.s.right));
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1764
	DisplayText(w, ctx->text.s.right, endPos);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1765
      }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1766
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1767
    startPos = endPos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1768
    if (clear_eol) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1769
	SinkClearToBG(ctx->text.sink, 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1770
		      (Position) (ctx->text.lt.info[i].textWidth +
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1771
				  ctx->text.margin.left),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1772
		      (Position) y, w->core.width, (Dimension) height);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1773
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1774
	/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1775
	 * We only get here if single character is true, and we need
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1776
	 * to clear to the end of the screen.  We know that since there
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1777
	 * was only on character deleted that this is the same
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1778
	 * as clearing an extra line, so we do this, and are done.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1779
	 * 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1780
	 * This a performance hack, and a pretty gross one, but it works.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1781
	 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1782
	 * Chris Peterson 11/13/89.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1783
	 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1784
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1785
	if (done_painting) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1786
	    y += height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1787
	    SinkClearToBG(ctx->text.sink, 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1788
			  (Position) ctx->text.margin.left, (Position) y, 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1789
			  w->core.width, (Dimension) height);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1790
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1791
	    break;		/* set single_char to FALSE and return. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1792
	}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1793
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1794
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1795
    x = (Position) ctx->text.margin.left;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1796
    y = ctx->text.lt.info[i + 1].y;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1797
    if ( done_painting || (y >= ctx->core.height - ctx->text.margin.bottom) )
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1798
      break;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1799
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1800
  ctx->text.single_char = FALSE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1801
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1802
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1803
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1804
 * This routine implements multi-click selection in a hardwired manner.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1805
 * It supports multi-click entity cycling (char, word, line, file) and mouse
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1806
 * motion adjustment of the selected entitie (i.e. select a word then, with
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1807
 * button still down, adjust wich word you really meant by moving the mouse).
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1808
 * [NOTE: This routine is to be replaced by a set of procedures that
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1809
 * will allows clients to implements a wide class of draw through and
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1810
 * multi-click selection user interfaces.]
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1811
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1812
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1813
static void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1814
DoSelection (ctx, pos, time, motion)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1815
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1816
XawTextPosition pos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1817
Time time;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1818
Boolean motion;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1819
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1820
  XawTextPosition newLeft, newRight;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1821
  XawTextSelectType newType, *sarray;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1822
  Widget src = ctx->text.source;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1823
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1824
  if (motion)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1825
    newType = ctx->text.s.type;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1826
  else {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1827
    if ( (abs((long) time - (long) ctx->text.lasttime) < MULTI_CLICK_TIME) &&
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1828
	 ((pos >= ctx->text.s.left) && (pos <= ctx->text.s.right))) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1829
      sarray = ctx->text.sarray;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1830
      for (;*sarray != XawselectNull && *sarray != ctx->text.s.type; sarray++);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1831
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1832
      if (*sarray == XawselectNull)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1833
	newType = *(ctx->text.sarray);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1834
      else {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1835
	newType = *(sarray + 1);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1836
	if (newType == XawselectNull) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1837
	  newType = *(ctx->text.sarray);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1838
      }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1839
    } 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1840
    else 			                      /* single-click event */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1841
      newType = *(ctx->text.sarray);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1842
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1843
    ctx->text.lasttime = time;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1844
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1845
  switch (newType) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1846
  case XawselectPosition: 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1847
    newLeft = newRight = pos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1848
    break;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1849
  case XawselectChar: 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1850
    newLeft = pos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1851
    newRight = SrcScan(src, pos, XawstPositions, XawsdRight, 1, FALSE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1852
    break;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1853
  case XawselectWord: 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1854
    newRight = SrcScan(src, pos, XawstWhiteSpace, XawsdRight, 1, FALSE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1855
    newLeft= SrcScan(src, newRight, XawstWhiteSpace, XawsdLeft, 1, FALSE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1856
    break;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1857
  case XawselectParagraph: 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1858
    newRight = SrcScan(src, pos, XawstParagraph, XawsdRight, 1, FALSE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1859
    newLeft = SrcScan(src, newRight, XawstParagraph, XawsdLeft, 1, FALSE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1860
    break;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1861
  case XawselectLine: 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1862
    newLeft = SrcScan(src, pos, XawstEOL, XawsdLeft, 1, FALSE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1863
    newRight = SrcScan(src, pos, XawstEOL, XawsdRight, 1, FALSE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1864
    break;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1865
  case XawselectAll: 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1866
    newLeft = SrcScan(src, pos, XawstAll, XawsdLeft, 1, FALSE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1867
    newRight = SrcScan(src, pos, XawstAll, XawsdRight, 1, FALSE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1868
    break;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1869
  default:
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1870
    XtAppWarning(XtWidgetToApplicationContext((Widget) ctx),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1871
	       "Text Widget: empty selection array.");
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1872
    return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1873
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1874
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1875
  if ( (newLeft != ctx->text.s.left) || (newRight != ctx->text.s.right)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1876
      || (newType != ctx->text.s.type)) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1877
    ModifySelection(ctx, newLeft, newRight);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1878
    if (pos - ctx->text.s.left < ctx->text.s.right - pos)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1879
      ctx->text.insertPos = newLeft;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1880
    else 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1881
      ctx->text.insertPos = newRight;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1882
    ctx->text.s.type = newType;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1883
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1884
  if (!motion) { /* setup so we can freely mix select extend calls*/
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1885
    ctx->text.origSel.type = ctx->text.s.type;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1886
    ctx->text.origSel.left = ctx->text.s.left;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1887
    ctx->text.origSel.right = ctx->text.s.right;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1888
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1889
    if (pos >= ctx->text.s.left + ((ctx->text.s.right - ctx->text.s.left) / 2))
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1890
      ctx->text.extendDir = XawsdRight;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1891
    else
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1892
      ctx->text.extendDir = XawsdLeft;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1893
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1894
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1895
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1896
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1897
 * This routine implements extension of the currently selected text in
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1898
 * the "current" mode (i.e. char word, line, etc.). It worries about
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1899
 * extending from either end of the selection and handles the case when you
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1900
 * cross through the "center" of the current selection (e.g. switch which
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1901
 * end you are extending!).
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1902
 * [NOTE: This routine will be replaced by a set of procedures that
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1903
 * will allows clients to implements a wide class of draw through and
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1904
 * multi-click selection user interfaces.]
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1905
*/
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1906
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1907
static void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1908
ExtendSelection (ctx, pos, motion)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1909
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1910
XawTextPosition pos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1911
Boolean motion;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1912
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1913
  XawTextScanDirection dir;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1914
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1915
  if (!motion) {		/* setup for extending selection */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1916
    ctx->text.origSel.type = ctx->text.s.type;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1917
    ctx->text.origSel.left = ctx->text.s.left;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1918
    ctx->text.origSel.right = ctx->text.s.right;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1919
    if (pos >= ctx->text.s.left + ((ctx->text.s.right - ctx->text.s.left) / 2))
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1920
      ctx->text.extendDir = XawsdRight;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1921
    else
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1922
      ctx->text.extendDir = XawsdLeft;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1923
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1924
  else /* check for change in extend direction */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1925
    if ((ctx->text.extendDir == XawsdRight && pos < ctx->text.origSel.left) ||
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1926
	(ctx->text.extendDir == XawsdLeft && pos > ctx->text.origSel.right)) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1927
      ctx->text.extendDir = (ctx->text.extendDir == XawsdRight) ?
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1928
	                                            XawsdLeft : XawsdRight;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1929
      ModifySelection(ctx, ctx->text.origSel.left, ctx->text.origSel.right);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1930
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1931
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1932
  dir = ctx->text.extendDir;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1933
  switch (ctx->text.s.type) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1934
  case XawselectWord: 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1935
    pos = SrcScan(ctx->text.source, pos, XawstWhiteSpace, dir, 1, FALSE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1936
    break;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1937
  case XawselectLine:
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1938
    pos = SrcScan(ctx->text.source, pos, XawstEOL, dir, 1, dir == XawsdRight);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1939
    break;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1940
  case XawselectParagraph:
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1941
    pos = SrcScan(ctx->text.source, pos, XawstParagraph, dir, 1, FALSE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1942
    break;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1943
  case XawselectAll: 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1944
    pos = ctx->text.insertPos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1945
  case XawselectPosition:	/* fall through. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1946
  default:
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1947
    break;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1948
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1949
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1950
  if (ctx->text.extendDir == XawsdRight)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1951
    ModifySelection(ctx, ctx->text.s.left, pos);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1952
  else
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1953
    ModifySelection(ctx, pos, ctx->text.s.right);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1954
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1955
  ctx->text.insertPos = pos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1956
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1957
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1958
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1959
 * Clear the window to background color.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1960
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1961
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1962
static void
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1963
ClearWindow (w)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1964
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1965
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1966
  TextWidget ctx = (TextWidget) w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1967
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1968
  if (XtIsRealized(w))
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1969
    SinkClearToBG(ctx->text.sink, 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1970
		  (Position) 0, (Position) 0, 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1971
		  w->core.width, w->core.height);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1972
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1973
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1974
/*	Function Name: _XawTextClearAndCenterDisplay
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1975
 *	Description: Redraws the display with the cursor in insert point
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1976
 *                   centered vertically.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1977
 *	Arguments: ctx - the text widget.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1978
 *	Returns: none.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1979
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1980
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1981
void
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1982
_XawTextClearAndCenterDisplay(ctx)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1983
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1984
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1985
  int insert_line = LineForPosition(ctx, ctx->text.insertPos);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1986
  int scroll_by = insert_line - ctx->text.lt.lines/2;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1987
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1988
  _XawTextVScroll(ctx, scroll_by);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1989
  DisplayTextWindow( (Widget) ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1990
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1991
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1992
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1993
 * Internal redisplay entire window.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1994
 * Legal to call only if widget is realized.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1995
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1996
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1997
static void
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1998
DisplayTextWindow (w)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  1999
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2000
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2001
  TextWidget ctx = (TextWidget) w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2002
  ClearWindow(w);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2003
  _XawTextBuildLineTable(ctx, ctx->text.lt.top, FALSE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2004
  _XawTextNeedsUpdating(ctx, zeroPosition, ctx->text.lastPos);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2005
  _XawTextSetScrollBars(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2006
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2007
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2008
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2009
 * This routine checks to see if the window should be resized (grown or
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2010
 * shrunk) when text to be painted overflows to the right or
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2011
 * the bottom of the window. It is used by the keyboard input routine.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2012
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2013
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2014
void
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2015
_XawTextCheckResize(ctx)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2016
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2017
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2018
  Widget w = (Widget) ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2019
  int line = 0, old_height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2020
  XtWidgetGeometry rbox;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2021
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2022
  if ( (ctx->text.resize == XawtextResizeWidth) ||
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2023
       (ctx->text.resize == XawtextResizeBoth) ) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2024
    XawTextLineTableEntry *lt;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2025
    rbox.width = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2026
    for (lt = ctx->text.lt.info; 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2027
	 IsValidLine(ctx, line) && (line < ctx->text.lt.lines) ; line++, lt++) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2028
      AssignMax(rbox.width, lt->textWidth + ctx->text.margin.left);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2029
    
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2030
    rbox.width += ctx->text.margin.right;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2031
    if (rbox.width > ctx->core.width) { /* Only get wider. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2032
      rbox.request_mode = CWWidth;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2033
      if (XtMakeGeometryRequest(w, &rbox, &rbox) == XtGeometryAlmost)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2034
	(void) XtMakeGeometryRequest(w, &rbox, &rbox);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2035
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2036
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2037
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2038
  if ( !((ctx->text.resize == XawtextResizeHeight) ||
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2039
	 (ctx->text.resize == XawtextResizeBoth)) )
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2040
      return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2041
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2042
  if (IsPositionVisible(ctx, ctx->text.lastPos))
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2043
    line = LineForPosition(ctx, ctx->text.lastPos);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2044
  else
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2045
    line = ctx->text.lt.lines;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2046
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2047
  if ( (line + 1) == ctx->text.lt.lines ) return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2048
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2049
  old_height = ctx->core.height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2050
  rbox.request_mode = CWHeight;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2051
  rbox.height = XawTextSinkMaxHeight(ctx->text.sink, line + 1) + VMargins(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2052
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2053
  if (rbox.height < old_height) return; /* It will only get taller. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2054
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2055
  if (XtMakeGeometryRequest(w, &rbox, &rbox) == XtGeometryAlmost)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2056
    if (XtMakeGeometryRequest(w, &rbox, &rbox) != XtGeometryYes)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2057
      return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2058
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2059
  _XawTextBuildLineTable(ctx, ctx->text.lt.top, TRUE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2060
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2061
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2062
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2063
 * Converts (params, num_params) to a list of atoms & caches the
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2064
 * list in the TextWidget instance.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2065
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2066
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2067
Atom*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2068
_XawTextSelectionList(ctx, list, nelems)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2069
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2070
String *list;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2071
Cardinal nelems;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2072
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2073
  Atom * sel = ctx->text.s.selections;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2074
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2075
  if (nelems > ctx->text.s.array_size) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2076
    sel = (Atom *) XtRealloc((caddr_t)sel, sizeof(Atom) * nelems);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2077
    ctx->text.s.array_size = nelems;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2078
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2079
  XmuInternStrings(XtDisplay((Widget)ctx), list, nelems, sel);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2080
  ctx->text.s.atom_count = nelems;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2081
  return(ctx->text.s.selections = sel);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2082
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2083
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2084
/*	Function Name: SetSelection
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2085
 *	Description: Sets the current selection.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2086
 *	Arguments: ctx - the text widget.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2087
 *                 defaultSel - the default selection.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2088
 *                 l, r - the left and right ends of the selection.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2089
 *                 list, nelems - the selection list (as strings).
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2090
 *	Returns: none.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2091
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2092
 *  NOTE: if (ctx->text.s.left >= ctx->text.s.right) then the selection
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2093
 *        is unset.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2094
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2095
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2096
void
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2097
_XawTextSetSelection(ctx, l, r, list, nelems)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2098
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2099
XawTextPosition l, r;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2100
String *list;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2101
Cardinal nelems;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2102
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2103
  if (nelems == 0) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2104
    String defaultSel = "PRIMARY";
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2105
    list = &defaultSel;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2106
    nelems = 1;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2107
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2108
  _SetSelection(ctx, l, r, _XawTextSelectionList(ctx, list, nelems), nelems);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2109
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2110
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2111
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2112
/*	Function Name: ModifySelection
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2113
 *	Description: Modifies the current selection.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2114
 *	Arguments: ctx - the text widget.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2115
 *                 left, right - the left and right ends of the selection.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2116
 *	Returns: none.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2117
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2118
 *  NOTE: if (ctx->text.s.left >= ctx->text.s.right) then the selection
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2119
 *        is unset.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2120
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2121
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2122
static void
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2123
ModifySelection(ctx, left, right)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2124
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2125
XawTextPosition left, right;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2126
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2127
  if (left == right) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2128
    ctx->text.insertPos = left;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2129
  _SetSelection( ctx, left, right, (Atom *)NULL, ZERO);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2130
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2131
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2132
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2133
 * This routine is used to perform various selection functions. The goal is
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2134
 * to be able to specify all the more popular forms of draw-through and
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2135
 * multi-click selection user interfaces from the outside.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2136
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2137
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2138
void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2139
_XawTextAlterSelection (ctx, mode, action, params, num_params)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2140
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2141
XawTextSelectionMode mode;   /* {XawsmTextSelect, XawsmTextExtend} */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2142
XawTextSelectionAction action; /* {XawactionStart, 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2143
				  XawactionAdjust, XawactionEnd} */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2144
String	*params;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2145
Cardinal	*num_params;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2146
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2147
  XawTextPosition position;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2148
  Boolean flag;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2149
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2150
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2151
 * This flag is used by TextPop.c:DoReplace() to determine if the selection
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2152
 * is okay to use, or if it has been modified.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2153
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2154
    
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2155
  if (ctx->text.search != NULL)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2156
    ctx->text.search->selection_changed = TRUE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2157
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2158
  position = PositionForXY (ctx, (int) ctx->text.ev_x, (int) ctx->text.ev_y);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2159
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2160
  flag = (action != XawactionStart);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2161
  if (mode == XawsmTextSelect)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2162
    DoSelection (ctx, position, ctx->text.time, flag);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2163
  else			/* mode == XawsmTextExtend */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2164
    ExtendSelection (ctx, position, flag);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2165
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2166
  if (action == XawactionEnd) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2167
    _XawTextSetSelection(ctx, ctx->text.s.left, ctx->text.s.right,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2168
			 params, *num_params);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2169
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2170
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2171
/*	Function Name: RectanglesOverlap
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2172
 *	Description: Returns TRUE if two rectangles overlap.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2173
 *	Arguments: rect1, rect2 - the two rectangles to check.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2174
 *	Returns: TRUE iff these rectangles overlap.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2175
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2176
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2177
static Boolean
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2178
RectanglesOverlap(rect1, rect2)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2179
XRectangle *rect1, *rect2;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2180
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2181
  return ( (rect1->x < rect2->x + (short) rect2->width) &&
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2182
	   (rect2->x < rect1->x + (short) rect1->width) &&
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2183
	   (rect1->y < rect2->y + (short) rect2->height) &&
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2184
	   (rect2->y < rect1->y + (short) rect1->height) );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2185
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2186
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2187
/*	Function Name: UpdateTextInRectangle.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2188
 *	Description: Updates the text in a rectangle.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2189
 *	Arguments: ctx - the text widget.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2190
 *                 rect - the rectangle to update.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2191
 *	Returns: none.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2192
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2193
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2194
static void
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2195
UpdateTextInRectangle(ctx, rect)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2196
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2197
XRectangle * rect;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2198
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2199
  XawTextLineTableEntry *info = ctx->text.lt.info;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2200
  int line, x = rect->x, y = rect->y;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2201
  int right = rect->width + x, bottom = rect->height + y;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2202
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2203
  for (line = 0;( (line < ctx->text.lt.lines) &&
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2204
		 IsValidLine(ctx, line) && (info->y < bottom)); line++, info++)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2205
    if ( (info + 1)->y >= y ) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2206
      UpdateTextInLine(ctx, line, x, right);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2207
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2208
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2209
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2210
 * This routine processes all "expose region" XEvents. In general, its job
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2211
 * is to the best job at minimal re-paint of the text, displayed in the
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2212
 * window, that it can.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2213
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2214
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2215
/* ARGSUSED */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2216
static void
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2217
ProcessExposeRegion(w, event, region)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2218
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2219
XEvent *event;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2220
Region region;			/* Unused. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2221
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2222
    TextWidget ctx = (TextWidget) w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2223
    XRectangle expose, cursor;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2224
    
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2225
    if (event->type == Expose) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2226
	expose.x = event->xexpose.x;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2227
	expose.y = event->xexpose.y;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2228
	expose.width = event->xexpose.width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2229
	expose.height = event->xexpose.height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2230
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2231
    else {  /* Graphics Expose. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2232
	expose.x = event->xgraphicsexpose.x;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2233
	expose.y = event->xgraphicsexpose.y;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2234
	expose.width = event->xgraphicsexpose.width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2235
	expose.height = event->xgraphicsexpose.height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2236
    }      
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2237
    
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2238
    _XawTextPrepareToUpdate(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2239
    UpdateTextInRectangle(ctx, &expose);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2240
    XawTextSinkGetCursorBounds(ctx->text.sink, &cursor);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2241
    if (RectanglesOverlap(&cursor, &expose)) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2242
	SinkClearToBG(ctx->text.sink, (Position) cursor.x, (Position) cursor.y,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2243
		      (Dimension) cursor.width, (Dimension) cursor.height);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2244
	UpdateTextInRectangle(ctx, &cursor);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2245
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2246
    _XawTextExecuteUpdate(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2247
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2248
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2249
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2250
 * This routine does all setup required to syncronize batched screen updates
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2251
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2252
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2253
void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2254
_XawTextPrepareToUpdate(ctx)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2255
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2256
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2257
  if (ctx->text.old_insert < 0) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2258
    InsertCursor((Widget)ctx, XawisOff);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2259
    ctx->text.numranges = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2260
    ctx->text.showposition = FALSE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2261
    ctx->text.old_insert = ctx->text.insertPos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2262
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2263
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2264
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2265
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2266
 * This is a private utility routine used by _XawTextExecuteUpdate. It
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2267
 * processes all the outstanding update requests and merges update
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2268
 * ranges where possible.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2269
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2270
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2271
static 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2272
void FlushUpdate(ctx)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2273
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2274
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2275
  int i, w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2276
  XawTextPosition updateFrom, updateTo;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2277
  if (!XtIsRealized((Widget)ctx)) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2278
    ctx->text.numranges = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2279
    return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2280
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2281
  while (ctx->text.numranges > 0) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2282
    updateFrom = ctx->text.updateFrom[0];
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2283
    w = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2284
    for (i = 1 ; i < ctx->text.numranges ; i++) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2285
      if (ctx->text.updateFrom[i] < updateFrom) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2286
	updateFrom = ctx->text.updateFrom[i];
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2287
	w = i;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2288
      }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2289
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2290
    updateTo = ctx->text.updateTo[w];
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2291
    ctx->text.numranges--;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2292
    ctx->text.updateFrom[w] = ctx->text.updateFrom[ctx->text.numranges];
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2293
    ctx->text.updateTo[w] = ctx->text.updateTo[ctx->text.numranges];
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2294
    for (i = ctx->text.numranges - 1 ; i >= 0 ; i--) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2295
      while (ctx->text.updateFrom[i] <= updateTo && i < ctx->text.numranges) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2296
	updateTo = ctx->text.updateTo[i];
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2297
	ctx->text.numranges--;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2298
	ctx->text.updateFrom[i] = ctx->text.updateFrom[ctx->text.numranges];
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2299
	ctx->text.updateTo[i] = ctx->text.updateTo[ctx->text.numranges];
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2300
      }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2301
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2302
    DisplayText((Widget)ctx, updateFrom, updateTo);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2303
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2304
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2305
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2306
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2307
 * This is a private utility routine used by _XawTextExecuteUpdate. This
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2308
 * routine worries about edits causing new data or the insertion point becoming
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2309
 * invisible (off the screen, or under the horiz. scrollbar). Currently 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2310
 * it always makes it visible by scrolling. It probably needs 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2311
 * generalization to allow more options.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2312
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2313
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2314
void _XawTextShowPosition(ctx)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2315
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2316
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2317
  int x, y, number, lines;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2318
  XawTextPosition max_pos, top, first, second;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2319
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2320
  if ( (!XtIsRealized((Widget)ctx)) || (ctx->text.lt.lines <= 0) )
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2321
    return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2322
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2323
#ifdef notdef
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2324
  lines = ctx->text.lt.lines;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2325
  if ( IsValidLine(ctx, lines)) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2326
    max_pos = ctx->text.lt.info[lines].position;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2327
  else
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2328
    max_pos = ctx->text.lastPos + 1;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2329
#else				/* Using this code now... */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2330
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2331
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2332
 * Find out the bottom the visable window, and make sure that the
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2333
 * cursor does not go past the end of this space.  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2334
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2335
 * This makes sure that the cursor does not go past the end of the 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2336
 * visable window. 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2337
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2338
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2339
  x = ctx->text.margin.left;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2340
  y = ctx->core.height - ctx->text.margin.left;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2341
  if (ctx->text.hbar != NULL)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2342
    y -= ctx->text.hbar->core.height - 2 * ctx->text.hbar->core.border_width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2343
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2344
  max_pos = PositionForXY (ctx, x, y);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2345
  max_pos = SrcScan(ctx->text.source, max_pos, XawstEOL, XawsdRight, 1, FALSE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2346
  max_pos++;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2347
  lines = LineForPosition(ctx, max_pos); /* number of visable lines. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2348
#endif
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2349
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2350
  if ( (ctx->text.insertPos >= ctx->text.lt.top) &&
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2351
       ((ctx->text.insertPos < max_pos) || ( max_pos > ctx->text.lastPos)) ) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2352
    return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2353
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2354
  first = ctx->text.lt.top;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2355
  if (IsValidLine(ctx, 1))
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2356
    second = ctx->text.lt.info[1].position;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2357
  else
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2358
    second = max_pos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2359
      
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2360
  if (ctx->text.insertPos < first)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2361
    number = 1;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2362
  else
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2363
    number = lines;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2364
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2365
  top = SrcScan(ctx->text.source, ctx->text.insertPos,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2366
		XawstEOL, XawsdLeft, number, FALSE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2367
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2368
  _XawTextBuildLineTable(ctx, top, FALSE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2369
  while (ctx->text.insertPos >= ctx->text.lt.info[lines].position) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2370
    if (ctx->text.lt.info[lines].position > ctx->text.lastPos)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2371
      break; 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2372
    _XawTextBuildLineTable(ctx, ctx->text.lt.info[1].position, FALSE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2373
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2374
  if (ctx->text.lt.top == second) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2375
    _XawTextBuildLineTable(ctx, first, FALSE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2376
    _XawTextVScroll(ctx, 1);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2377
  } else if (ctx->text.lt.info[1].position == first) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2378
    _XawTextBuildLineTable(ctx, first, FALSE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2379
    _XawTextVScroll(ctx, -1);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2380
  } else {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2381
    ctx->text.numranges = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2382
    if (ctx->text.lt.top != first)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2383
      DisplayTextWindow((Widget)ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2384
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2385
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2386
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2387
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2388
 * This routine causes all batched screen updates to be performed
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2389
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2390
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2391
void
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2392
_XawTextExecuteUpdate(ctx)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2393
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2394
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2395
  if ( ctx->text.update_disabled || (ctx->text.old_insert < 0) ) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2396
    return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2397
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2398
  if((ctx->text.old_insert != ctx->text.insertPos) || (ctx->text.showposition))
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2399
    _XawTextShowPosition(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2400
  FlushUpdate(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2401
  InsertCursor((Widget)ctx, XawisOn);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2402
  ctx->text.old_insert = -1;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2403
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2404
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2405
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2406
static void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2407
TextDestroy(w)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2408
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2409
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2410
  TextWidget ctx = (TextWidget)w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2411
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2412
  if (ctx->text.file_insert != NULL)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2413
    XtDestroyWidget(ctx->text.file_insert);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2414
 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2415
  DestroyHScrollBar(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2416
  DestroyVScrollBar(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2417
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2418
  XtFree((char *)ctx->text.updateFrom);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2419
  XtFree((char *)ctx->text.updateTo);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2420
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2421
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2422
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2423
 * by the time we are managed (and get this far) we had better
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2424
 * have both a source and a sink 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2425
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2426
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2427
static void
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2428
Resize(w)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2429
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2430
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2431
  TextWidget ctx = (TextWidget) w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2432
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2433
  PositionVScrollBar(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2434
  PositionHScrollBar(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2435
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2436
  _XawTextBuildLineTable(ctx, ctx->text.lt.top, TRUE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2437
  _XawTextSetScrollBars(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2438
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2439
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2440
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2441
 * This routine allow the application program to Set attributes.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2442
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2443
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2444
/*ARGSUSED*/
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2445
static Boolean 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2446
SetValues(current, request, new, args, num_args)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2447
Widget current, request, new;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2448
ArgList args;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2449
Cardinal *num_args;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2450
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2451
  TextWidget oldtw = (TextWidget) current;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2452
  TextWidget newtw = (TextWidget) new;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2453
  Boolean    redisplay = FALSE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2454
  Boolean    display_caret = newtw->text.display_caret;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2455
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2456
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2457
#ifdef XAW_BC
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2458
/*******************************
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2459
 * For Compatability.          */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2460
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2461
  if (newtw->text.options != oldtw->text.options)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2462
    XawTextChangeOptions((Widget) newtw, newtw->text.options);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2463
/*******************************/
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2464
#endif /* XAW_BC */  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2465
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2466
  newtw->text.display_caret = oldtw->text.display_caret;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2467
  _XawTextPrepareToUpdate(newtw);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2468
  newtw->text.display_caret = display_caret;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2469
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2470
  if (oldtw->text.r_margin.left != newtw->text.r_margin.left) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2471
    newtw->text.margin.left = newtw->text.r_margin.left;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2472
    if (newtw->text.vbar != NULL)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2473
      newtw->text.margin.left += newtw->text.vbar->core.width +
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2474
	                         newtw->text.vbar->core.border_width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2475
    redisplay = TRUE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2476
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2477
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2478
  if (oldtw->text.scroll_vert != newtw->text.scroll_vert) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2479
    if (newtw->text.scroll_vert == XawtextScrollNever) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2480
      DestroyVScrollBar(newtw);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2481
    else if (newtw->text.scroll_vert == XawtextScrollAlways)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2482
      CreateVScrollBar(newtw);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2483
    redisplay = TRUE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2484
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2485
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2486
  if (oldtw->text.r_margin.bottom != newtw->text.r_margin.bottom) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2487
    newtw->text.margin.bottom = newtw->text.r_margin.bottom;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2488
    if (newtw->text.hbar != NULL)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2489
      newtw->text.margin.bottom += newtw->text.hbar->core.height +
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2490
	                           newtw->text.hbar->core.border_width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2491
    redisplay = TRUE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2492
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2493
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2494
  if (oldtw->text.scroll_horiz != newtw->text.scroll_horiz) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2495
    if (newtw->text.scroll_horiz == XawtextScrollNever) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2496
      DestroyHScrollBar(newtw);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2497
    else if (newtw->text.scroll_horiz == XawtextScrollAlways)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2498
      CreateHScrollBar(newtw);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2499
    redisplay = TRUE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2500
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2501
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2502
  if ( oldtw->text.source != newtw->text.source )
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2503
    XawTextSetSource( (Widget) newtw, newtw->text.source, newtw->text.lt.top);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2504
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2505
  newtw->text.redisplay_needed = False;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2506
  XtSetValues( (Widget)newtw->text.source, args, *num_args );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2507
  XtSetValues( (Widget)newtw->text.sink, args, *num_args );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2508
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2509
  if ( oldtw->text.wrap != newtw->text.wrap ||
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2510
       oldtw->text.lt.top != newtw->text.lt.top ||
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2511
       oldtw->text.r_margin.right != newtw->text.r_margin.right ||
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2512
       oldtw->text.r_margin.top != newtw->text.r_margin.top ||
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2513
       oldtw->text.sink != newtw->text.sink ||
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2514
       newtw->text.redisplay_needed )
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2515
  {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2516
    _XawTextBuildLineTable(newtw, newtw->text.lt.top, TRUE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2517
    redisplay = TRUE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2518
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2519
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2520
  if (oldtw->text.insertPos != newtw->text.insertPos)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2521
    newtw->text.showposition = TRUE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2522
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2523
  _XawTextExecuteUpdate(newtw);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2524
  if (redisplay)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2525
    _XawTextSetScrollBars(newtw);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2526
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2527
  return redisplay;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2528
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2529
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2530
/*	Function Name: GetValuesHook
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2531
 *	Description: This is a get values hook routine that gets the
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2532
 *                   values in the text source and sink.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2533
 *	Arguments: w - the Text Widget.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2534
 *                 args - the argument list.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2535
 *                 num_args - the number of args.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2536
 *	Returns: none.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2537
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2538
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2539
static void
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2540
GetValuesHook(w, args, num_args)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2541
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2542
ArgList args;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2543
Cardinal * num_args;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2544
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2545
  XtGetValues( ((TextWidget) w)->text.source, args, *num_args );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2546
  XtGetValues( ((TextWidget) w)->text.sink, args, *num_args );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2547
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2548
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2549
/*	Function Name: FindGoodPosition
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2550
 *	Description: Returns a valid position given any postition
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2551
 *	Arguments: pos - any position.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2552
 *	Returns: a position between (0 and lastPos);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2553
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2554
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2555
static XawTextPosition
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2556
FindGoodPosition(ctx, pos)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2557
TextWidget ctx;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2558
XawTextPosition pos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2559
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2560
  if (pos < 0) return(0);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2561
  return ( ((pos > ctx->text.lastPos) ? ctx->text.lastPos : pos) );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2562
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2563
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2564
/*******************************************************************
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2565
The following routines provide procedural interfaces to Text window state
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2566
setting and getting. They need to be redone so than the args code can use
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2567
them. I suggest we create a complete set that takes the context as an
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2568
argument and then have the public version lookp the context and call the
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2569
internal one. The major value of this set is that they have actual application
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2570
clients and therefore the functionality provided is required for any future
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2571
version of Text.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2572
********************************************************************/
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2573
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2574
void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2575
XawTextDisplay (w)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2576
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2577
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2578
  if (!XtIsRealized(w)) return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2579
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2580
  _XawTextPrepareToUpdate( (TextWidget) w);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2581
  DisplayTextWindow(w);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2582
  _XawTextExecuteUpdate( (TextWidget) w);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2583
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2584
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2585
void
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2586
XawTextSetSelectionArray(w, sarray)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2587
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2588
XawTextSelectType *sarray;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2589
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2590
  ((TextWidget)w)->text.sarray = sarray;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2591
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2592
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2593
void
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2594
XawTextGetSelectionPos(w, left, right)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2595
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2596
XawTextPosition *left, *right;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2597
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2598
  *left = ((TextWidget) w)->text.s.left;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2599
  *right = ((TextWidget) w)->text.s.right;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2600
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2601
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2602
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2603
void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2604
XawTextSetSource(w, source, startPos)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2605
Widget w, source;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2606
XawTextPosition startPos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2607
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2608
  TextWidget ctx = (TextWidget) w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2609
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2610
  ctx->text.source = source;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2611
  ctx->text.lt.top = startPos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2612
  ctx->text.s.left = ctx->text.s.right = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2613
  ctx->text.insertPos = startPos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2614
  ctx->text.lastPos = GETLASTPOS;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2615
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2616
  _XawTextBuildLineTable(ctx, ctx->text.lt.top, TRUE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2617
  XawTextDisplay(w);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2618
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2619
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2620
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2621
 * This public routine deletes the text from startPos to endPos in a source and
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2622
 * then inserts, at startPos, the text that was passed. As a side effect it
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2623
 * "invalidates" that portion of the displayed text (if any), so that things
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2624
 * will be repainted properly.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2625
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2626
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2627
int 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2628
XawTextReplace(w, startPos, endPos, text)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2629
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2630
XawTextPosition  startPos, endPos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2631
XawTextBlock *text;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2632
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2633
  TextWidget ctx = (TextWidget) w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2634
  int result;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2635
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2636
  _XawTextPrepareToUpdate(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2637
  endPos = FindGoodPosition(ctx, endPos);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2638
  startPos = FindGoodPosition(ctx, startPos);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2639
  if ((result = _XawTextReplace(ctx, startPos, endPos, text)) == XawEditDone) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2640
    int delta = text->length - (endPos - startPos);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2641
    if (ctx->text.insertPos >= (endPos + delta)) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2642
      XawTextScanDirection sd = (delta < 0) ? XawsdLeft : XawsdRight;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2643
      ctx->text.insertPos = SrcScan(ctx->text.source, ctx->text.insertPos,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2644
				    XawstPositions, sd, abs(delta), TRUE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2645
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2646
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2647
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2648
  _XawTextCheckResize(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2649
  _XawTextExecuteUpdate(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2650
  _XawTextSetScrollBars(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2651
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2652
  return result;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2653
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2654
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2655
XawTextPosition 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2656
XawTextTopPosition(w)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2657
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2658
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2659
  return( ((TextWidget) w)->text.lt.top );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2660
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2661
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2662
void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2663
XawTextSetInsertionPoint(w, position)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2664
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2665
XawTextPosition position;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2666
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2667
  TextWidget ctx = (TextWidget) w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2668
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2669
  _XawTextPrepareToUpdate(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2670
  ctx->text.insertPos = FindGoodPosition(ctx, position);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2671
  ctx->text.showposition = TRUE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2672
  _XawTextExecuteUpdate(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2673
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2674
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2675
XawTextPosition
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2676
XawTextGetInsertionPoint(w)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2677
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2678
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2679
  return( ((TextWidget) w)->text.insertPos);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2680
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2681
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2682
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2683
 * NOTE: Must walk the selection list in opposite order from LoseSelection.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2684
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2685
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2686
void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2687
XawTextUnsetSelection(w)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2688
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2689
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2690
  register TextWidget ctx = (TextWidget)w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2691
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2692
  while (ctx->text.s.atom_count != 0) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2693
    Atom sel = ctx->text.s.selections[ctx->text.s.atom_count - 1];
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2694
    if ( sel != (Atom) 0 ) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2695
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2696
 * As selections are lost the atom_count will decrement.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2697
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2698
      if (GetCutBufferNumber(sel) == NOT_A_CUT_BUFFER)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2699
	XtDisownSelection(w, sel, ctx->text.time);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2700
      LoseSelection(w, &sel); /* In case this is a cut buffer, or 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2701
				 XtDisownSelection failed to call us. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2702
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2703
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2704
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2705
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2706
#ifdef XAW_BC
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2707
void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2708
XawTextChangeOptions(w, options)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2709
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2710
int options;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2711
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2712
  TextWidget ctx = (TextWidget) w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2713
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2714
  ctx->text.options = options;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2715
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2716
  if (ctx->text.options & scrollVertical)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2717
    ctx->text.scroll_vert = XawtextScrollAlways;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2718
  else 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2719
    ctx->text.scroll_vert = XawtextScrollNever;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2720
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2721
  if (ctx->text.options & scrollHorizontal)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2722
    ctx->text.scroll_horiz = XawtextScrollAlways;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2723
  else 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2724
    ctx->text.scroll_horiz = XawtextScrollNever;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2725
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2726
  if (ctx->text.options & resizeWidth) /* Set up resize options. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2727
    if (ctx->text.options & resizeHeight)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2728
      ctx->text.resize = XawtextResizeBoth;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2729
    else
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2730
      ctx->text.resize = XawtextResizeWidth;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2731
  else if (ctx->text.options & resizeHeight)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2732
    ctx->text.resize = XawtextResizeHeight;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2733
  else
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2734
    ctx->text.resize = XawtextResizeNever;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2735
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2736
  if (ctx->text.options & wordBreak)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2737
    ctx->text.wrap = XawtextWrapWord;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2738
  else
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2739
    ctx->text.wrap = XawtextWrapNever;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2740
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2741
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2742
int 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2743
XawTextGetOptions(w)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2744
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2745
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2746
  return(((TextWidget) w)->text.options);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2747
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2748
#endif /* XAW_BC */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2749
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2750
void
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2751
XawTextSetSelection (w, left, right)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2752
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2753
XawTextPosition left, right;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2754
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2755
  TextWidget ctx = (TextWidget) w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2756
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2757
  _XawTextPrepareToUpdate(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2758
  _XawTextSetSelection(ctx, FindGoodPosition(ctx, left),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2759
		       FindGoodPosition(ctx, right), (String *)NULL, ZERO);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2760
  _XawTextExecuteUpdate(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2761
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2762
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2763
void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2764
XawTextInvalidate(w, from, to)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2765
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2766
XawTextPosition from,to;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2767
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2768
  TextWidget ctx = (TextWidget) w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2769
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2770
  from = FindGoodPosition(ctx, from);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2771
  to = FindGoodPosition(ctx, to);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2772
  ctx->text.lastPos = GETLASTPOS;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2773
  _XawTextPrepareToUpdate(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2774
  _XawTextNeedsUpdating(ctx, from, to);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2775
  _XawTextBuildLineTable(ctx, ctx->text.lt.top, TRUE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2776
  _XawTextExecuteUpdate(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2777
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2778
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2779
/*ARGSUSED*/
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2780
void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2781
XawTextDisableRedisplay(w)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2782
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2783
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2784
  ((TextWidget) w)->text.update_disabled = True;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2785
  _XawTextPrepareToUpdate( (TextWidget) w);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2786
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2787
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2788
void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2789
XawTextEnableRedisplay(w)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2790
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2791
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2792
  register TextWidget ctx = (TextWidget)w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2793
  XawTextPosition lastPos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2794
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2795
  if (!ctx->text.update_disabled) return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2796
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2797
  ctx->text.update_disabled = False;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2798
  lastPos = ctx->text.lastPos = GETLASTPOS;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2799
  ctx->text.lt.top = FindGoodPosition(ctx, ctx->text.lt.top);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2800
  ctx->text.insertPos = FindGoodPosition(ctx, ctx->text.insertPos);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2801
  if ( (ctx->text.s.left > lastPos) || (ctx->text.s.right > lastPos) ) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2802
    ctx->text.s.left = ctx->text.s.right = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2803
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2804
  _XawTextBuildLineTable(ctx, ctx->text.lt.top, TRUE);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2805
  if (XtIsRealized(w))
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2806
    DisplayTextWindow(w);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2807
  _XawTextExecuteUpdate(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2808
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2809
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2810
Widget
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2811
XawTextGetSource(w)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2812
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2813
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2814
  return ((TextWidget)w)->text.source;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2815
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2816
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2817
void 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2818
XawTextDisplayCaret (w, display_caret)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2819
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2820
Boolean display_caret;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2821
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2822
  TextWidget ctx = (TextWidget) w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2823
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2824
  if (ctx->text.display_caret == display_caret) return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2825
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2826
  if (XtIsRealized(w)) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2827
    _XawTextPrepareToUpdate(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2828
    ctx->text.display_caret = display_caret;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2829
    _XawTextExecuteUpdate(ctx);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2830
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2831
  else
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2832
    ctx->text.display_caret = display_caret;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2833
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2834
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2835
/*	Function Name: XawTextSearch(w, dir, text).
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2836
 *	Description: searches for the given text block.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2837
 *	Arguments: w - The text widget.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2838
 *                 dir - The direction to search. 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2839
 *                 text - The text block containing info about the string
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2840
 *                        to search for.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2841
 *	Returns: The position of the text found, or XawTextSearchError on 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2842
 *               an error.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2843
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2844
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2845
XawTextPosition
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2846
XawTextSearch(w, dir, text) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2847
Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2848
XawTextScanDirection dir;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2849
XawTextBlock * text;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2850
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2851
  TextWidget ctx = (TextWidget) w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2852
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2853
  return(SrcSearch(ctx->text.source, ctx->text.insertPos, dir, text));
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2854
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2855
  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2856
TextClassRec textClassRec = {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2857
  { /* core fields */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2858
    /* superclass       */      (WidgetClass) &simpleClassRec,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2859
    /* class_name       */      "Text",
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2860
    /* widget_size      */      sizeof(TextRec),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2861
    /* class_initialize */      ClassInitialize,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2862
    /* class_part_init  */	NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2863
    /* class_inited     */      FALSE,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2864
    /* initialize       */      Initialize,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2865
    /* initialize_hook  */	NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2866
    /* realize          */      Realize,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2867
    /* actions          */      textActionsTable,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2868
    /* num_actions      */      0,                /* Set in ClassInitialize. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2869
    /* resources        */      resources,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2870
    /* num_ resource    */      XtNumber(resources),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2871
    /* xrm_class        */      NULLQUARK,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2872
    /* compress_motion  */      TRUE,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2873
    /* compress_exposure*/      XtExposeGraphicsExpose,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2874
    /* compress_enterleave*/	TRUE,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2875
    /* visible_interest */      FALSE,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2876
    /* destroy          */      TextDestroy,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2877
    /* resize           */      Resize,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2878
    /* expose           */      ProcessExposeRegion,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2879
    /* set_values       */      SetValues,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2880
    /* set_values_hook  */	NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2881
    /* set_values_almost*/	XtInheritSetValuesAlmost,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2882
    /* get_values_hook  */	GetValuesHook,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2883
    /* accept_focus     */      NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2884
    /* version          */	XtVersion,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2885
    /* callback_private */      NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2886
    /* tm_table         */      NULL,    /* set in ClassInitialize */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2887
    /* query_geometry   */	XtInheritQueryGeometry,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2888
    /* display_accelerator*/	XtInheritDisplayAccelerator,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2889
    /* extension	*/	NULL
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2890
  },
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2891
  { /* Simple fields */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2892
    /* change_sensitive	*/	XtInheritChangeSensitive
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2893
  },
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2894
  { /* text fields */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2895
    /* empty            */	0
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2896
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2897
};
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2898
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
  2899
WidgetClass textWidgetClass = (WidgetClass)&textClassRec;