selection.h
4.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
/*
* "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
* (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
* aplicativos mainframe. Registro no INPI sob o nome G3270.
*
* Copyright (C) <2008> <Banco do Brasil S.A.>
*
* Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
* os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
* Free Software Foundation.
*
* Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
* GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
* A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
* obter mais detalhes.
*
* Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
* programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
* St, Fifth Floor, Boston, MA 02110-1301 USA
*
* Este programa está nomeado como selection.h e possui - linhas de código.
*
* Contatos:
*
* perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
* erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
* licinio@bb.com.br (Licínio Luis Branco)
* kraucer@bb.com.br (Kraucer Fernandes Mazuco)
*
*/
#ifndef LIB3270_SELECTION_H_INCLUDED
#define LIB3270_SELECTION_H_INCLUDED 1
LIB3270_EXPORT void lib3270_clear_selection(H3270 *session);
LIB3270_EXPORT void lib3270_select_to(H3270 *session, int baddr);
LIB3270_EXPORT int lib3270_select_word_at(H3270 *session, int baddr);
LIB3270_EXPORT int lib3270_select_field_at(H3270 *session, int baddr);
/**
* "Paste" supplied string.
*
* @param h Session handle.
* @param str String to paste.
*
* @see lib3270_pastenext.
*
* @return Non 0 if there's more to paste with lib3270_pastenext
*
*/
LIB3270_EXPORT int lib3270_paste(H3270 *h, const unsigned char *str);
/**
* Paste remaining string.
*
* @param h Session handle.
*
* @see lib3270_paste.
*
* @return Non 0 if there's more to paste.
*
*/
LIB3270_EXPORT int lib3270_pastenext(H3270 *h);
/**
* Move selected box 1 char in the selected direction.
*
* @param h Session handle.
* @param dir Direction to move
*
* @return 0 if the movement can be done, non zero if failed.
*/
LIB3270_EXPORT int lib3270_move_selection(H3270 *h, LIB3270_DIRECTION dir);
/**
* Move selected box.
*
* @param h Session handle.
* @param from Address of origin position inside the selected buffer.
* @param to Address of the new origin position.
*
* @return The new origin position.
*
*/
LIB3270_EXPORT int lib3270_move_selected_area(H3270 *h, int from, int to);
/**
* Drag selected region.
*
* Move or resize selected box according to the selection flags.
*
* @param h Session handle.
* @param flag Selection flag.
* @param origin Reference position (got from mouse button down or other move action).
* @param baddr New position.
*
* @return The new reference position.
*
*/
LIB3270_EXPORT int lib3270_drag_selection(H3270 *h, unsigned char flag, int origin, int baddr);
/**
* Gets the selected range of characters in the screen
*
* @param h Session handle.
* @param start return location for start of selection, as a character offset.
* @param end return location for end of selection, as a character offset.
*
* @return Non 0 if selection is non-empty
*
*/
LIB3270_EXPORT int lib3270_get_selection_bounds(H3270 *hSession, int *start, int *end);
/**
* Get bitmasked flag for the current selection.
*
* Calculate flags to help drawing of the correct mouse pointer over a selection.
*
* @param h Session handle.
* @param baddr Position.
*
* @return bitmask for mouse pointer.
*/
LIB3270_EXPORT unsigned char lib3270_get_selection_flags(H3270 *h, int baddr);
/**
* Get a string from required region.
*
* @param h Session handle.
* @param start_pos First char to get.
* @param end_pos Last char to get.
* @param all zero to get only selected chars.
*
* @return String with selected region (release it with free()
*
*/
LIB3270_EXPORT char * lib3270_get_region(H3270 *h, int start_pos, int end_pos, unsigned char all);
/**
* Selects a range of characters in the screen.
*
* @param h Session handle.
* @param start_offset Start offset.
* @param end_offset : End offset.
*
*/
LIB3270_EXPORT void lib3270_select_region(H3270 *h, int start, int end);
#endif // LIB3270_SELECTION_H_INCLUDED