PATCH: WP tab import


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