Subject: PATCH: WP tab import
From: j.m.maurer (j.m.maurer@student.utwente.nl)
Date: Wed Jan 16 2002 - 06:06:42 CST
this patch adds basic tab importing to the WordPerfect importer and
removes some comments
Bye!
Marc
Index: abiroot/abi/src/wp/impexp/xp/ie_imp_WordPerfect.cpp
===================================================================
RCS file: /cvsroot/abi/src/wp/impexp/xp/ie_imp_WordPerfect.cpp,v
retrieving revision 1.12
diff -r1.12 ie_imp_WordPerfect.cpp
702,703c702,703
< case 9: // hard EOP (TODO: implement me)
< case 28: // deletable hard EOP (TODO: treat as a hard end-of-page)
---
> case 9: // hard EOP
> case 28: // deletable hard EOP
803c803
< long startPosition;
---
> long startPosition = ftell(m_importFile);
808c808,845
< X_CheckWordPerfectError(_handleVariableGroupHeader(startPosition, tabDefinition, size, flags));
---
> X_CheckFileReadElementError(fread(&tabDefinition, sizeof(unsigned char), 1, m_importFile));
> X_CheckFileReadElementError(fread(&size, sizeof(UT_uint16), 1, m_importFile)); // I have no idea WHAT this var. does. but it's there.
>
> if(!m_undoOn)
> {
> // TODO: soft type (tab, align, centerm and so forth), (uses tab set definition type)
> if (tabDefinition & 0x01) { }
> // TODO: dot leader
> if (tabDefinition & 0x02) { }
> // TODO: generic search (only used in search code, ignore bits 0 and 1 when comparing)
> if (tabDefinition & 0x04) { }
>
> switch ((tabDefinition & 0xF8) >> 3)
> {
> case 0: // 00000b = back tab
> case 1: // 00001b = table tab
> case 2: // 00010b = left tab
> case 4: // 00100b = bar tab
> case 6: // 00110b = left indent
> case 7: // 00111b = left/right indent
> case 8: // 01000b = center on margins
> case 9: // 01001b = center on current position
> case 10: // 01010b = center tab
> case 16: // 10000b = flush right
> case 18: // 10010b = right tab
> case 26: // 11010b = decimal tab
> // TODO: fix stupid default implementation of adding just a TAB char without looking what it actually should be
> {
> wchar_t wc = 0;
> m_Mbtowc.mbtowc(wc, '\t');
> m_textBuf.append( (UT_uint16 *)&wc, 1);
> }
> break;
> default: // something else shouldn't be possible according to the documentation
> break;
> }
> }
>
810c847
<
---
>
This archive was generated by hypermail 2b25 : Wed Jan 16 2002 - 06:07:44 CST