1/*
2 * Author:      William Chia-Wei Cheng (bill.cheng@acm.org)
3 *
4 * Copyright (C) 2001-2009, William Chia-Wei Cheng.
5 *
6 * This file may be distributed under the terms of the Q Public License
7 * as defined by Trolltech AS of Norway and appearing in the file
8 * LICENSE.QPL included in the packaging of this file.
9 *
10 * THIS FILE IS PROVIDED AS IS WITH NO WARRANTY OF ANY KIND, INCLUDING
11 * THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
12 * PURPOSE.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL,
13 * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
14 * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
15 * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
16 * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 *
18 * @(#)$Header: /mm2/home/cvs/bc-src/tgif/tdgtsedt.e,v 1.6 2011/05/16 16:22:00 william Exp $
19 */
20
21#ifndef _TDGTSEDT_E_
22#define _TDGTSEDT_E_
23
24#include "tidget.h"
25
26#define TDGTSEDT_DEF_H_PAD 2
27#define TDGTSEDT_DEF_V_PAD 1
28
29/*
30 * A simple edit tidget is left-justitified, single-line, and single-color.
31 */
32typedef struct tagTdgtSmplEdit {
33   TidgetInfo *pti;
34
35   SimpleWinInfo client_area;
36
37   int font_style; /* can be STYLE_NR, STYLE_BR, STYLE_NI, or STYLE_BI */
38   int color_index;
39   char color_str[40];
40
41   int cursor_shown;
42
43   int w, h, min_lbearing, max_rextra, x_start;
44
45   Pixmap text_pixmap;
46} TdgtSmplEdit;
47
48#ifdef _INCLUDE_FROM_TDGTSEDT_C_
49#undef extern
50#define extern
51#endif /*_INCLUDE_FROM_TDGTSEDT_C_*/
52
53extern void	TdgtSmplEditReset ARGS_DECL((TdgtSmplEdit*));
54extern TdgtSmplEdit	*CreateTdgtSmplEdit ARGS_DECL((Window parent_win,
55				TidgetInfo *parent_tidgetinfo, int ctl_id,
56				int x, int y, int w, int h_pad, int v_pad,
57				char *caption, int font_style,
58				int color_index));
59
60extern int	TdgtSmplEditSetText ARGS_DECL((TdgtSmplEdit*, char *str));
61extern char	*TdgtSmplEditGetText ARGS_DECL((TdgtSmplEdit*));
62extern void	TdgtSmplEditGetTextFormatInfo ARGS_DECL((TdgtSmplEdit*,
63				TextFormatInfo*));
64extern int	TdgtSmplEditSetColorIndex ARGS_DECL((TdgtSmplEdit*, int));
65extern int	TdgtSmplEditGetColorIndex ARGS_DECL((TdgtSmplEdit*));
66extern int	TdgtSmplEditSetFontStyle ARGS_DECL((TdgtSmplEdit*, int));
67extern int	TdgtSmplEditGetFontStyle ARGS_DECL((TdgtSmplEdit*));
68
69extern int	TdgtSmplEditAppendStr ARGS_DECL((TdgtSmplEdit*, char *str,
70				int len));
71extern int	TdgtSmplEditDelLastChar ARGS_DECL((TdgtSmplEdit*));
72
73extern void	TdgtSmplEditSetFocus ARGS_DECL((TdgtSmplEdit*, int nSet));
74
75extern int	InitTdgtSmplEdit ARGS_DECL((void));
76extern void	CleanUpTdgtSmplEdit ARGS_DECL((void));
77
78#ifdef _INCLUDE_FROM_TDGTSEDT_C_
79#undef extern
80#ifndef _NO_RECURSIVE_EXTERN
81#define extern extern
82#endif /* ~_NO_RECURSIVE_EXTERN */
83#endif /*_INCLUDE_FROM_TDGTSEDT_C_*/
84
85#endif /*_TDGTSEDT_E_*/
86