FreeCalypso > hg > fc-magnetite
annotate src/ui3/atb/ATBEditor.c @ 640:16eb1b9640dc
target gtm900 renamed to gtm900mgc2
This change reflects the fact that the build target in question supports
MGC2GSMT hardware only, and will NOT work on other hw that confusing bears
the same end user name of GTM900, neither the LoCosto-based GTM900-C
nor the Calypso-based MG01GSMT that has a different and incompatible RFFE.
If we ever get our hands on a piece of MG01GSMT hw and add support for it,
that other target will be named gtm900mg01.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 31 Jan 2020 00:46:07 +0000 |
parents | e8ddbb0837ed |
children |
rev | line source |
---|---|
420
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 CONDAT (UK) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 ******************************************************************************** |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 This software product is the property of Condat (UK) Ltd and may not be |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 disclosed to any third party without the express permission of the owner. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 ******************************************************************************** |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 $Project name: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 $Project code: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 $Module: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 $File: ATBEditor.c |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 $Revision: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 $Author: SH - Condat(UK) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 $Date: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 ******************************************************************************** |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 Description: ATB Editor component. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 ******************************************************************************** |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 $History: ATBEditor.c |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 Mar 31, 2008 DR:OMAPS00164541 - x0082844 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 Description: OTA ATT - GSM-BTR-1-5618 - MS wrongly displays long number stored in ADN |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 Solution:No need to check for the current chararcter, if its a space. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 Feb 02, 2006 DR: OMAPS00061468 - x0035544. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 Description: SAT 27.22.4.22.2 SET UP IDLE MODE TEXT (Icon support) fails |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 Solution : Modifications for displaying idle mode text and icon are done in |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 ATB_edit_OutTextLines. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 Jan 16, 2006 DR: OMAPS00061460 - Shashi Shekar B.S. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 Description: SAT Icon support |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 Solution : Modifications done in ATB_edit_OutTextLines |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 for display of the title icon. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 CRR:25542 - xpradipg - 26 Oct 2004 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 Description: The last character is not deleted from the text entry screen in |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 any WAP page. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 Solution: The formatIndex was set to zero on reaching the last character which |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 skips the removal of the last character. This assignment is moved out. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 Jul 22,2004 CRR:21605 xrashmic - SASKEN |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 Description: After deleting all the characters in the editor the case does not change to |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 sentence case. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 Fix: After deleting a character, check if editor is empty and then set the case to |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 sentence case only if the user has not modified the case. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 $End |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 #ifndef ATB_EDITOR_C |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 #define ATB_EDITOR_C |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 #if defined (NEW_FRAME) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 #include "typedefs.h" |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 #include "vsi.h" |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 #include "pei.h" |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 #include "custom.h" |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 #include "gsm.h" |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 #else |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 #include "STDDEFS.H" |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 #include "custom.h" |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 #include "gsm.h" |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 #include "vsi.h" |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 #endif |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 #include <stdio.h> |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 #include <string.h> |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 #include <math.h> |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 #include "dspl.h" |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 #include "ATBCommon.h" |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 #include "ATBDisplay.h" |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 #include "ATBEditor.h" |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 #include "font_bitmaps.h" |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 #include "cus_aci.h" |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 #include "prim.h" |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 #include "pcm.h" |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 #undef TRACE_ATBEDITOR |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 extern UBYTE CaseChanged; // SPR 21605 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 // Shashi Shekar B.S., a0876501, Jan 16, 2006, DR: OMAPS00061460 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 #ifdef FF_MMI_SAT_ICON |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 const unsigned char SATIconQuestionMark[] = |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 0x25,0x25,0x00,0x00,0x00,0x00,0x25,0x25, |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 0x25,0x00,0xE0,0xE0,0xE0,0xE0,0x00,0x25, |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 0x00,0xE0,0xE0,0xFF,0xFF,0xE0,0xE0,0x00, |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 0x00,0xE0,0xFF,0xE0,0xE0,0xFF,0xE0,0x00, |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 0x00,0xE0,0xE0,0xE0,0xE0,0xFF,0xE0,0x00, |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 0x00,0xE0,0xE0,0xFF,0xFF,0xE0,0xE0,0x00, |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 0x00,0xE0,0xE0,0xFF,0xE0,0xE0,0xE0,0x00, |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 0x00,0xE0,0xE0,0xFF,0xE0,0xE0,0xE0,0x00, |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 0x25,0x00,0xE0,0xE0,0xE0,0xE0,0x00,0x25, |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 0x25,0x25,0x00,0x00,0x00,0x00,0x25,0x25, |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 }; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 #endif |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 LOCAL FUNCTION PROTOTYPES |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 /* SPR#1983 - SH - Add 'text' parameter */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 static int ATB_edit_Insert (T_ED_DATA *editor, T_ATB_TEXT *text, USHORT character); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 static void ATB_edit_FindNext(T_ED_DATA *editor); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 static USHORT ATB_edit_FindPrev(T_ED_DATA *editor); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 static void ATB_edit_OutTextLines (T_ED_DATA *editor); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 static void ATB_edit_WordWrap(T_ED_DATA *editor); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 static void ATB_edit_UpdateCursorPos(T_ED_DATA *editor); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 static ED_RES ATB_edit_Update (T_ED_DATA *editor, int dy); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 static void ATB_edit_LineDestroyAll(T_ED_DATA *editor); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 $Function: ATB_edit_Create |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 $Description: Create the editor. Allocate memory for the editor data and set up |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 some default parameters. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 $Returns: Pointer to the editor data, or NULL if memory allocation failed. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142 $Arguments: editAttr - The editor attributes (caller allocated) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 callback - Callback function |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
145 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
147 T_ED_DATA* ATB_edit_Create (T_ED_ATTR *editAttr, T_ED_CB callback) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
148 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
149 T_ED_DATA *editor; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
150 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
151 TRACE_FUNCTION("ATB_edit_Create()"); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
152 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
153 /* Allocate memory for editor data */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
154 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
155 editor = (T_ED_DATA *) ATB_mem_Alloc(sizeof(T_ED_DATA)); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
156 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
157 if (!editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
158 return NULL; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
159 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
160 /* Reset editor data */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
161 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
162 memset(editor, 0, sizeof(T_ED_DATA)); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
163 editor->display = FALSE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
164 editor->handler = callback; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
165 editor->attr = editAttr; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
166 editor->cursor.width = 8; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
167 editor->initialised = FALSE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
168 editor->line = NULL; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
169 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
170 return editor; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
171 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
172 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
173 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
174 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
175 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
176 $Function: ATB_edit_Destroy |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
177 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
178 $Description: Delete the editor. Free the allocated memory. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
179 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
180 $Returns: ED_OK - OK |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
181 ED_BAD_HANDLE - Editor data is null pointer |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
182 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
183 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
184 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
185 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
186 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
187 ED_RES ATB_edit_Destroy (T_ED_DATA *editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
188 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
189 ED_RES result = ED_OK; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
190 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
191 TRACE_FUNCTION("ATB_edit_Destroy()"); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
192 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
193 if (editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
194 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
195 ATB_edit_LineDestroyAll(editor); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
196 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
197 if (editor->hiddenText) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
198 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
199 ATB_edit_HiddenExit(editor); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
200 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
201 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
202 ATB_mem_Free((void *)editor, sizeof(T_ED_DATA)); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
203 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
204 else |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
205 result = ED_BAD_HANDLE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
206 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
207 return result; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
208 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
209 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
210 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
211 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
212 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
213 $Function: ATB_edit_Init |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
214 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
215 $Description: Initialise the editor. Ensures that valid combinations of editing modes |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
216 are set. Sets uppercase/lowercase appropriately. Moves the cursor |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
217 to the correct place in the text. Performs a word-wrap. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
218 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
219 $Returns: ED_OK - OK |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
220 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
221 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
222 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
223 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
224 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
225 ED_RES ATB_edit_Init (T_ED_DATA *editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
226 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
227 TRACE_FUNCTION("ATB_edit_Init()"); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
228 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
229 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
230 if (!editor) /* If editor handle doesn't exist, return error */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
231 return ED_BAD_HANDLE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
232 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
233 /* Get the length of the supplied string */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
234 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
235 ATB_string_Length(&editor->attr->text); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
236 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
237 /* SPR#1983 - SH - Set CAPS preference after moving cursor, |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
238 * as any cursor moves now reset CAPS to LOWER case. */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
239 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
240 ATB_edit_SetCase(editor, ED_CASE_LOWER); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
241 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
242 /* Non read-only modes*/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
243 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
244 if (!ATB_edit_Mode(editor, ED_MODE_READONLY)) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
245 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
246 /* Initialise hidden mode */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
247 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
248 if (ATB_edit_Mode(editor, ED_MODE_HIDDEN)) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
249 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
250 ATB_edit_HiddenInit(editor); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
251 ATB_edit_SetMode(editor, ED_MODE_OVERWRITE); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
252 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
253 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
254 /* Initialise formatted mode */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
255 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
256 if (ATB_edit_Mode(editor, ED_MODE_FORMATTED)) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
257 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
258 ATB_edit_SetMode(editor, ED_MODE_OVERWRITE | ED_MODE_ALPHA); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
259 ATB_edit_MoveCursor(editor,ctrlTop,FALSE); /* Send cursor to start of string */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
260 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
261 /* Check for "M" & "m" formats; these set the case to upper/lower by default. */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
262 /* SPR#1983 - SH - Also, overwrite mode can be switched off for these |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
263 * cases, free entry allowed.*/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
264 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
265 ATB_edit_SetCase(editor, ED_CASE_CAPS); /* Caps is on by default */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
266 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
267 if (strcmp(editor->attr->FormatString, "*M")==0) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
268 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
269 ATB_edit_SetCase(editor, ED_CASE_UPPER); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
270 ATB_edit_ResetMode(editor, ED_MODE_OVERWRITE); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
271 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
272 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
273 if (strcmp(editor->attr->FormatString, "*m")==0) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
274 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
275 ATB_edit_SetCase(editor, ED_CASE_LOWER); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
276 ATB_edit_ResetMode(editor, ED_MODE_OVERWRITE); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
277 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
278 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
279 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
280 /* Of the cursor modes, only formatted starts at the top, others start at the bottom */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
281 else |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
282 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
283 ATB_edit_MoveCursor(editor, ctrlBottom, FALSE); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
284 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
285 /* SPR#1983 - SH - If the buffer is empty, first character will be capitalised. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
286 * Otherwise, lowercase is the default. */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
287 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
288 if (editor->attr->text.len==0) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
289 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
290 ATB_edit_SetCase(editor, ED_CASE_CAPS); /* Caps is on if first character */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
291 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
292 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
293 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
294 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
295 /* No cursor modes */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
296 else |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
297 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
298 ATB_edit_MoveCursor(editor, ctrlTop, FALSE); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
299 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
300 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
301 /* Format text */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
302 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
303 ATB_edit_Update(editor, 0); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
304 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
305 /* Make editor visible */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
306 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
307 editor->display = TRUE; /* really show it */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
308 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
309 return ED_OK; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
310 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
311 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
312 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
313 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
314 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
315 $Function: ATB_edit_Reset |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
316 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
317 $Description: Reset the editor - move the cursor to the start. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
318 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
319 $Returns: ED_BAD_HANDLE - Editor data pointer is null |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
320 ED_OK - OK |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
321 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
322 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
323 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
324 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
325 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
326 ED_RES ATB_edit_Reset (T_ED_DATA *editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
327 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
328 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
329 TRACE_FUNCTION("ATB_edit_Reset()"); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
330 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
331 if (!editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
332 return ED_BAD_HANDLE; /* Editor does not exist */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
333 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
334 editor->cursor.pos = 0; /* Reset cursor position */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
335 editor->initialised = FALSE; /* Fully wrap all of text */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
336 ATB_edit_Refresh(editor); /* Refresh word wrap */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
337 return ED_OK; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
338 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
339 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
340 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
341 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
342 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
343 $Function: ATB_edit_Show |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
344 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
345 $Description: Show the editor, if it is visible. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
346 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
347 $Returns: ED_OK - OK |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
348 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
349 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
350 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
351 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
352 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
353 ED_RES ATB_edit_Show (T_ED_DATA *editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
354 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
355 /* x0045876, 14-Aug-2006 (WR - integer conversion resulted in a change of sign) */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
356 UBYTE previousFont = (UBYTE) -1; // store previous font |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
357 USHORT editX = editor->attr->win_size.px; // pos. of left of edit window |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
358 USHORT editY = editor->attr->win_size.py; // pos. of top of edit window |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
359 USHORT editWidth = editor->attr->win_size.sx; // width of edit window |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
360 USHORT editHeight = editor->attr->win_size.sy; // height of edit window |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
361 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
362 TRACE_FUNCTION("ATB_edit_Show()"); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
363 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
364 if (!editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
365 return ED_BAD_HANDLE; // Editor doesn't exist |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
366 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
367 if (editor->display) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
368 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
369 resources_setColour(editor->attr->colour); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
370 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
371 if (editor->attr->font != (UBYTE) -1) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
372 previousFont = dspl_SelectFontbyID(editor->attr->font); // setup font |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
373 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
374 dspl_Clear(editX,editY,editX+editWidth-1,editY+editHeight-1); // Clear the editor window |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
375 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
376 ATB_edit_OutTextLines(editor); // Show text |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
377 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
378 /* Display cursor, if it's switched on and we're not in multitap */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
379 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
380 if (editor->attr->cursor!=ED_CURSOR_NONE && !editor->multitap) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
381 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
382 ATB_display_Cursor(&editor->attr->text, editor->cursor.pos, editor->attr->cursor, editX+editor->cursor.x,editY+editor->cursor.y, |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
383 editor->cursor.width,editor->cursor.height); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
384 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
385 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
386 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
387 if (previousFont != (UBYTE) -1) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
388 dspl_SelectFontbyID(previousFont); // Restore previous font |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
389 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
390 return ED_OK; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
391 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
392 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
393 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
394 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
395 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
396 $Function: ATB_edit_Refresh |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
397 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
398 $Description: Refresh the editor word wrap etc. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
399 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
400 $Returns: ED_OK - OK |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
401 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
402 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
403 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
404 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
405 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
406 ED_RES ATB_edit_Refresh (T_ED_DATA *editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
407 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
408 TRACE_FUNCTION("ATB_edit_Refresh()"); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
409 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
410 if (!editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
411 return ED_BAD_HANDLE; /* editor does not exist */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
412 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
413 /* Get the length of the supplied string */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
414 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
415 ATB_string_Length(&editor->attr->text); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
416 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
417 /* Update word wrap */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
418 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
419 ATB_edit_Update(editor, 0); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
420 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
421 return ED_OK; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
422 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
423 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
424 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
425 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
426 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
427 $Function: ATB_edit_Hide |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
428 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
429 $Description: Hide the editor |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
430 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
431 $Returns: ED_BAD_HANDLE - Editor data pointer is null |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
432 ED_OK - OK |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
433 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
434 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
435 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
436 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
437 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
438 ED_RES ATB_edit_Hide (T_ED_DATA *editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
439 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
440 TRACE_FUNCTION("ATB_edit_Hide()"); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
441 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
442 if (!editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
443 return ED_BAD_HANDLE; /* element does not exist */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
444 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
445 editor->display = FALSE; /* editor is not visible */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
446 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
447 if (editor->handler) /* call event handler */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
448 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
449 (void)(editor->handler(ED_INVISIBLE,editor));/*a0393213 lint warnings removal - void cast is done to avoid lint warning though the function returns int*/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
450 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
451 return ED_OK; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
452 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
453 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
454 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
455 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
456 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
457 $Function: ATB_edit_Unhide |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
458 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
459 $Description: Unhide the editor |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
460 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
461 $Returns: ED_BAD_HANDLE - Editor data pointer is null |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
462 ED_OK - OK |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
463 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
464 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
465 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
466 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
467 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
468 ED_RES ATB_edit_Unhide (T_ED_DATA *editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
469 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
470 TRACE_FUNCTION("ATB_edit_Unhide()"); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
471 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
472 if (!editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
473 return ED_BAD_HANDLE; /* element does not exist */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
474 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
475 editor->display = TRUE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
476 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
477 if (editor->handler) /* call event handler */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
478 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
479 (void)(editor->handler(ED_VISIBLE,editor));/*a0393213 lint warnings removal - void cast is done to avoid lint warning though the function returns int*/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
480 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
481 return ED_OK; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
482 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
483 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
484 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
485 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
486 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
487 $Function: ATB_edit_MoveCursor |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
488 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
489 $Description: Move the cursor |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
490 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
491 $Returns: ED_ERROR - Unexpected cursor movement |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
492 ED_OK - OK |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
493 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
494 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
495 character - The control character (ctrlLeft etc) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
496 update - TRUE if word wrap is to be carried out after move |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
497 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
498 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
499 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
500 ED_RES ATB_edit_MoveCursor (T_ED_DATA *editor, USHORT control, UBYTE update) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
501 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
502 USHORT altCursorPos; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
503 SHORT dy; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
504 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
505 TRACE_FUNCTION("ATB_edit_MoveCursor"); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
506 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
507 if (!editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
508 return ED_BAD_HANDLE; /* element does not exist */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
509 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
510 /* Can't move cursor in hidden mode, except to start and end */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
511 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
512 dy = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
513 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
514 switch(control) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
515 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
516 case ctrlLeft: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
517 if (!ATB_edit_Mode(editor, ED_MODE_READONLY)) /* Not in read only mode*/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
518 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
519 if (ATB_edit_Mode(editor, ED_MODE_FORMATTED)) /* formatted input */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
520 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
521 ATB_edit_FindPrev(editor); /* find previous non-fixed character */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
522 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
523 else |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
524 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
525 altCursorPos = editor->cursor.pos; /* Store original cursor position */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
526 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
527 editor->cursor.pos = ATB_string_IndexMove(&editor->attr->text, editor->cursor.pos, -1); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
528 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
529 if (editor->cursor.pos==altCursorPos) /* If we're at the start of text */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
530 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
531 ATB_edit_MoveCursor(editor, ctrlBottom, FALSE); /* .. then go to the end of text! */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
532 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
533 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
534 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
535 break; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
536 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
537 case ctrlRight: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
538 if (!ATB_edit_Mode(editor, ED_MODE_READONLY)) /* Not in read only mode*/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
539 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
540 if (ATB_edit_Mode(editor, ED_MODE_FORMATTED)) /* formatted input */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
541 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
542 ATB_edit_FindNext(editor); /* Move cursor forward once */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
543 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
544 else |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
545 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
546 altCursorPos = editor->cursor.pos; /* Store original cursor position */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
547 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
548 editor->cursor.pos = ATB_string_IndexMove(&editor->attr->text, editor->cursor.pos, 1); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
549 if (editor->cursor.pos==altCursorPos) /* If we're at the end of text */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
550 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
551 ATB_edit_MoveCursor(editor, ctrlTop, FALSE); /* .. then go to the start of text! */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
552 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
553 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
554 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
555 break; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
556 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
557 case ctrlUp: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
558 if (editor->cursor.line > 0) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
559 dy = -1; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
560 break; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
561 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
562 case ctrlDown: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
563 if (editor->cursor.line < (editor->numLines-1)) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
564 dy = 1; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
565 break; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
566 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
567 case ctrlTop: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
568 editor->cursor.pos = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
569 editor->initialised = FALSE; /* We need to recalculate whole editor */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
570 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
571 /* For formatted mode, skip over any fixed characters at the start */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
572 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
573 if (ATB_edit_Mode(editor, ED_MODE_FORMATTED)) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
574 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
575 editor->formatIndex = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
576 editor->fieldIndex = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
577 ATB_edit_FindNext(editor); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
578 ATB_edit_FindPrev(editor); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
579 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
580 break; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
581 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
582 case ctrlBottom: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
583 /* Search until we find end of text */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
584 while (ATB_string_GetChar(&editor->attr->text, editor->cursor.pos)!=UNICODE_EOLN) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
585 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
586 editor->cursor.pos++; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
587 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
588 editor->initialised = FALSE; /* We need to recalculate whole editor */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
589 break; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
590 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
591 default: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
592 TRACE_EVENT("** ERROR ** Unexpected cursor movement."); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
593 return ED_ERROR; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
594 /*break;*/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
595 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
596 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
597 /* SPR#1983 - SH - In caps mode, any keypress switches to lower case */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
598 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
599 if (editor->textcase==ED_CASE_CAPS) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
600 editor->textcase = ED_CASE_LOWER; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
601 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
602 if (update || dy!=0) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
603 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
604 ATB_edit_Update(editor, dy); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
605 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
606 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
607 return ED_OK; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
608 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
609 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
610 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
611 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
612 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
613 $Function: ATB_edit_DeleteLeft |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
614 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
615 $Description: Delete the character to the left of the cursor |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
616 SPR#2342 - SH - Added flag 'update' |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
617 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
618 $Returns: ED_OK - OK |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
619 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
620 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
621 update - TRUE if word wrap is to be carried out after deletion |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
622 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
623 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
624 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
625 ED_RES ATB_edit_DeleteLeft (T_ED_DATA *editor, UBYTE update) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
626 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
627 ED_RES result = ED_OK; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
628 USHORT altCursorPos; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
629 char formatchar; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
630 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
631 TRACE_FUNCTION("ATB_edit_DeleteLeft"); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
632 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
633 if (!editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
634 return ED_BAD_HANDLE; /* element does not exist */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
635 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
636 /* SPR#1983 - SH - Hidden text changes now mirror normal text changes. */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
637 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
638 /* Formatted mode */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
639 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
640 if (ATB_edit_Mode(editor, ED_MODE_FORMATTED)) /* Formatted input */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
641 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
642 if (ATB_edit_FindPrev(editor)!=FINDPREV_FIRST_CHAR) /* Skip over fixed characters */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
643 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
644 if (editor->formatIndex>0) /* So we don't look back beyond start of string */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
645 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
646 /* If we're in a delimited field, do normal delete, otherwise just cursor back */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
647 formatchar = editor->attr->FormatString[editor->formatIndex-1]; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
648 if ((formatchar>'0' && formatchar<='9') || formatchar=='*') /* If it's a number between 1 and 9, or a * */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
649 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
650 ATB_string_MoveLeft(&editor->attr->text, editor->cursor.pos, 1); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
651 if (ATB_edit_Mode(editor, ED_MODE_HIDDEN)) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
652 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
653 ATB_string_MoveLeft(editor->hiddenText, editor->cursor.pos, 1); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
654 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
655 //CRR:25546 - xpradipg - 26 Oct 2004 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
656 //the if block is moved out from the ATB_edit_FindPrev() |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
657 if (editor->fieldIndex==0) // If we've reached the beginning of the field |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
658 editor->formatIndex--; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
659 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
660 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
661 result = ED_OK; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
662 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
663 else |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
664 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
665 result = ED_DONE; /* Delete with empty buffer - escape from editor */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
666 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
667 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
668 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
669 /* Overwrite mode */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
670 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
671 else if (ATB_edit_Mode(editor, ED_MODE_OVERWRITE)) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
672 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
673 /* If we're at the end of the string, shift the '0' back */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
674 if (editor->cursor.pos>0) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
675 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
676 if (editor->cursor.pos == editor->attr->text.len) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
677 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
678 result = ATB_edit_MoveCursor(editor, ctrlLeft, FALSE); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
679 ATB_string_SetChar(&editor->attr->text, editor->cursor.pos, UNICODE_EOLN); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
680 editor->attr->text.len--; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
681 if (ATB_edit_Mode(editor, ED_MODE_HIDDEN)) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
682 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
683 ATB_string_SetChar(editor->hiddenText, editor->cursor.pos, UNICODE_EOLN); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
684 editor->hiddenText->len--; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
685 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
686 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
687 /* Otherwise, overwrite with a space */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
688 else |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
689 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
690 result = ATB_edit_MoveCursor(editor, ctrlLeft, FALSE); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
691 ATB_string_SetChar(&editor->attr->text, editor->cursor.pos, UNICODE_SPACE); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
692 if (ATB_edit_Mode(editor, ED_MODE_HIDDEN)) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
693 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
694 ATB_string_SetChar(editor->hiddenText, editor->cursor.pos, UNICODE_SPACE); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
695 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
696 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
697 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
698 else |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
699 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
700 result = ED_DONE; /* Delete with empty buffer - escape from editor */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
701 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
702 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
703 else |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
704 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
705 /* Otherwise, just perform normal delete operation */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
706 altCursorPos = ATB_string_IndexMove(&editor->attr->text, editor->cursor.pos,-1); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
707 if (altCursorPos!=editor->cursor.pos) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
708 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
709 ATB_string_MoveLeft(&editor->attr->text, altCursorPos, editor->cursor.pos-altCursorPos); // Delete the difference! |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
710 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
711 if (ATB_edit_Mode(editor, ED_MODE_HIDDEN)) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
712 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
713 ATB_string_MoveLeft(editor->hiddenText, altCursorPos, editor->cursor.pos-altCursorPos); // Delete the difference! |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
714 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
715 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
716 editor->cursor.pos = altCursorPos; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
717 result = ED_OK; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
718 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
719 else |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
720 result = ED_DONE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
721 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
722 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
723 /* SPR#1983 - SH - In caps mode, any keypress switches to lower case */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
724 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
725 if (editor->textcase==ED_CASE_CAPS) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
726 editor->textcase = ED_CASE_LOWER; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
727 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
728 // Jul 22,2004 CRR:21605 xrashmic - SASKEN |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
729 // When deleting a character, if editor is empty, then set the case to |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
730 // sentence case only if the user has not modified the case explicitly. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
731 if(editor->cursor.pos==0 && CaseChanged == FALSE) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
732 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
733 editor->textcase = ED_CASE_CAPS; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
734 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
735 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
736 if (update) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
737 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
738 ATB_edit_Update(editor,0); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
739 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
740 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
741 return result; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
742 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
743 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
744 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
745 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
746 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
747 $Function: ATB_edit_DeleteRight |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
748 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
749 $Description: Delete the character to the right of the cursor |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
750 SPR#2342 - SH - Added flag 'update' |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
751 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
752 $Returns: ED_OK - OK |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
753 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
754 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
755 update - TRUE if word wrap is to be carried out after deletion |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
756 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
757 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
758 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
759 ED_RES ATB_edit_DeleteRight (T_ED_DATA *editor, UBYTE update) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
760 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
761 char formatchar; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
762 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
763 TRACE_FUNCTION("ATB_edit_DeleteRight"); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
764 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
765 if (!editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
766 return ED_BAD_HANDLE; /* element does not exist */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
767 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
768 /* SPR#1983 - SH - Hidden text changes now mirror normal text changes. */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
769 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
770 /* Formatted mode */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
771 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
772 if (ATB_edit_Mode(editor, ED_MODE_FORMATTED)) /* Formatted input */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
773 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
774 /* If we're in a delimited field, do normal delete right, otherwise ignore */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
775 if (editor->formatIndex>0) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
776 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
777 formatchar = editor->attr->FormatString[editor->formatIndex-1]; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
778 if ((formatchar>'0' && formatchar<='9') || formatchar=='*') /* If it's a number between 1 and 9, or a * */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
779 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
780 ATB_string_MoveLeft(&editor->attr->text, editor->cursor.pos, 1); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
781 if (ATB_edit_Mode(editor, ED_MODE_HIDDEN)) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
782 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
783 ATB_string_MoveLeft(editor->hiddenText, editor->cursor.pos, 1); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
784 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
785 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
786 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
787 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
788 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
789 /* Overwrite mode */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
790 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
791 else if (ATB_edit_Mode(editor, ED_MODE_OVERWRITE)) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
792 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
793 /* Make sure we're not at the end of the string */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
794 if (editor->cursor.pos<editor->attr->text.len) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
795 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
796 if (!ATB_edit_Mode(editor, ED_MODE_HIDDEN)) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
797 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
798 ATB_string_SetChar(&editor->attr->text, editor->cursor.pos, UNICODE_SPACE); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
799 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
800 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
801 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
802 else |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
803 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
804 ATB_string_MoveLeft(&editor->attr->text, editor->cursor.pos, 1); /* Otherwise, just perform normal delete operation */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
805 if (ATB_edit_Mode(editor, ED_MODE_HIDDEN)) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
806 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
807 ATB_string_MoveLeft(&editor->attr->text, editor->cursor.pos, 1); /* Otherwise, just perform normal delete operation */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
808 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
809 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
810 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
811 /* SPR#1983 - SH - In caps mode, any keypress switches to lower case, if we're |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
812 * not in multi-tap */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
813 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
814 if (!editor->multitap && editor->textcase==ED_CASE_CAPS) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
815 editor->textcase = ED_CASE_LOWER; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
816 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
817 if (update) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
818 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
819 ATB_edit_Update(editor,0); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
820 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
821 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
822 return ED_OK; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
823 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
824 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
825 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
826 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
827 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
828 $Function: ATB_edit_ClearAll |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
829 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
830 $Description: Clear all text from the editor, move cursor to the top |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
831 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
832 $Returns: ED_BAD_HANDLE - Editor data pointer is null |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
833 ED_DONE - Deleted from start of editor, exit editor |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
834 ED_OK - OK |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
835 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
836 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
837 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
838 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
839 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
840 ED_RES ATB_edit_ClearAll (T_ED_DATA *editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
841 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
842 /* SPR#2275 - SH - No longer use variable 'textlength' */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
843 /* x0045876, 14-Aug-2006 (WR - variable "result" was set but never used) */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
844 /* ED_RES result; */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
845 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
846 TRACE_FUNCTION("ATB_edit_ClearAll()"); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
847 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
848 if (!editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
849 return ED_BAD_HANDLE; // element does not exist |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
850 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
851 /* FORMATTED MODE */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
852 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
853 if (ATB_edit_Mode(editor, ED_MODE_FORMATTED)) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
854 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
855 /* Find first non-fixed character. SPR#2275 - Simplified */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
856 ATB_edit_MoveCursor(editor, ctrlTop, FALSE); // starting from the top. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
857 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
858 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
859 /* NORMAL MODE */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
860 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
861 else |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
862 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
863 if (editor->attr->text.len==0) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
864 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
865 /* x0045876, 14-Aug-2006 (WR - variable "result" was set but never used) */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
866 /* result = ED_DONE; */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
867 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
868 else |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
869 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
870 memset(editor->attr->text.data,'\0',editor->attr->size*ATB_string_Size(&editor->attr->text)); /* Clear buffer */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
871 editor->attr->text.len = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
872 if (ATB_edit_Mode(editor, ED_MODE_HIDDEN)) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
873 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
874 memset(editor->hiddenText->data,'\0',editor->attr->size*ATB_string_Size(&editor->attr->text)); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
875 editor->hiddenText->len = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
876 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
877 ATB_edit_Reset(editor); /* Send cursor to start */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
878 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
879 /* x0045876, 14-Aug-2006 (WR - variable "result" was set but never used) */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
880 /* result = ED_OK; */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
881 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
882 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
883 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
884 ATB_edit_Update(editor,0); /* Update word wrap & cursor */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
885 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
886 return ED_OK; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
887 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
888 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
889 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
890 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
891 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
892 $Function: ATB_edit_Char |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
893 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
894 $Description: Insert a character into the editor text, or execute a control code |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
895 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
896 $Returns: ED_OK - OK |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
897 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
898 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
899 character - The character - in unicode representation |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
900 update - TRUE if word wrap is to be carried out after insertion |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
901 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
902 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
903 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
904 ED_RES ATB_edit_Char (T_ED_DATA *editor, USHORT character, UBYTE update) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
905 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
906 TRACE_FUNCTION("ATB_edit_Char()"); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
907 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
908 if (!editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
909 return ED_BAD_HANDLE; // element does not exist |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
910 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
911 switch (character) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
912 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
913 /* Quit editor */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
914 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
915 case ctrlEscape: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
916 return ED_DONE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
917 /*break;*/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
918 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
919 /* Cursor movements*/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
920 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
921 case ctrlLeft: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
922 case ctrlRight: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
923 case ctrlUp: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
924 case ctrlDown: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
925 case ctrlTop: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
926 case ctrlBottom: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
927 ATB_edit_MoveCursor(editor, character, update); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
928 break; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
929 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
930 /* Backspace */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
931 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
932 case ctrlBack: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
933 ATB_edit_DeleteLeft(editor, update); /* SPR#2342 - SH */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
934 break; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
935 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
936 /* Delete character under cursor */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
937 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
938 case ctrlDel: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
939 ATB_edit_DeleteRight(editor, update); /* SPR#2342 - SH */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
940 break; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
941 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
942 /* CR/LF */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
943 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
944 case ctrlEnter: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
945 character = UNICODE_LINEFEED; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
946 /* SPR#1983 - SH - Insert into normal buffer */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
947 if (ATB_edit_Insert(editor, &editor->attr->text, character)) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
948 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
949 ATB_edit_MoveCursor(editor,ctrlRight,update); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
950 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
951 break; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
952 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
953 /* Normal character */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
954 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
955 default: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
956 /* SPR#1983 - SH - Insert into normal buffer */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
957 if (ATB_edit_Insert(editor, &editor->attr->text, character)) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
958 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
959 /* Character inserted OK. Move cursor to right if we're not in multitap */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
960 if (!editor->multitap) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
961 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
962 ATB_edit_MoveCursor(editor,ctrlRight,FALSE); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
963 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
964 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
965 if (update) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
966 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
967 ATB_edit_Update(editor, 0); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
968 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
969 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
970 break; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
971 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
972 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
973 /* SPR#1983 - SH - In caps mode, any keypress switches to lower case */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
974 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
975 if (!editor->multitap && editor->textcase==ED_CASE_CAPS) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
976 editor->textcase = ED_CASE_LOWER; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
977 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
978 return ED_OK; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
979 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
980 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
981 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
982 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
983 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
984 $Function: ATB_edit_AsciiChar |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
985 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
986 $Description: Insert an ascii character into the editor text, or execute a control code |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
987 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
988 $Returns: ED_OK - OK |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
989 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
990 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
991 character - The ascii character |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
992 update - TRUE if word wrap is to be carried out after insertion |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
993 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
994 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
995 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
996 ED_RES ATB_edit_AsciiChar (T_ED_DATA *editor, char character, UBYTE update) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
997 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
998 USHORT unicodeChar; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
999 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1000 if (character<ctrlMax) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1001 unicodeChar = (USHORT)(unsigned char)character; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1002 else |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1003 unicodeChar = ATB_char_Unicode(character); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1004 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1005 return ATB_edit_Char(editor, unicodeChar, update); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1006 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1007 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1008 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1009 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1010 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1011 $Function: ATB_edit_Insert |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1012 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1013 $Description: Insert a character into the editor text |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1014 SPR#1983 - SH - Added 'text' parameter. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1015 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1016 $Returns: TRUE if character was inserted |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1017 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1018 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1019 text - The text string (normal or hidden buffer) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1020 character - The character - in unicode representation |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1021 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1022 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1023 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1024 static int ATB_edit_Insert (T_ED_DATA *editor, T_ATB_TEXT *text, USHORT character) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1025 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1026 int result = FALSE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1027 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1028 TRACE_FUNCTION("ATB_edit_Insert()"); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1029 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1030 if (!ATB_edit_Mode(editor, ED_MODE_READONLY)) // Can't insert into read only mode |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1031 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1032 if (ATB_edit_Mode(editor, ED_MODE_OVERWRITE)) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1033 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1034 if (editor->cursor.pos < (editor->attr->size-1)) /* Make sure character will fit */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1035 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1036 result = TRUE; /* We can write the cahracter */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1037 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1038 /* If overwriting end of line, we need to increment length of string */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1039 if (ATB_string_GetChar(text, editor->cursor.pos)==UNICODE_EOLN) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1040 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1041 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1042 /* Ensure string ends with end of line character */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1043 ATB_string_SetChar(text, editor->cursor.pos+1, UNICODE_EOLN); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1044 text->len++; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1045 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1046 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1047 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1048 else /* For insert mode, check if we have space */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1049 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1050 result = ATB_string_MoveRight(text, editor->cursor.pos, 1, editor->attr->size); // move rest of text right to leave space |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1051 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1052 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1053 if (result) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1054 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1055 ATB_string_SetChar(text, editor->cursor.pos, character); // Insert the character |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1056 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1057 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1058 else |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1059 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1060 result = FALSE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1061 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1062 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1063 return result; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1064 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1065 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1066 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1067 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1068 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1069 $Function: ATB_edit_MultiTap |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1070 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1071 $Description: Displays the specified character over the cursor |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1072 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1073 $Returns: None. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1074 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1075 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1076 character - The character to display |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1077 multitap - TRUE if multi-tap is currently in progress |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1078 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1079 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1080 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1081 ED_RES ATB_edit_MultiTap(T_ED_DATA *editor, USHORT character, BOOL multitap) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1082 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1083 UBYTE oldmultitap; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1084 ED_RES result = ED_OK; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1085 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1086 TRACE_FUNCTION("ATB_edit_MultiTap()"); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1087 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1088 if (!editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1089 return ED_BAD_HANDLE; // element does not exist |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1090 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1091 oldmultitap = editor->multitap; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1092 editor->multitap = multitap; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1093 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1094 /* If we were previously in multitap, and in insert mode, delete character under cursor. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1095 * Since this deletes current character in both visible and |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1096 * hidden buffer, do this before inserting character to either buffer. */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1097 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1098 if (oldmultitap && !multitap && !ATB_edit_Mode(editor, ED_MODE_HIDDEN)) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1099 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1100 result = ATB_edit_MoveCursor(editor, ctrlRight, TRUE); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1101 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1102 else |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1103 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1104 if (oldmultitap && !ATB_edit_Mode(editor, ED_MODE_OVERWRITE)) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1105 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1106 ATB_edit_DeleteRight(editor, FALSE); /* SPR#2342 - SH */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1107 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1108 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1109 /* Hidden mode */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1110 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1111 if (ATB_edit_Mode(editor, ED_MODE_HIDDEN)) /* In hidden mode... */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1112 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1113 ATB_edit_Insert(editor, editor->hiddenText, character); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1114 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1115 if (!multitap) /* n multi-tap, show character...*/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1116 character = UNICODE_STAR; /* ...otherwise show star */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1117 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1118 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1119 result = ATB_edit_Char(editor,character,TRUE); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1120 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1121 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1122 return result; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1123 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1124 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1125 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1126 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1127 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1128 $Function: ATB_edit_AsciiMultiTap |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1129 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1130 $Description: Displays the specified ascii character over the cursor |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1131 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1132 $Returns: None. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1133 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1134 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1135 character - The ascii character to display |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1136 multitap - TRUE if multi-tap is currently in progress |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1137 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1138 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1139 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1140 ED_RES ATB_edit_AsciiMultiTap(T_ED_DATA *editor, char character, BOOL multitap) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1141 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1142 USHORT unicodeChar; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1143 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1144 if (character<ctrlMax) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1145 unicodeChar = (USHORT)(unsigned char)character; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1146 else |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1147 unicodeChar = ATB_char_Unicode(character); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1148 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1149 return ATB_edit_MultiTap(editor, unicodeChar, multitap); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1150 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1151 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1152 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1153 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1154 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1155 $Function: ATB_edit_FindNext |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1156 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1157 $Description: For formatted input, adds a character to the input buffer then finds |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1158 the next non-fixed character space for the cursor to occupy |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1159 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1160 $Returns: None |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1161 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1162 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1163 character - The character (or code) to insert |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1164 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1165 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1166 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1167 static void ATB_edit_FindNext(T_ED_DATA *editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1168 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1169 char *format = editor->attr->FormatString; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1170 char formatchar; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1171 UBYTE inField = ENTRY_NOT_IN_FIELD; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1172 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1173 TRACE_FUNCTION("ATB_edit_FindNext()"); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1174 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1175 // xreddymn - Included xrashmic's fix for 12470 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1176 if(editor->attr->text.len==0) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1177 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1178 return; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1179 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1180 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1181 /* Check for delimited field */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1182 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1183 if (editor->formatIndex>0) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1184 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1185 formatchar = format[editor->formatIndex-1]; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1186 if ((formatchar>'0' && formatchar<='9') || formatchar=='*') |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1187 inField = ENTRY_IN_FIELD; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1188 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1189 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1190 formatchar = format[editor->formatIndex]; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1191 if ((formatchar>'0' && formatchar<='9') || formatchar=='*') |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1192 inField = ENTRY_ENTERING_FIELD; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1193 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1194 /* Check for cursor right at end of string - don't allow */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1195 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1196 if (editor->cursor.pos>=editor->attr->text.len |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1197 && editor->formatIndex>-1 && inField==ENTRY_NOT_IN_FIELD) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1198 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1199 return; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1200 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1201 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1202 /* Move cursor position right */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1203 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1204 editor->cursor.pos = ATB_string_IndexMove(&editor->attr->text, editor->cursor.pos, 1); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1205 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1206 /* Check for start of fixed input field */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1207 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1208 if (inField==ENTRY_ENTERING_FIELD) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1209 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1210 editor->formatIndex++; // Get us into the field... |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1211 editor->fieldIndex = 0; // ...and reset the field index |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1212 formatchar = format[editor->formatIndex]; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1213 if (formatchar=='M') |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1214 editor->textcase = ED_CASE_UPPER; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1215 if (formatchar=='m') |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1216 editor->textcase = ED_CASE_LOWER; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1217 inField = ENTRY_IN_FIELD; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1218 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1219 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1220 /* Check whether we're in a fixed input field, e.g. "4N" or "8X" */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1221 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1222 if (inField==ENTRY_IN_FIELD) // So we don't look back beyond start of string |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1223 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1224 formatchar = format[editor->formatIndex-1]; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1225 editor->fieldIndex++; // Increment the position in the field |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1226 if (editor->fieldIndex==(int)(formatchar-'0')) // If we've entered the number of characters specified (note- will never happen for the '*' !) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1227 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1228 editor->formatIndex++; // point to NULL at end of string (no more input) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1229 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1230 return; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1231 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1232 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1233 /* If not, just look at next format character as usual */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1234 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1235 editor->formatIndex++; // Point to next character |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1236 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1237 while (editor->formatIndex<(SHORT)strlen(format) && format[editor->formatIndex]=='\\') // Fixed characters encountered |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1238 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1239 editor->cursor.pos = ATB_string_IndexMove(&editor->attr->text, editor->cursor.pos, 1); // Skip over them |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1240 editor->formatIndex+=2; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1241 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1242 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1243 if (editor->formatIndex>(SHORT)(strlen(format))) // Don't look beyond end of string |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1244 editor->formatIndex = strlen(format); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1245 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1246 return; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1247 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1248 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1249 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1250 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1251 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1252 $Function: ATB_edit_FindPrev |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1253 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1254 $Description: For formatted input, finds the previous non-fixed character and |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1255 moves the cursor there if possible |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1256 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1257 $Returns: FINDPREV_NO_CHANGE if the cursor position is not changed (nowhere to go) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1258 FINDPREV_PREV_FOUND if the previous character has been found |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1259 FINDPREV_FIRST_CHAR if the cursor was over the first non-fixed character |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1260 FINDPREV_LAST_CHAR if the cursor is at the last non-fixed character |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1261 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1262 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1263 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1264 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1265 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1266 static USHORT ATB_edit_FindPrev(T_ED_DATA *editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1267 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1268 char *format = editor->attr->FormatString; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1269 char formatchar; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1270 SHORT editIndex; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1271 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1272 TRACE_FUNCTION("ATB_edit_FindPrev()"); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1273 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1274 /* Check if cursor is at start of string, return 2 */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1275 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1276 if (editor->cursor.pos == 0) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1277 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1278 return FINDPREV_FIRST_CHAR; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1279 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1280 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1281 /* Check whether we're in a fixed input field, e.g. "4N" or "8X" */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1282 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1283 if (editor->formatIndex>0) // So we don't look back beyond start of string |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1284 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1285 formatchar = format[editor->formatIndex-1]; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1286 if ((formatchar>'0' && formatchar<='9') || formatchar=='*') // If it's a number between 1 and 9, or a * |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1287 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1288 if (editor->cursor.pos > 0) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1289 editor->cursor.pos--; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1290 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1291 if (editor->cursor.pos < editor->attr->size-1) // (Don't decrement if at last char in string) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1292 editor->fieldIndex--; // Decrement the position in the field |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1293 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1294 if (editor->cursor.pos==editor->attr->text.len-1) // Special case if last character - tell editor to shorten the string |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1295 return FINDPREV_LAST_CHAR; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1296 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1297 return FINDPREV_PREV_FOUND; // then we're done |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1298 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1299 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1300 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1301 /* If not (or if we've just come out of one) just look at next format character as usual */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1302 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1303 editIndex = editor->formatIndex-1; // Make copy of format position, starting off to left |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1304 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1305 while (editIndex>0) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1306 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1307 if (format[editIndex-1]=='\\') // If there's a fixed char |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1308 editIndex -=2; // Look back a further 2 characters |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1309 else // If there's a non-fixed character |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1310 break; // then exit loop |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1311 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1312 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1313 if (editIndex==-1) // Go back from 1st character in editor |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1314 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1315 return FINDPREV_FIRST_CHAR; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1316 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1317 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1318 formatchar = format[editIndex-1]; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1319 if ((formatchar>'0' && formatchar<='9') || formatchar=='*') |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1320 editor->fieldIndex--; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1321 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1322 if (editIndex>-1) // Provided there is somewhere to go.... |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1323 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1324 while(editor->formatIndex>editIndex) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1325 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1326 if (editor->cursor.pos > 0) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1327 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1328 editor->cursor.pos--; // move cursor there |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1329 editor->formatIndex--; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1330 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1331 if (format[editor->formatIndex]=='\\') |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1332 editor->formatIndex--; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1333 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1334 return FINDPREV_PREV_FOUND; // Found new position |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1335 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1336 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1337 return FINDPREV_NO_CHANGE; // Position unchanged |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1338 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1339 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1340 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1341 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1342 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1343 $Function: ATB_edit_GetCasePref |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1344 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1345 $Description: Returns the preferred case for the current position in the editor |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1346 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1347 $Returns: ED_CASEPREF_NUM - Any numeric character |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1348 ED_CASEPREF_ALPHA_UC - Any symbolic or alphabetic uppercase |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1349 character |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1350 ED_CASEPREF_ALPHA_LC - Any symbolic or alphabetic lowercase |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1351 character |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1352 ED_CASEPREF_ALPHANUM - Any symbolic, numeric, or alphabetic |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1353 character |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1354 ED_CASEPREF_ALPHANUM_UC - Any symbolic, numeric, or alphabetic |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1355 uppercase character |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1356 ED_CASEPREF_ALPHANUM_LC - Any symbolic, numeric, or alphabetic |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1357 lowercase character |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1358 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1359 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1360 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1361 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1362 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1363 T_ED_CASE_PREF ATB_edit_GetCasePref(T_ED_DATA *editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1364 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1365 T_ED_CASE_PREF casePref; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1366 char formatchar; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1367 char *format; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1368 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1369 /* FORMATTED MODE */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1370 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1371 if (ATB_edit_Mode(editor, ED_MODE_FORMATTED)) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1372 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1373 format = editor->attr->FormatString; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1374 formatchar = format[editor->formatIndex]; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1375 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1376 if ((formatchar>'0' && formatchar<='9') || formatchar=='*') // Delimiter for format field |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1377 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1378 editor->formatIndex++; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1379 editor->fieldIndex = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1380 formatchar = format[editor->formatIndex]; // Next character is the format for the field |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1381 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1382 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1383 switch(formatchar) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1384 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1385 case 'X': /* Uppercase alphanumeric */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1386 casePref = ED_CASEPREF_ALPHANUM_UC; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1387 break; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1388 case 'x': |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1389 casePref = ED_CASEPREF_ALPHANUM_LC; /* Lowercase alphanumeric */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1390 break; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1391 case 'A': /* Uppercase alphabetic */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1392 casePref = ED_CASEPREF_ALPHA_UC; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1393 break; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1394 case 'a': /* Lowercase alphabetic */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1395 casePref = ED_CASEPREF_ALPHA_LC; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1396 break; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1397 case 'M': |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1398 casePref = ED_CASEPREF_ALPHANUM; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1399 break; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1400 case 'm': |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1401 casePref = ED_CASEPREF_ALPHANUM; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1402 break; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1403 case 'N': |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1404 casePref = ED_CASEPREF_NUM; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1405 break; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1406 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1407 default: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1408 casePref = ED_CASEPREF_NONE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1409 break; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1410 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1411 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1412 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1413 /* NORMAL MODE */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1414 else |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1415 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1416 casePref = ED_CASEPREF_NUM; /* SPR#2342 - SH - Default to numeric mode */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1417 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1418 if (ATB_edit_Mode(editor, ED_MODE_ALPHA) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1419 && ATB_edit_GetCase(editor)!=ED_CASE_NUM) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1420 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1421 casePref = ED_CASEPREF_ALPHANUM; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1422 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1423 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1424 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1425 return casePref; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1426 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1427 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1428 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1429 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1430 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1431 $Function: ATB_edit_OutTextLines |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1432 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1433 $Description: Draw the visible lines of text onto the screen |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1434 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1435 $Returns: None |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1436 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1437 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1438 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1439 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1440 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1441 static void ATB_edit_OutTextLines (T_ED_DATA *editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1442 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1443 USHORT editX = editor->attr->win_size.px; /* X position in editor */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1444 USHORT editY = editor->attr->win_size.py; /* Y position in editor */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1445 USHORT editWidth = editor->attr->win_size.sx; /* Height of the editor */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1446 USHORT editHeight = editor->attr->win_size.sy; /* Height of the editor */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1447 USHORT lineNo; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1448 USHORT heightOnScreen; /* Height of lines shown so far */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1449 USHORT offsetX=0; /* X offset of line */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1450 T_DS_TEXTFORMAT tempFormat; /* Temporary storage for format attributes */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1451 T_ED_LINE *line; /* Current line attributes */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1452 T_ATB_TEXT currentLine; /* Current line */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1453 // Shashi Shekar B.S., a0876501, Jan 16, 2006, DR: OMAPS00061460 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1454 #ifdef FF_MMI_SAT_ICON |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1455 USHORT titleIconWidth = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1456 USHORT iconX, iconY; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1457 USHORT titleHeight = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1458 #endif |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1459 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1460 TRACE_FUNCTION("ATB_edit_OutTextLines()"); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1461 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1462 if (editor == NULL) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1463 return; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1464 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1465 // Shashi Shekar B.S., a0876501, Jan 16, 2006, DR: OMAPS00061460 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1466 #ifdef FF_MMI_SAT_ICON |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1467 if (editor->attr->TitleIcon.data != NULL && !editor->attr->TitleIcon.isTitle) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1468 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1469 if (editor->attr->TitleIcon.width > TITLE_ICON_WIDTH) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1470 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1471 titleIconWidth = TITLE_ICON_WIDTH; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1472 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1473 else |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1474 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1475 titleIconWidth = editor->attr->TitleIcon.width; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1476 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1477 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1478 else |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1479 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1480 titleIconWidth = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1481 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1482 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1483 if(titleIconWidth) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1484 editX = editX + titleIconWidth + 1; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1485 #endif |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1486 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1487 heightOnScreen = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1488 line = ATB_edit_LineGet(editor, editor->winStartLine); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1489 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1490 // Shashi Shekar B.S., a0876501, Jan 16, 2006, DR: OMAPS00061460 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1491 #ifdef FF_MMI_SAT_ICON |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1492 if(line != NULL) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1493 titleHeight = line->height; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1494 #endif |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1495 /*a0393213 lint warning removal - check 'line!=NULL' added*/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1496 for (lineNo = editor->winStartLine; lineNo < editor->numLines && heightOnScreen<=editHeight && line!=NULL; lineNo++) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1497 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1498 heightOnScreen += line->height; /* Add this height to the total height so far... */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1499 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1500 if (editor->display && heightOnScreen <= editHeight) /* and make sure this fits onto the screen */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1501 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1502 if (line->next!=NULL) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1503 currentLine.len = line->next->pos - line->pos; /* End of line is the first character of the next line */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1504 else /*a0393213 lint warnings removal*/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1505 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1506 currentLine.len=0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1507 TRACE_ERROR("ATB_edit_OutTextLines():line missing"); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1508 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1509 currentLine.dcs = editor->attr->text.dcs; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1510 currentLine.data = &editor->attr->text.data[line->pos*ATB_string_Size(¤tLine)]; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1511 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1512 offsetX = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1513 if (line->format.attr & DS_ALIGN_RIGHT) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1514 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1515 offsetX = editWidth-ATB_display_StringWidth(¤tLine, &line->format); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1516 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1517 else if (line->format.attr & DS_ALIGN_CENTRE) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1518 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1519 offsetX = (editWidth-ATB_display_StringWidth(¤tLine, &line->format))/2; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1520 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1521 ATB_display_CopyFormat(&tempFormat, &line->format); /* So format of lines doesn't change */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1522 ATB_display_Text(offsetX+editX, editY, &tempFormat, ¤tLine); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1523 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1524 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1525 editY += line->height; /* Move down by line height, ready for the next one */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1526 line = line->next; /* Get next line */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1527 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1528 //Sudha.V., x0035544, Feb 02, 2006, DR: OMAPS00061468 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1529 // Shashi Shekar B.S., a0876501, Jan 16, 2006, DR: OMAPS00061460 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1530 #ifdef FF_MMI_SAT_ICON |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1531 if(editor->attr->TitleIcon.data != NULL && !editor->attr->TitleIcon.isTitle) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1532 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1533 switch(editor->attr->TitleIcon.display_type) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1534 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1535 case SAT_ICON_NONE: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1536 break; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1537 case SAT_ICON_IDLEMODE_TEXT: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1538 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1539 if ((editor->attr->TitleIcon.width > TITLE_ICON_WIDTH) || (editor-> |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1540 attr->TitleIcon.height > TITLE_ICON_HEIGHT)) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1541 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1542 iconX = editX+offsetX - editor->attr->TitleIcon.width-2; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1543 iconY = editor->attr->win_size.py+ ((titleHeight-2)/2); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1544 dspl_BitBlt2(iconX, iconY, 8, |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1545 10, (void*)SATIconQuestionMark, 0, BMP_FORMAT_256_COLOUR); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1546 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1547 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1548 else |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1549 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1550 iconX = editX+offsetX - editor->attr->TitleIcon.width-2; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1551 iconY = editor->attr->win_size.py + ((titleHeight-2)/2) - ( |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1552 editor->attr->TitleIcon.height / 2); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1553 dspl_BitBlt2(iconX, iconY, editor->attr->TitleIcon.width, |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1554 editor->attr->TitleIcon.height, (void*)editor->attr->TitleIcon. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1555 data, 0, BMP_FORMAT_256_COLOUR); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1556 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1557 break; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1558 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1559 case SAT_ICON_DISPLAY_TEXT: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1560 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1561 if ((editor->attr->TitleIcon.width > TITLE_ICON_WIDTH) || (editor-> |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1562 attr->TitleIcon.height > TITLE_ICON_HEIGHT)) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1563 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1564 iconX = 1; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1565 iconY = 1+ ((titleHeight-2) / 2) - (10 / 2); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1566 dspl_BitBlt2(iconX, iconY, 8, |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1567 10, (void*)SATIconQuestionMark, 0, BMP_FORMAT_256_COLOUR); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1568 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1569 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1570 else |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1571 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1572 iconX = 1; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1573 iconY = 1+ ((titleHeight-2) / 2) - (editor->attr->TitleIcon. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1574 height / 2); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1575 dspl_BitBlt2(iconX, iconY, editor->attr->TitleIcon.width, |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1576 editor->attr->TitleIcon.height, (void*)editor->attr->TitleIcon.data, 0 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1577 , BMP_FORMAT_256_COLOUR); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1578 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1579 break; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1580 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1581 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1582 #endif |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1583 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1584 return; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1585 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1586 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1587 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1588 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1589 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1590 $Function: ATB_edit_Update |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1591 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1592 $Description: Update editor (without displaying), moving cursor up or down by 'dy' lines. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1593 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1594 This function goes through the text, word-wraps it with the help of ATB_edit_WordWrap, |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1595 and works out the start position of text on-screen and the X and Y pixel positions |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1596 of the cursor (with the help of ATB_edit_UpdateCursorPos). The character position of |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1597 the start of each line within the string is stored, so that ATB_edit_OutTextLines can |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1598 quickly display the editor contents without further calculation. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1599 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1600 $Returns: ED_BAD_HANDLE - Editor data pointer is null |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1601 ED_OK - OK |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1602 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1603 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1604 dy - number of lines (+ or -) that the cursor must scroll |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1605 up or down. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1606 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1607 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1608 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1609 static ED_RES ATB_edit_Update (T_ED_DATA *editor, int dy) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1610 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1611 USHORT cursorCharPos=0; /* New cursor character position */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1612 USHORT linePos; /* Char pos in string of current line. */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1613 USHORT lineNo; /* Line being considered */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1614 USHORT editComplete; /* Flag indicating cursor position found/updated or end of line reached. */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1615 USHORT character; /* Current unicode char. */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1616 T_ED_LINE *line; /* Pointer to current entry in line chain */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1617 USHORT cursorColumn; /* Column cursor is in - always multiple of 8 pixels */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1618 SHORT charMaxWidth; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1619 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1620 TRACE_FUNCTION("ATB_edit_Update()"); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1621 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1622 /* Make sure the editor exists and has text in it */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1623 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1624 if (!editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1625 return ED_BAD_HANDLE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1626 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1627 /* For non read-only modes, or on first process, perform word wrap */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1628 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1629 if (!ATB_edit_Mode(editor, ED_MODE_READONLY) || editor->initialised==FALSE) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1630 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1631 editor->viewStartPos = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1632 editor->viewHeight = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1633 editor->totalHeight = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1634 editor->startOfLine = TRUE; /* We're at the start of a line */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1635 editor->endOfText = FALSE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1636 editor->precedingEOL = FALSE; /* Used to detect if preceding character was CR/LF */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1637 editor->thischar.lineWidth = 0; /* Width of current line */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1638 editor->cursor.line = 0; /* Line that the cursor is on */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1639 editor->space.pos = 0; /* Possible position for soft linebreak - none as yet */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1640 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1641 /* Set up data if this is the first time... */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1642 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1643 if (!editor->initialised) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1644 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1645 editor->thischar.pos = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1646 editor->numLines = 0; /* total number of lines in editor, start at 0 */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1647 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1648 line = ATB_edit_LineGet(editor, 0); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1649 line->pos = 0; /* first line starts at start of buffer */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1650 line->height = 0; /* Height of first line */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1651 ATB_display_CopyFormat(&line->format, &editor->attr->startFormat); /* Start with this text formatting */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1652 ATB_display_CopyFormat(&editor->thischar.format, &editor->attr->startFormat); // Start with this text formatting |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1653 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1654 editor->winStartLine = 0; /* First line to be displayed in window */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1655 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1656 editor->initialised = TRUE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1657 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1658 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1659 /* Set up data if this is NOT the first time */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1660 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1661 else |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1662 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1663 /* We only need to word wrap text that might have been changed by user text entry. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1664 * The user can affect the previous line (by inserting a space or deleting, so the word is |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1665 * wrapped to a previous line) and all subsequent lines. Therefore if we start word wrapping |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1666 * on the line previous to where the cursor is, we can encompass all changes. */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1667 line = ATB_edit_LineGet(editor, 0); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1668 for (lineNo = 0; lineNo<editor->numLines && editor->cursor.pos>=line->pos; lineNo++) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1669 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1670 line = line->next; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1671 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1672 if (lineNo>0) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1673 lineNo--; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1674 if (lineNo>0) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1675 lineNo--; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1676 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1677 line = ATB_edit_LineGet(editor, lineNo); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1678 editor->thischar.pos = line->pos; /* Start looking at this line */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1679 editor->numLines = lineNo; /* This no. of lines so far */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1680 ATB_display_CopyFormat(&editor->thischar.format, &line->format); /* Start with this text formatting */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1681 line->height = 0; /* Height of first line */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1682 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1683 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1684 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1685 /* Set up some values */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1686 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1687 cursorCharPos = editor->cursor.pos; /* Cursor position in the string */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1688 linePos = 0; // Position on the current line |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1689 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1690 /* Word wrap the text into separate lines, storing the start position and height of each. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1691 * Also, find the cursor and work out its X position. */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1692 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1693 while(!editor->endOfText) // Go through from first character to last character |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1694 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1695 ATB_edit_WordWrap(editor); // What is the character? What's its width? |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1696 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1697 if (editor->endOfLine) // Newline, or current char will not fit on previous line. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1698 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1699 editor->numLines++; // We've got another line |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1700 editor->startOfLine = TRUE; // New line is starting |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1701 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1702 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1703 if (editor->startOfLine) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1704 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1705 line = ATB_edit_LineGet(editor, editor->numLines); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1706 line->pos = editor->startPos; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1707 line->height = editor->thischar.height; // Height of line set to that of first character |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1708 ATB_display_CopyFormat(&line->format,&editor->thischar.format); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1709 /* Formatting at start of line to that of 1st character */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1710 editor->thischar.lineWidth = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1711 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1712 line = ATB_edit_LineGet(editor, editor->winStartLine); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1713 if (editor->startPos <= line->pos) /* Is this the first line to be displayed in the editor? */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1714 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1715 editor->winStartLine = editor->numLines; /* If so, set this line to the start window line */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1716 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1717 editor->startOfLine = FALSE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1718 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1719 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1720 if (editor->endOfText) /* If it's a unicode terminator... */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1721 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1722 if (cursorCharPos > editor->thischar.pos) /* Cursor is past end of text - move to char before end of line. */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1723 cursorCharPos = editor->thischar.pos; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1724 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1725 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1726 if (editor->startPos == cursorCharPos) // We've found the cursor |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1727 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1728 editor->cursor.line = editor->numLines; // Store the line it's on |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1729 editor->cursor.width = editor->thischar.width; // Set the width of the cursor |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1730 editor->cursor.x = editor->thischar.lineWidth; // And its position |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1731 editor->cursor.attr = editor->thischar.format.attr; // Save the format attribute |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1732 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1733 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1734 editor->thischar.lineWidth += editor->thischar.width; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1735 editor->thischar.pos++; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1736 } // End while |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1737 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1738 editor->numLines++; // Number of lines is one more than the last line |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1739 line = ATB_edit_LineGet(editor, editor->numLines); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1740 line->pos = editor->thischar.pos; // End of last line |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1741 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1742 ATB_edit_UpdateCursorPos(editor); // Update, but if dy!=0 we may have to change this |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1743 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1744 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1745 /* We now have the start position of each line and its height stored in an array. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1746 * We also have the cursor's current X position on its line (but its line may be offscreen) */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1747 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1748 if (dy) // If we're sending the cursor up/down some lines... |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1749 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1750 editor->cursor.line = editor->cursor.line+dy; // Change cursor line |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1751 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1752 if (editor->cursor.line >= editor->numLines ) // Make sure line cursor is on doesn't go beyond... |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1753 editor->cursor.line = editor->numLines-1; // ...last line of editor... |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1754 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1755 if (editor->cursor.line < 0) // ...or above... |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1756 editor->cursor.line = 0; // ...first line of editor |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1757 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1758 /* In read-only mode, stop scrolling down when the bottom line of the text |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1759 * is visible at the bottom of the window */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1760 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1761 if (ATB_edit_Mode(editor,ED_MODE_READONLY)) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1762 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1763 if (editor->numLines>=editor->linesPerScreen |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1764 && editor->cursor.line >= (editor->numLines - editor->linesPerScreen)) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1765 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1766 editor->cursor.line = (editor->numLines - editor->linesPerScreen); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1767 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1768 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1769 editor->winStartLine = editor->cursor.line; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1770 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1771 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1772 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1773 /* Reset all our horizontal variables */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1774 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1775 editor->thischar.pos = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1776 editor->thischar.lineWidth = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1777 editComplete = TRUE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1778 editor->endOfText = FALSE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1779 editor->space.pos = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1780 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1781 /* Work out how many lines fit on the current screen */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1782 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1783 ATB_edit_UpdateCursorPos(editor); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1784 lineNo = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1785 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1786 /* Update the line where we start showing the text on the window */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1787 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1788 if (editor->cursor.line < editor->winStartLine) //cursor is on a line before current window screen |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1789 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1790 editor->winStartLine = editor->cursor.line; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1791 editComplete = FALSE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1792 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1793 else if (editor->cursor.line >= (editor->winStartLine+editor->linesPerScreen)) //cursor is below the bottom of the screen |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1794 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1795 editor->winStartLine = editor->cursor.line-(editor->linesPerScreen-1); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1796 editComplete = FALSE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1797 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1798 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1799 if (dy!= 0) /* If we're moving up or down */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1800 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1801 editComplete = FALSE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1802 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1803 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1804 if (!editComplete) /* Calculate new cursor X and Y positions */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1805 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1806 if (dy!=0) /* If we've changed line, find new X position */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1807 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1808 line = ATB_edit_LineGet(editor, editor->cursor.line); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1809 editor->thischar.lineWidth = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1810 linePos = line->pos; // Start of current line |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1811 ATB_display_CopyFormat(&editor->thischar.format, &line->format); // Format attributes of 1st character |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1812 /* Get column - is always a multiple of the maximum character width. Makes sure cursor doesn't wander |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1813 * left or right too much when moving up or down by lines */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1814 charMaxWidth = (SHORT)ATB_display_GetMaxCharWidth(&editor->thischar.format); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1815 cursorColumn = editor->cursor.x - (editor->cursor.x % charMaxWidth); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1816 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1817 linePos--; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1818 editor->thischar.width = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1819 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1820 /* SPR#2342 - SH - Improved finding cursor position on adjacent lines. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1821 * First search until we're in the column or at the end of the line */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1822 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1823 do |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1824 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1825 linePos++; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1826 editor->thischar.lineWidth += editor->thischar.width; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1827 character = ATB_string_GetChar(&editor->attr->text, linePos); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1828 editor->thischar.width = ATB_display_GetCharWidth(character, &editor->thischar.format); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1829 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1830 while (editor->thischar.lineWidth<cursorColumn && linePos < (line->next->pos-1)); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1831 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1832 /* Is there a character also in the column, but closer to our original character? */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1833 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1834 while ((editor->thischar.lineWidth+editor->thischar.width) < (cursorColumn+charMaxWidth) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1835 && linePos< (line->next->pos-1) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1836 && (editor->cursor.x - editor->thischar.lineWidth)> editor->thischar.width) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1837 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1838 linePos++; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1839 editor->thischar.lineWidth += editor->thischar.width; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1840 character = ATB_string_GetChar(&editor->attr->text, linePos); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1841 editor->thischar.width = ATB_display_GetCharWidth(character, &editor->thischar.format); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1842 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1843 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1844 /* Set the new cursor X position */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1845 cursorCharPos = linePos; // New cursor position in buffer |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1846 editor->cursor.width = editor->thischar.width; // Set the width of the cursor |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1847 editor->cursor.x = editor->thischar.lineWidth; // And its position |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1848 editor->cursor.attr = editor->thischar.format.attr; // Save the format attribute |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1849 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1850 ATB_edit_UpdateCursorPos(editor); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1851 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1852 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1853 /* Change cursor position */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1854 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1855 editor->cursor.pos = cursorCharPos; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1856 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1857 return ED_OK; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1858 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1859 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1860 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1861 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1862 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1863 $Function: ATB_edit_WordWrap |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1864 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1865 $Description: Main word wrap function. Takes in the characters of the string |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1866 one by one, calculating the total width displayed on screen and setting flags |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1867 when a string should be wrapped, a carriage return is encountered, the end |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1868 of string has been reached. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1869 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1870 Tracks the last space character and goes back there when a word runs over |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1871 the edge of the screen. Also works out the height of the current line, based on |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1872 the maximum character height found. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1873 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1874 $Returns: None |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1875 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1876 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1877 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1878 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1879 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1880 static void ATB_edit_WordWrap(T_ED_DATA *editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1881 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1882 USHORT character; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1883 int punctuation; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1884 T_ED_LINE *line; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1885 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1886 #ifdef TRACE_ATBEDITOR |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1887 TRACE_FUNCTION("ATB_edit_WordWrap()"); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1888 #endif |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1889 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1890 editor->endOfLine = FALSE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1891 line = ATB_edit_LineGet(editor, editor->numLines); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1892 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1893 /* Get the character from the buffer */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1894 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1895 editor->startPos = editor->thischar.pos; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1896 character = ATB_string_GetChar(&editor->attr->text, editor->thischar.pos); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1897 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1898 /* Find the character's dimensions */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1899 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1900 /* If we're multi-tapping a character, or in fixed-width mode, it has the maximum width */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1901 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1902 if (editor->multitap && editor->thischar.pos==editor->cursor.pos) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1903 editor->thischar.width = ATB_display_GetCharWidth(UNICODE_WIDEST_CHAR, &editor->thischar.format); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1904 else |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1905 editor->thischar.width = ATB_display_GetCharWidth(character, &editor->thischar.format); // Character width |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1906 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1907 editor->thischar.height = ATB_display_GetCharHeight(character, &editor->thischar.format); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1908 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1909 /* Check to see if last character was a CR/LF */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1910 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1911 if (editor->precedingEOL) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1912 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1913 editor->endOfLine = TRUE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1914 editor->precedingEOL = FALSE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1915 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1916 else // otherwise, character included on line |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1917 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1918 if (editor->thischar.height > line->height) // if height>height so far... |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1919 line->height = editor->thischar.height; // ...adjust the height so far |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1920 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1921 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1922 /* Set flags appropriate for the character */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1923 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1924 switch(character) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1925 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1926 case UNICODE_EOLN: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1927 editor->endOfText = TRUE; // We're at the end of the editor text |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1928 break; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1929 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1930 case UNICODE_LINEFEED: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1931 case UNICODE_CR: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1932 editor->precedingEOL = TRUE; // This is an end of line |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1933 break; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1934 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1935 default: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1936 break; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1937 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1938 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1939 /* Check if wrapping required */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1940 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1941 if ( (editor->thischar.lineWidth+editor->thischar.width)>editor->attr->win_size.sx ) // Current character will go off edge of editor |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1942 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1943 editor->endOfLine = TRUE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1944 //Mar 31, 2008 DR:OMAPS00164541 Shubhro (x0082844) -->Start //No need to check for current character, if its a space. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1945 #if 0 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1946 // If we've found a space, and it's a word wrapping mode */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1947 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1948 if (editor->space.pos > 0 && editor->precedingSpace==FALSE |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1949 && !ATB_edit_Mode(editor, ED_MODE_OVERWRITE)) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1950 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1951 editor->thischar.pos = editor->space.pos; // reset character position back to here |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1952 editor->startPos = editor->space.pos; // character is space, so start of block=character pos |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1953 editor->thischar.width = editor->space.width; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1954 editor->thischar.height = editor->space.height; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1955 ATB_display_CopyFormat(&editor->thischar.format,&editor->space.format); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1956 line->height = editor->space.lineHeight; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1957 editor->endOfText = FALSE; // If we're wrapping on an EOLN, we've gone back |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1958 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1959 editor->space.pos = 0; // Reset space position to start of line |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1960 editor->precedingSpace = FALSE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1961 #endif |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1962 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1963 #if 0 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1964 else |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1965 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1966 if (editor->precedingSpace) // Remember enough info so that this point can be restored |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1967 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1968 editor->space.pos = editor->startPos; // Store position of start of current block, or just character pos. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1969 editor->space.width = editor->thischar.width; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1970 editor->space.height = editor->thischar.height; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1971 ATB_display_CopyFormat(&editor->space.format,&editor->thischar.format); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1972 editor->space.lineHeight = line->height; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1973 editor->precedingSpace = FALSE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1974 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1975 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1976 punctuation = FALSE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1977 if (character==UNICODE_SPACE) // Wrap only on spaces |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1978 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1979 punctuation = TRUE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1980 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1981 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1982 if ((punctuation) && (editor->thischar.lineWidth > 0)) //A space is a good point for a soft break |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1983 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1984 editor->precedingSpace = TRUE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1985 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1986 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1987 #endif |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1988 //Mar 31, 2008 DR:OMAPS00164541 Shubhro (x0082844) -->End |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1989 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1990 return; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1991 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1992 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1993 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1994 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1995 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1996 $Function: ATB_edit_UpdateCursorPos |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1997 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1998 $Description: Update the cursor's vertical position, based on its position within |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1999 the string. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2000 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2001 $Returns: None |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2002 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2003 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2004 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2005 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2006 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2007 static void ATB_edit_UpdateCursorPos(T_ED_DATA *editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2008 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2009 USHORT lineNo; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2010 USHORT lineHeight; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2011 USHORT editHeight = editor->attr->win_size.sy; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2012 T_ED_LINE *line; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2013 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2014 #ifdef TRACE_ATBEDITOR |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2015 TRACE_FUNCTION("ATB_edit_UpdateCursorPos()"); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2016 #endif |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2017 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2018 editor->cursor.y = 0; // Recalculate cursor Y position... |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2019 editor->viewHeight = 0; // ...and height of viewable screen... |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2020 editor->totalHeight = 0; // ...and total height of screen... |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2021 editor->viewStartPos = 0; // ...and the start pixel position of the view... |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2022 editor->linesPerScreen = 0; // ...and number of lines to the screen |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2023 lineNo = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2024 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2025 while (lineNo<editor->numLines) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2026 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2027 line = ATB_edit_LineGet(editor, lineNo); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2028 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2029 lineHeight = line->height; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2030 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2031 if (lineNo==editor->cursor.line) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2032 editor->cursor.y = editor->viewHeight; // Y position of cursor |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2033 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2034 if (lineNo==editor->winStartLine) // starting posn rel to start of editor text |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2035 editor->viewStartPos = editor->totalHeight; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2036 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2037 if (lineNo>=editor->winStartLine && (editor->viewHeight+lineHeight)<=editHeight) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2038 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2039 editor->viewHeight += lineHeight; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2040 editor->linesPerScreen++; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2041 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2042 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2043 editor->totalHeight += lineHeight; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2044 lineNo++; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2045 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2046 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2047 line = ATB_edit_LineGet(editor, editor->cursor.line); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2048 editor->cursor.height = line->height; // Change its height |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2049 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2050 return; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2051 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2052 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2053 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2054 /************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2055 /* GLOBAL PROCEDURES */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2056 /* Add/removing words in the editor */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2057 /************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2058 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2059 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2060 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2061 $Function: ATB_edit_InsertString |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2062 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2063 $Description: Insert a string at the cursor. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2064 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2065 $Returns: ED_BAD_HANDLE - Editor data pointer is null |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2066 ED_OK - OK |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2067 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2068 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2069 insText - The text to insert |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2070 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2071 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2072 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2073 ED_RES ATB_edit_InsertString (T_ED_DATA *editor, T_ATB_TEXT *insText) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2074 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2075 T_ATB_TEXT *text; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2076 int textIndex; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2077 USHORT character; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2078 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2079 TRACE_FUNCTION("ATB_edit_InsertString()"); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2080 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2081 if (!editor) // Make sure editor exists |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2082 return ED_BAD_HANDLE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2083 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2084 if (insText==NULL || insText->len==0) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2085 return ED_OK; /* No string to insert - trivial operation. */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2086 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2087 if (ATB_edit_Mode(editor, ED_MODE_READONLY) ) /* Don't insert in read-only mode*/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2088 return ED_ERROR; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2089 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2090 text = &editor->attr->text; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2091 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2092 if ((text->len+insText->len) >= editor->attr->size) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2093 return ED_ERROR; /* String too long */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2094 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2095 /* Move text up by the length of insText */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2096 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2097 ATB_string_MoveRight(text, editor->cursor.pos, insText->len, editor->attr->size); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2098 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2099 /* Copy string into buffer */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2100 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2101 for (textIndex=0; textIndex<insText->len; textIndex++) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2102 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2103 character = ATB_string_GetChar(insText, textIndex); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2104 ATB_string_SetChar(text, editor->cursor.pos+textIndex, character); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2105 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2106 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2107 editor->cursor.pos = editor->cursor.pos+insText->len; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2108 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2109 /* Reformat updated text */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2110 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2111 ATB_edit_Update(editor, 0); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2112 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2113 return ED_OK; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2114 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2115 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2116 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2117 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2118 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2119 $Function: ATB_edit_GetCursorChar |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2120 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2121 $Description: Return the character at a position offset from the current cursor |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2122 position by the value supplied. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2123 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2124 $Returns: The character, or UNICODE_EOLN if goes beyond bounds of string. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2125 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2126 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2127 offset - The offset from the current cursor position from which |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2128 to get the character |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2129 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2130 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2131 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2132 USHORT ATB_edit_GetCursorChar(T_ED_DATA *editor, int offset) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2133 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2134 USHORT textIndex; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2135 USHORT character; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2136 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2137 TRACE_FUNCTION("ATB_edit_GetCursorChar"); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2138 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2139 textIndex = editor->cursor.pos+offset; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2140 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2141 /*a0393213 warnings removal-pointless comparison of unsigned integer with zero*/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2142 if (textIndex > editor->attr->text.len) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2143 character = UNICODE_EOLN; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2144 else |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2145 character = ATB_string_GetChar(&editor->attr->text, textIndex); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2146 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2147 return character; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2148 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2149 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2150 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2151 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2152 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2153 $Function: ATB_edit_CapitaliseWord |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2154 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2155 $Description: Returns TRUE if next word after cursor ought to be capitalised |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2156 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2157 $Returns: None. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2158 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2159 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2160 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2161 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2162 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2163 BOOL ATB_edit_CapitaliseWord(T_ED_DATA *editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2164 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2165 USHORT LastChar; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2166 USHORT CharBefore; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2167 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2168 /* First check to see if first word is to be capitalised */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2169 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2170 if (editor->textcase==ED_CASE_CAPS) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2171 return TRUE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2172 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2173 /* If not, look at preceding characters */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2174 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2175 LastChar = ATB_edit_GetCursorChar(editor, -1); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2176 CharBefore = ATB_edit_GetCursorChar(editor, -2); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2177 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2178 if (LastChar==UNICODE_FULLSTOP || LastChar==UNICODE_EXCLAMATION |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2179 || LastChar==UNICODE_QUESTION || LastChar==UNICODE_EOLN) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2180 return TRUE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2181 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2182 if (LastChar==UNICODE_SPACE) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2183 if(CharBefore==UNICODE_FULLSTOP || CharBefore==UNICODE_EXCLAMATION || CharBefore==UNICODE_QUESTION) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2184 return TRUE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2185 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2186 return FALSE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2187 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2188 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2189 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2190 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2191 $Function: ATB_edit_FindCapital |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2192 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2193 $Description: returns the code of the input char converted to a capital. If char has no |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2194 upper case equivalent returns original char. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2195 Added for issue 1508 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2196 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2197 $Returns: UBYTE |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2198 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2199 $Arguments: char |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2200 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2201 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2202 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2203 USHORT ATB_edit_FindCapital(USHORT small_char) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2204 { char ascii_code= ATB_char_Ascii(small_char); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2205 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2206 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2207 /*if "normal" character*/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2208 if (ascii_code>96 && ascii_code< 123) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2209 return (ATB_char_Unicode(ascii_code - 0x20)); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2210 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2211 switch ((UCHAR)ascii_code) /*a0393213 lint warnings removal - typecast done*/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2212 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2213 /* x0045876, 14-Aug-2006 (WR - statment unreachable) */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2214 case (130): return ATB_char_Unicode((char)154); /* break; */ /*U with umlaut*/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2215 case (132): return ATB_char_Unicode((char)142); /* break; */ /*A with umlaut*/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2216 case (148): return ATB_char_Unicode((char)153); /* break; */ /*O with umlaut*/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2217 default: return ATB_char_Unicode(ascii_code); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2218 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2219 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2220 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2221 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2222 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2223 $Function: ATB_edit_HiddenInit |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2224 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2225 $Description: Initialize editor for hidden mode. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2226 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2227 $Returns: None. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2228 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2229 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2230 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2231 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2232 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2233 ED_RES ATB_edit_HiddenInit(T_ED_DATA *editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2234 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2235 USHORT len = editor->attr->text.len; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2236 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2237 TRACE_FUNCTION("ATB_edit_HiddenInit()"); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2238 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2239 if (!editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2240 return ED_BAD_HANDLE; // element does not exist |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2241 if (editor->hiddenText) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2242 return ED_ERROR; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2243 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2244 /* get memory for the temporary buffer */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2245 editor->hiddenText = (T_ATB_TEXT *) ATB_mem_Alloc(sizeof(T_ATB_TEXT)); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2246 editor->hiddenText->len = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2247 editor->hiddenText->data = (UBYTE *)ATB_mem_Alloc(editor->attr->size*ATB_string_Size(&editor->attr->text)); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2248 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2249 /* copy text to the temporary buffer */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2250 ATB_string_Copy(editor->hiddenText, &editor->attr->text); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2251 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2252 /* overwrite the string in the editor buffer with stars */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2253 memset(editor->attr->text.data,'\0',editor->attr->size*ATB_string_Size(&editor->attr->text)); /* Clear buffer */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2254 editor->attr->text.len = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2255 ATB_edit_Reset(editor); /* Send cursor to start */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2256 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2257 while (editor->attr->text.len < len) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2258 ATB_edit_AsciiChar(editor,'*',FALSE); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2259 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2260 return ED_OK; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2261 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2262 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2263 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2264 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2265 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2266 $Function: ATB_edit_HiddenExit |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2267 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2268 $Description: Deinitialize editor for hidden mode. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2269 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2270 $Returns: None. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2271 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2272 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2273 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2274 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2275 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2276 ED_RES ATB_edit_HiddenExit(T_ED_DATA *editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2277 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2278 TRACE_FUNCTION("ATB_edit_HiddenExit()"); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2279 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2280 if (!editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2281 return ED_BAD_HANDLE; // element does not exist |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2282 if (!editor->hiddenText) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2283 return ED_ERROR; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2284 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2285 /* For hidden mode, copy the hidden text into the buffer & free memory */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2286 ATB_string_Copy(&editor->attr->text, editor->hiddenText); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2287 ATB_mem_Free ((void *)editor->hiddenText->data, editor->attr->size*ATB_string_Size(editor->hiddenText)); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2288 ATB_mem_Free ((void *)editor->hiddenText, sizeof(T_ATB_TEXT)); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2289 editor->hiddenText = NULL; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2290 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2291 /* x0045876, 14-Aug-2006 (WR - "ATB_edit_HiddenExit" should return a value) */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2292 return ED_DONE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2293 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2294 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2295 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2296 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2297 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2298 $Function: ATB_edit_Mode |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2299 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2300 $Description: Returns TRUE if the appropriate bits are set in the editor mode |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2301 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2302 $Returns: None. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2303 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2304 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2305 mode - The mode bits to check |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2306 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2307 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2308 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2309 void ATB_edit_SetAttr(T_ED_DATA *editor, T_ATB_WIN_SIZE *win_size, ULONG colour, UBYTE font, USHORT mode, USHORT cursor, T_ATB_TEXT *text, USHORT size) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2310 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2311 memcpy(&editor->attr->win_size, win_size, sizeof(T_ATB_WIN_SIZE)); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2312 editor->attr->colour = colour; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2313 editor->attr->font = font; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2314 editor->attr->cursor = cursor; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2315 editor->attr->mode = mode; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2316 memcpy(&editor->attr->text, text, sizeof(T_ATB_TEXT)); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2317 editor->attr->size = size; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2318 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2319 return; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2320 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2321 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2322 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2323 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2324 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2325 $Function: ATB_edit_Mode |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2326 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2327 $Description: Returns TRUE if the appropriate bits are set in the editor mode |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2328 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2329 $Returns: None. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2330 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2331 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2332 mode - The mode bits to check |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2333 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2334 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2335 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2336 UBYTE ATB_edit_Mode(T_ED_DATA *editor, USHORT mode) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2337 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2338 UBYTE result; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2339 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2340 if (editor->attr->mode & mode) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2341 result = TRUE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2342 else |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2343 result = FALSE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2344 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2345 return result; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2346 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2347 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2348 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2349 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2350 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2351 $Function: ATB_edit_SetMode |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2352 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2353 $Description: Sets the appropriate bits in the editor mode |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2354 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2355 $Returns: None. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2356 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2357 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2358 mode - The mode bits to set |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2359 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2360 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2361 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2362 void ATB_edit_SetMode(T_ED_DATA *editor, USHORT mode) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2363 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2364 editor->attr->mode |= mode; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2365 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2366 return; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2367 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2368 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2369 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2370 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2371 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2372 $Function: ATB_edit_ResetMode |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2373 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2374 $Description: Resets the appropriate bits in the editor mode |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2375 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2376 $Returns: None. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2377 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2378 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2379 mode - The mode bits to reset |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2380 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2381 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2382 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2383 void ATB_edit_ResetMode(T_ED_DATA *editor, USHORT mode) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2384 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2385 editor->attr->mode &= (~mode); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2386 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2387 return; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2388 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2389 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2390 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2391 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2392 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2393 $Function: ATB_edit_SetStyle |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2394 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2395 $Description: Sets the appropriate bits in the editor style |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2396 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2397 $Returns: None. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2398 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2399 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2400 format - The format bits to set |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2401 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2402 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2403 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2404 void ATB_edit_SetStyle(T_ED_DATA *editor, USHORT style) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2405 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2406 UBYTE mask; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2407 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2408 mask = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2409 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2410 switch(style) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2411 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2412 case DS_ALIGN_LEFT: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2413 case DS_ALIGN_RIGHT: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2414 case DS_ALIGN_CENTRE: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2415 mask = DS_ALIGN_RIGHT | DS_ALIGN_CENTRE; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2416 break; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2417 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2418 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2419 /* Switch off previous format */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2420 editor->attr->startFormat.attr &= (~mask); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2421 /* Switch on new format */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2422 editor->attr->startFormat.attr |= style; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2423 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2424 return; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2425 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2426 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2427 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2428 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2429 $Function: ATB_edit_ResetFormat |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2430 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2431 $Description: Resets the appropriate bits in the editor format |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2432 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2433 $Returns: None. |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2434 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2435 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2436 format - The format bits to reset |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2437 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2438 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2439 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2440 void ATB_edit_ResetFormat(T_ED_DATA *editor, USHORT format) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2441 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2442 editor->attr->startFormat.attr &= (~format); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2443 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2444 return; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2445 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2446 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2447 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2448 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2449 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2450 $Function: ATB_edit_GetCase |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2451 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2452 $Description: Returns the currently selected text case |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2453 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2454 $Returns: ED_CASE_UPPER |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2455 ED_CASE_LOWER |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2456 ED_CASE_CAPS |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2457 ED_CASE_NUM |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2458 ED_CASE_NONE |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2459 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2460 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2461 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2462 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2463 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2464 UBYTE ATB_edit_GetCase(T_ED_DATA *editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2465 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2466 return (UBYTE)editor->textcase; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2467 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2468 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2469 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2470 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2471 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2472 $Function: ATB_edit_SetCase |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2473 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2474 $Description: Changes the currently selected text case |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2475 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2476 $Returns: None |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2477 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2478 $Arguments: editor - The editor data |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2479 textcase - Case to select. One of: |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2480 ED_CASE_UPPER |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2481 ED_CASE_LOWER |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2482 ED_CASE_CAPS |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2483 ED_CASE_NUM |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2484 ED_CASE_NONE |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2485 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2486 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2487 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2488 void ATB_edit_SetCase(T_ED_DATA *editor, UBYTE textcase) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2489 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2490 editor->textcase = textcase; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2491 return; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2492 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2493 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2494 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2495 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2496 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2497 $Function: ATB_edit_LineGet |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2498 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2499 $Description: Get the pointer to the requested line in the linked list |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2500 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2501 $Returns: The required line structure |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2502 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2503 $Arguments: editor - The text editor |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2504 lineNo - The line required |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2505 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2506 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2507 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2508 T_ED_LINE *ATB_edit_LineGet(T_ED_DATA *editor, SHORT lineNo) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2509 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2510 T_ED_LINE *line = editor->line; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2511 SHORT thisLineNo; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2512 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2513 thisLineNo = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2514 if (lineNo<0) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2515 lineNo = 0; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2516 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2517 /* If the first line doesn't exist... */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2518 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2519 if (line==NULL) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2520 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2521 editor->line = (T_ED_LINE *)ATB_mem_Alloc(sizeof(T_ED_LINE)); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2522 memset(editor->line, 0, sizeof(T_ED_LINE)); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2523 editor->line->next = NULL; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2524 line = editor->line; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2525 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2526 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2527 /* Search for the line required */ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2528 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2529 while (thisLineNo<lineNo) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2530 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2531 if (line->next==NULL) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2532 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2533 line->next = (T_ED_LINE *)ATB_mem_Alloc(sizeof(T_ED_LINE)); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2534 memset(line->next, 0, sizeof(T_ED_LINE)); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2535 line->next->next = NULL; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2536 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2537 line = line->next; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2538 lineNo--; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2539 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2540 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2541 return line; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2542 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2543 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2544 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2545 /******************************************************************************* |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2546 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2547 $Function: ATB_edit_LineDestroyAll |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2548 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2549 $Description: Destroy all entries in the line linked list |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2550 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2551 $Returns: None |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2552 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2553 $Arguments: editor - The text editor |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2554 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2555 *******************************************************************************/ |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2556 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2557 static void ATB_edit_LineDestroyAll(T_ED_DATA *editor) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2558 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2559 T_ED_LINE *line = editor->line; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2560 T_ED_LINE *newLine; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2561 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2562 while (line!=NULL) |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2563 { |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2564 newLine = line->next; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2565 ATB_mem_Free((void *)line, sizeof(T_ED_LINE)); |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2566 line = newLine; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2567 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2568 |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2569 return; |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2570 } |
e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2571 #endif |