merged tag ooo/OOO330_m14
[LibreOffice.git] / sc / source / filter / inc / scflt.hxx
blob995de274b28bc51871fbb0883e1a4390877f6c1c
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org. If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
26 ************************************************************************/
28 #ifndef SC_SCFLT_HXX
29 #define SC_SCFLT_HXX
31 #include "viewopti.hxx"
32 #include "collect.hxx"
33 #include <tools/solar.h>
35 // FehlerNummern
36 #define errUnknownFormat 1
37 #define errUnknownID 2
38 #define errOutOfMemory 3
40 // Identifiers im FileFormat
41 #define ColWidthID 1
42 #define ColAttrID 2
43 #define RowHeightID 3
44 #define RowAttrID 4
45 #define FontID 5
46 #define NameID 6
47 #define TableID 7
48 #define ObjectID 8
49 #define PatternID 9
50 #define DataBaseID 10
52 // Zeilen/Spalten Flags
53 #define crfSoftBreak 1
54 #define crfHardBreak 2
55 #define crfHidden 4
57 // Zelltypen
58 #define ctValue 1
59 #define ctString 2
60 #define ctFormula 3
61 #define ctNote 4
63 // FontStyles
64 #define ffDontCare 0x00
65 #define ffRoman 0x10
66 #define ffSwiss 0x20
67 #define ffModern 0x30
68 #define ffScript 0x40
69 #define ffDecorative 0x50
71 // FontWeight
72 #define fwNormal 400
74 // FontAttribute
75 #define atNone 0
76 #define atBold 1
77 #define atItalic 2
78 #define atUnderline 4
79 #define atStrikeOut 8
81 // Horizontale Ausrichtung
82 #define hjNone 0
83 #define hjLeft 1
84 #define hjCenter 2
85 #define hjRight 3
87 // Vertikale Ausrichtung
88 #define vjNone 0
89 #define vjTop 1
90 #define vjCenter 2
91 #define vjBottom 3
93 // AusrichtungsFlags
94 #define ojWordBreak 0x01
95 #define ojBottomTop 0x02
96 #define ojTopBottom 0x04
98 // ZellRaster
99 #define raNone 0
100 #define raGray12 1
101 #define raGray25 2
102 #define raGray50 3
103 #define raGray75 4
104 #define raGray100 5
106 // Zellschutz
107 #define paProtect 1
108 #define paHideFormula 2
109 #define paHideAll 4
110 #define paHidePrint 8
112 // ZahlenFormatFlags
113 #define vfStandard 0
114 #define vfMoney 1
115 #define vfThousend 2
116 #define vfPercent 3
117 #define vfExponent 4
118 #define vfZerro 5
119 #define vfDate 6
120 #define vfTime 7
121 #define vfBoolean 8
122 #define vfStandardRed 9
123 #define vfMoneyRed 10
124 #define vfThousendRed 11
125 #define vfPercentRed 12
126 #define vfExponentRed 13
127 #define vfFormula 14
128 #define vfString 15
129 #define vfNone 16
131 // DatumsFormatFlags
132 #define df_NDMY_Long 0
133 #define df_DMY_Long 1
134 #define df_MY_Long 2
135 #define df_NDM_Long 3
136 #define df_DM_Long 4
137 #define df_M_Long 5
138 #define df_NDMY_Short 6
139 #define df_DMY_Short 7
140 #define df_MY_Short 8
141 #define df_NDM_Short 9
142 #define df_DM_Short 10
143 #define df_M_Short 11
144 #define df_Q_Long 12
145 #define df_Q_Short 13
147 // ZeitFormatFlags
148 #define tf_HMS_Long 0
149 #define tf_HM_Long 1
150 #define tf_HMS_Short 2
151 #define tf_HM_Short 3
153 // Attribute fuer FormatVorlage
154 #define pfValue 0x01
155 #define pfFont 0x02
156 #define pfJustify 0x04
157 #define pfFrame 0x08
158 #define pfRaster 0x10
159 #define pfProtection 0x20
161 // Displayflags fuer die Tabelle
162 #define dfFormula 0x0001 // Formeln
163 #define dfZerro 0x0002 // Nullwerte
164 #define dfGrid 0x0004 // Gitternetz
165 #define dfPageBreak 0x0008 // Seitenumbruch
166 #define dfColRowBar 0x0010 // Zeilen/Spalten Koepfe (Dummy)
167 #define dfSyntax 0x0020 // Syntax Highlighting
168 #define dfPrintPage 0x0040 // Druckbildansicht (Dummy)
169 #define dfObjectAll 0x0080 // Objekte anzeigen
170 #define dfObjectFrame 0x0100 // Objekte als Platzhalter
171 #define dfObjectNone 0x0200 // Objekte nicht anzeigen
172 #define dfNoteMark 0x0400 // Notizanzeiger
173 #define dfProtectMark 0x0800 // Schutzanzeiger
175 // Objekt Typen
176 #define otNone 0 // s.u.
177 #define otOle 1
178 #define otImage 2
179 #define otChart 3
181 // Grafik Typen
182 #define gtNone 0 // Kann nicht vorkommen
183 #define gtOle 1 // Ole 1.0 Objekt
184 #define gtImage 2 // Image (Bitmap oder Metafile)
185 #define gtChart 3 // Chart
187 // Datum/Uhrzeit
188 struct Sc10DateTime
190 USHORT Year;
191 USHORT Month;
192 USHORT Day;
193 USHORT Hour;
194 USHORT Min;
195 USHORT Sec;
198 // ZahlenFormate
199 struct Sc10ValueFormat
201 BYTE Format; // Zahl, Waehrung, Prozent etc.
202 BYTE Info; // Anzahl Nachkommastellen, Anzahl Stellen, bzw. Datums/Zeitformat
205 // Fontbeschreibung
206 struct Sc10LogFont
208 INT16 lfHeight;
209 INT16 lfWidth;
210 INT16 lfEscapement;
211 INT16 lfOrientation;
212 INT16 lfWeight;
213 BYTE lfItalic;
214 BYTE lfUnderline;
215 BYTE lfStrikeOut;
216 BYTE lfCharSet;
217 BYTE lfOutPrecision;
218 BYTE lfClipPrecision;
219 BYTE lfQuality;
220 BYTE lfPitchAndFamily;
221 sal_Char lfFaceName[32];
223 int operator==( const Sc10LogFont& rData ) const;
226 // RGB-Frabwerte
227 struct Sc10Color
229 BYTE Dummy;
230 BYTE Blue;
231 BYTE Green;
232 BYTE Red;
233 int operator==( const Sc10Color& rColor ) const;
236 // Blockbeschreibung
237 struct Sc10BlockRect
239 INT16 x1;
240 INT16 y1;
241 INT16 x2;
242 INT16 y2;
245 // Datenbank-Bereich
246 struct Sc10DataBaseRec
248 sal_Char Name[32];
249 INT16 Tab;
250 Sc10BlockRect Block;
251 BYTE RowHeader;
252 INT16 SortField0;
253 BYTE SortUpOrder0;
254 INT16 SortField1;
255 BYTE SortUpOrder1;
256 INT16 SortField2;
257 BYTE SortUpOrder2;
258 BYTE IncludeFormat;
259 INT16 QueryField0;
260 INT16 QueryOp0;
261 BYTE QueryByString0;
262 sal_Char QueryString0[64];
263 double QueryValue0;
264 INT16 QueryConnect1;
265 INT16 QueryField1;
266 INT16 QueryOp1;
267 BYTE QueryByString1;
268 sal_Char QueryString1[64];
269 double QueryValue1;
270 INT16 QueryConnect2;
271 INT16 QueryField2;
272 INT16 QueryOp2;
273 BYTE QueryByString2;
274 sal_Char QueryString2[64];
275 double QueryValue2;
278 // Kopf/Fusszeilen-Beschreibung
279 struct Sc10HeadFootLine
281 sal_Char Title[128];
282 Sc10LogFont LogFont;
283 BYTE HorJustify;
284 BYTE VerJustify;
285 USHORT Raster;
286 USHORT Frame;
287 Sc10Color TextColor;
288 Sc10Color BackColor;
289 Sc10Color RasterColor;
290 USHORT FrameColor; // Nibble Codierte Farben link oben rechts unten
291 USHORT Reserved;
293 int operator==( const Sc10HeadFootLine& rData ) const;
296 // Seitenformat
297 struct Sc10PageFormat
299 Sc10HeadFootLine HeadLine;
300 Sc10HeadFootLine FootLine;
301 INT16 Orientation;
302 INT16 Width;
303 INT16 Height;
304 INT16 NonPrintableX;
305 INT16 NonPrintableY;
306 INT16 Left;
307 INT16 Top;
308 INT16 Right;
309 INT16 Bottom;
310 INT16 Head;
311 INT16 Foot;
312 BYTE HorCenter;
313 BYTE VerCenter;
314 BYTE PrintGrid;
315 BYTE PrintColRow;
316 BYTE PrintNote;
317 BYTE TopBottomDir;
318 sal_Char PrintAreaName[32];
319 Sc10BlockRect PrintArea;
320 sal_Char PrnZoom[6]; // Pascal 6 Byte Realzahl
321 USHORT FirstPageNo;
322 INT16 RowRepeatStart;
323 INT16 RowRepeatEnd;
324 INT16 ColRepeatStart;
325 INT16 ColRepeatEnd;
326 sal_Char Reserved[26];
328 int operator==( const Sc10PageFormat& rData ) const;
331 // Tabellenschutz
332 struct Sc10TableProtect
334 sal_Char PassWord[16];
335 USHORT Flags;
336 BYTE Protect;
339 // Documentschutz
340 struct Sc10SheetProtect
342 sal_Char PassWord[16];
343 USHORT Flags;
344 BYTE Protect;
347 // Dateikopf StarCalc 1.0 Datei
348 struct Sc10FileHeader
350 sal_Char CopyRight[30];
351 USHORT Version;
352 sal_Char Reserved[32];
355 // Benutzer-Definierte Datei-Beschreibung
356 struct Sc10FileInfo
358 sal_Char Title[64];
359 sal_Char Thema[64];
360 sal_Char Keys[64];
361 sal_Char Note[256];
362 sal_Char InfoLabel0[16];
363 sal_Char InfoLabel1[16];
364 sal_Char InfoLabel2[16];
365 sal_Char InfoLabel3[16];
366 sal_Char Info0[32];
367 sal_Char Info1[32];
368 sal_Char Info2[32];
369 sal_Char Info3[32];
370 sal_Char CreateAuthor[64];
371 sal_Char ChangeAuthor[64];
372 sal_Char PrintAuthor[64];
373 Sc10DateTime CreateDate;
374 Sc10DateTime ChangeDate;
375 Sc10DateTime PrintDate;
376 sal_uInt32 PageCount;
377 sal_uInt32 ChartCount;
378 sal_uInt32 PictureCount;
379 sal_uInt32 GraphCount;
380 sal_uInt32 OleCount;
381 sal_uInt32 NoteCount;
382 sal_uInt32 TextCellCount;
383 sal_uInt32 ValueCellCount;
384 sal_uInt32 FormulaCellCount;
385 sal_uInt32 CellCount;
386 sal_Char Reserved[52];
389 // Letze Cursorposition
390 struct Sc10EditStateInfo
392 // Cursor Position
393 USHORT CarretX;
394 USHORT CarretY;
395 USHORT CarretZ;
396 // Linke obere Ecke der Tabelle im Fenster
397 USHORT DeltaX;
398 USHORT DeltaY;
399 USHORT DeltaZ;
400 // Ueberfluessig in StarCalc 3.0
401 BYTE DataBaseMode;
402 sal_Char Reserved[51];
405 // Attribut-Eintrag
406 struct Sc10ColData
408 USHORT Row;
409 USHORT Value;
412 // ZellAttribut-Beschreibung
413 struct Sc10ColAttr
415 USHORT Count;
416 Sc10ColData* pData;
418 Sc10ColAttr() : pData(NULL) {}
421 // GraphHeader
422 struct Sc10GraphHeader
424 BYTE Typ; // Typ der Grafik (Ole-Objekt, Image (Bitmap oder MetaFile), Chart-Object)
425 INT16 CarretX; // ZellPosition der Grafik
426 INT16 CarretY;
427 INT16 CarretZ;
428 INT32 x; // x,y Abstand zum Zellrand in Pixel (Pixel weil ich Grafiken in Fenstern ablege)
429 INT32 y;
430 INT32 w; // w,h Breite und Hoehe in Pixel
431 INT32 h;
432 BYTE IsRelPos; // Ist die Position relativ zur Zelle oder absolute in der Tabelle
433 BYTE DoPrint; // Soll die Grafik ausgedruckt werden
434 USHORT FrameType; // Art der Umrandung um die Grafik (Keine, Einfach, Doppelt, Einfach Dick, Doppelt Dick)
435 BYTE IsTransparent; // Soll der Hintergrund gezeichnet werden
436 Sc10Color FrameColor; // Umrandungsfarbe als RGB-Wert
437 Sc10Color BackColor; // Hintergrundfarbe als RGB-Wert
438 sal_Char Reserved[32]; // Na was wohl
441 // ImageHeader
442 struct Sc10ImageHeader
444 sal_Char FileName[128]; // Dateiname des urspruenglich eingefuegten Bildes
445 INT16 Typ; // Typ der Grafik (Bitmap oder Metafile)
446 BYTE Linked; // Kann nicht vorkommen
447 INT16 x1; // Urspruengliche Groesse der Grafik (nur fuer Metafiles)
448 INT16 y1;
449 INT16 x2;
450 INT16 y2;
451 sal_uInt32 Size; // Groesse der Grafik in BYTES
454 // ChartHeader
455 struct Sc10ChartHeader
457 INT16 MM; // Meatfile Struktur MapMode, Breite, Hoehe
458 INT16 xExt;
459 INT16 yExt;
460 sal_uInt32 Size; // Groesse der Grafik in BYTES
463 // ChartSheetData
464 struct Sc10ChartSheetData
466 BYTE HasTitle; // Hat das Chart Daten aus der Tabell fuer einen Titel
467 INT16 TitleX; // Zellposition des Titels
468 INT16 TitleY;
469 BYTE HasSubTitle; // Hat das Chart Daten aus der Tabell fuer einen Untertitel
470 INT16 SubTitleX; // Zellposition des Untertitels
471 INT16 SubTitleY;
472 BYTE HasLeftTitle; // Hat das Chart Daten aus der Tabelle fuer einen Linken-Titel
473 INT16 LeftTitleX; // Zellposition des Linken-Titels
474 INT16 LeftTitleY;
475 BYTE HasLegend; // Hat das Chart Daten aus der Tabelle fuer eine Legende
476 INT16 LegendX1; // Zellen der Legende
477 INT16 LegendY1;
478 INT16 LegendX2;
479 INT16 LegendY2;
480 BYTE HasLabel; // Hat das Chart Daten aus der Tabelle fuer die Achsbeschriftung
481 INT16 LabelX1; // Zellen der Achsbeschriftung
482 INT16 LabelY1;
483 INT16 LabelX2;
484 INT16 LabelY2;
485 INT16 DataX1; // Zellen der Daten
486 INT16 DataY1;
487 INT16 DataX2;
488 INT16 DataY2;
489 sal_Char Reserved[64];
492 #define AGPie2D 1 // Pie Chart 2D
493 #define AGPie3D 2 // Pie Chart 3D
494 #define AGBar2D 3 // Bar Chart 2D
495 #define AGBar3D 4 // Bar Chart 3D
496 #define AGGantt 5 // Gantt Diagramm
497 #define AGLine 6 // Line Chart
498 #define AGLogLine 7 // Logarythmic-Coordinate Chart
499 #define AGArea 8 // Area Chart
500 #define AGHLC 11 // High-Low-Close Chart
501 #define AGPolar 10 // Polar-Coordinate Chart
503 typedef sal_Char Sc10ChartText[30];
505 struct Sc10ChartTypeData
507 INT16 NumSets;
508 INT16 NumPoints;
509 INT16 DrawMode;
510 INT16 GraphType;
511 INT16 GraphStyle;
512 sal_Char GraphTitle[80];
513 sal_Char BottomTitle[80];
514 INT16 SymbolData[256];
515 INT16 ColorData[256];
516 INT16 ThickLines[256];
517 INT16 PatternData[256];
518 INT16 LinePatternData[256];
519 INT16 NumGraphStyles[11];
520 INT16 ShowLegend;
521 Sc10ChartText LegendText[256];
522 INT16 ExplodePie;
523 INT16 FontUse;
524 INT16 FontFamily[5];
525 INT16 FontStyle[5];
526 INT16 FontSize[5];
527 INT16 GridStyle;
528 INT16 Labels;
529 INT16 LabelEvery;
530 Sc10ChartText LabelText[50];
531 sal_Char LeftTitle[80];
532 sal_Char Reserved[4646];
536 // FontAttribut
537 class Sc10FontData : public ScDataObject
539 public:
540 INT16 Height;
541 BYTE CharSet;
542 BYTE PitchAndFamily;
543 sal_Char FaceName[32];
545 Sc10FontData( const Sc10FontData& rData ) :
546 ScDataObject( rData ),
547 Height( rData.Height ),
548 CharSet( rData.CharSet ),
549 PitchAndFamily( rData.PitchAndFamily )
551 strncpy( FaceName, rData.FaceName, sizeof(FaceName) );
552 FaceName[sizeof(FaceName)-1] = 0;
554 Sc10FontData( SvStream& rStream );
555 virtual ScDataObject* Clone() const { return new Sc10FontData(*this); }
559 // Font-Collection
560 class Sc10FontCollection : public ScCollection
562 protected:
563 ULONG nError;
564 public:
565 Sc10FontCollection( SvStream& rStream );
566 ULONG GetError() { return nError; }
567 Sc10FontData* At(USHORT nIndex) { return (Sc10FontData*)ScCollection::At(nIndex); }
568 private:
569 using ScCollection::At;
573 //BereichsDaten
574 class Sc10NameData : public ScDataObject
576 public :
577 sal_Char Name[32];
578 sal_Char Reference[64];
579 sal_Char Reserved[12];
581 Sc10NameData(const Sc10NameData& rData) :
582 ScDataObject( rData )
584 strncpy(Name, rData.Name, sizeof(Name));
585 Name[sizeof(Name)-1] = 0;
586 strncpy(Reference, rData.Reference, sizeof(Reference));
587 Reference[sizeof(Reference)-1] = 0;
588 memcpy(Reserved, rData.Reserved, sizeof(Reserved));
590 Sc10NameData(SvStream& rStream);
591 virtual ScDataObject* Clone() const { return new Sc10NameData(*this); }
595 // Bereichs-Collection
596 class Sc10NameCollection : public ScCollection
598 protected:
599 ULONG nError;
600 public:
601 Sc10NameCollection(SvStream& rStream);
602 ULONG GetError() { return nError; }
603 Sc10NameData* At(USHORT nIndex) { return (Sc10NameData*)ScCollection::At(nIndex); }
604 private:
605 using ScCollection::At;
609 // Vorlage-Daten
610 class Sc10PatternData : public ScDataObject
612 public:
613 sal_Char Name[32];
614 Sc10ValueFormat ValueFormat;
615 Sc10LogFont LogFont;
616 USHORT Attr;
617 USHORT Justify;
618 USHORT Frame;
619 USHORT Raster;
620 USHORT nColor;
621 USHORT FrameColor;
622 USHORT Flags;
623 USHORT FormatFlags;
624 sal_Char Reserved[8];
626 Sc10PatternData(const Sc10PatternData& rData) :
627 ScDataObject( rData )
629 strncpy(Name, rData.Name, sizeof(Name));
630 Name[sizeof(Name)-1] = 0;
631 memcpy(&ValueFormat, &rData.ValueFormat, sizeof(ValueFormat));
632 memcpy(&LogFont, &rData.LogFont, sizeof(LogFont));
633 Attr = rData.Attr;
634 Justify = rData.Justify;
635 Frame = rData.Frame;
636 Raster = rData.Raster;
637 nColor = rData.nColor;
638 FrameColor = rData.FrameColor;
639 Flags = rData.Flags;
640 FormatFlags = rData.FormatFlags;
641 memcpy(Reserved, rData.Reserved, sizeof(Reserved));
643 Sc10PatternData(SvStream& rStream);
644 virtual ScDataObject* Clone() const { return new Sc10PatternData(*this); }
648 // Vorlage-Collection
649 class Sc10PatternCollection : public ScCollection
651 protected:
652 ULONG nError;
653 public:
654 Sc10PatternCollection(SvStream& rStream);
655 ULONG GetError() { return nError; }
656 Sc10PatternData* At(USHORT nIndex) { return (Sc10PatternData*)ScCollection::At(nIndex); }
657 private:
658 using ScCollection::At;
662 // DatenBank-Daten
663 class Sc10DataBaseData : public ScDataObject
665 public:
666 Sc10DataBaseRec DataBaseRec;
668 Sc10DataBaseData(const Sc10DataBaseData& rData) :
669 ScDataObject( rData )
671 memcpy(&DataBaseRec, &rData.DataBaseRec, sizeof(DataBaseRec));
673 Sc10DataBaseData(SvStream& rStream);
674 virtual ScDataObject* Clone() const { return new Sc10DataBaseData(*this); }
678 // DatenBank-Collection
679 class Sc10DataBaseCollection : public ScCollection
681 protected:
682 ULONG nError;
683 sal_Char ActName[32];
684 public:
685 Sc10DataBaseCollection(SvStream& rStream);
686 ULONG GetError() { return nError; }
687 Sc10DataBaseData* At(USHORT nIndex) { return (Sc10DataBaseData*)ScCollection::At(nIndex); }
688 private:
689 using ScCollection::At;
693 class Sc10PageData : public ScDataObject
695 public:
696 Sc10PageFormat aPageFormat;
697 Sc10PageData( const Sc10PageFormat& rFormat ) : aPageFormat(rFormat) {}
698 int operator==( const Sc10PageData& rData ) const
699 { return aPageFormat == rData.aPageFormat; }
700 virtual ScDataObject* Clone() const;
703 // Seitenformat-Collection
704 class Sc10PageCollection : public ScCollection
706 public:
707 Sc10PageCollection() : ScCollection(1,1) {};
708 Sc10PageData* At(USHORT nIndex) { return (Sc10PageData*)ScCollection::At(nIndex); }
709 USHORT InsertFormat( const Sc10PageFormat& rData );
710 void PutToDoc( ScDocument* pDoc );
711 private:
712 using ScCollection::At;
716 class ScfStreamProgressBar;
718 // Import-Klasse
719 class Sc10Import
721 SvStream& rStream;
722 ScDocument* pDoc;
723 Sc10Color TextPalette[16];
724 Sc10Color BackPalette[16];
725 Sc10Color RasterPalette[16];
726 Sc10Color FramePalette[16];
727 Sc10SheetProtect SheetProtect;
728 Sc10FontCollection* pFontCollection;
729 Sc10NameCollection* pNameCollection;
730 Sc10PatternCollection* pPatternCollection;
731 Sc10DataBaseCollection* pDataBaseCollection;
732 ULONG nError;
733 INT16 TabCount;
734 SCTAB nShowTab;
735 ScViewOptions aSc30ViewOpt;
736 ScfStreamProgressBar* pPrgrsBar;
738 public:
739 Sc10Import( SvStream& rStr, ScDocument* pDocument );
740 ~Sc10Import();
742 ULONG Import();
743 void LoadFileHeader();
744 void LoadFileInfo();
745 void LoadEditStateInfo();
746 void LoadProtect();
747 void LoadViewColRowBar();
748 void LoadScrZoom();
749 void LoadPalette();
750 void LoadFontCollection();
751 void LoadNameCollection();
752 void ImportNameCollection();
753 void LoadPatternCollection();
754 void LoadDataBaseCollection();
755 void LoadTables();
756 void LoadCol(SCCOL Col, SCTAB Tab);
757 void LoadColAttr(SCCOL Col, SCTAB Tab);
758 void LoadAttr(Sc10ColAttr& rAttr);
759 void ChangeFormat(USHORT nFormat, USHORT nInfo, ULONG& nKey);
760 void LoadObjects();
763 #endif