This class parses Microsoft Works graph file. More...
#include <LotusGraph.h>
| Public Member Functions | |
| LotusGraph (LotusParser &parser) | |
| constructor | |
| ~LotusGraph () | |
| destructor | |
| void | cleanState () | 
| clean internal state | |
| void | setListener (WKSContentListenerPtr &listen) | 
| sets the listener | |
| void | updateState (std::map< int, int > const &zIdToSheetIdMap, std::map< std::string, int > const &nameToChartIdMap) | 
| update the state (need to be called before sending data) | |
| Protected Member Functions | |
| int | version () const | 
| return the file version | |
| bool | hasGraphics (int sheetId) const | 
| return true if the sheet sheetId has some graphic | |
| void | sendGraphics (int sheetId) | 
| send the graphics corresponding to a sheetId | |
| void | sendZone (LotusGraphInternal::ZonePcList const &zoneList, size_t id, WPSTransformation const &transf) | 
| try to send a shape: 123 pc | |
| void | sendPicture (LotusGraphInternal::ZoneMac const &zone) | 
| try to send a picture: 123 mac | |
| void | sendTextBox (std::shared_ptr< WPSStream > stream, WPSEntry const &entry) | 
| try to send a textbox content's | |
| void | sendTextBoxWK4 (std::shared_ptr< WPSStream > stream, WPSEntry const &entry, bool isButton) | 
| try to send a textbox content's | |
| bool | setChartId (int chartId) | 
| sets the current chart id(interface with LotusChart) | |
| bool | readZoneBegin (std::shared_ptr< WPSStream > stream, long endPos) | 
| reads a begin graphic zone: 2328 (wk3mac) | |
| bool | readZoneData (std::shared_ptr< WPSStream > stream, long endPos, int type) | 
| reads a graphic zone: 2332, 2346, 2350, 2352, 23f0 (wk3mac) | |
| bool | readTextBoxData (std::shared_ptr< WPSStream > stream, long endPos) | 
| reads a graphic textbox data: 23f0 (wk3mac) | |
| bool | readPictureDefinition (std::shared_ptr< WPSStream > stream, long endPos) | 
| reads a picture definition: 240e (wk3mac) | |
| bool | readPictureData (std::shared_ptr< WPSStream > stream, long endPos) | 
| reads a picture data: 2410 (wk3mac) | |
| bool | readFMTPictName (std::shared_ptr< WPSStream > stream) | 
| try to read the pict filename, ...: b7 (wk3-wk4 pc) | |
| bool | readZoneBeginC9 (std::shared_ptr< WPSStream > stream) | 
| try to read the sheet id: 0xc9 (wk4) | |
| bool | readGraphic (std::shared_ptr< WPSStream > stream) | 
| try to read a graphic: 0xca (wk4) | |
| bool | readFrame (std::shared_ptr< WPSStream > stream) | 
| try to read a graph's frame: 0xcc (wk4) | |
| bool | readTextBoxDataD1 (std::shared_ptr< WPSStream > stream) | 
| reads a graphic textbox data: 0xd1 (wk4) | |
| bool | readGraphZone (std::shared_ptr< WPSStream > stream, int zId) | 
| try to read the graphic zone: 1XXX | |
| bool | readGraphDataZone (std::shared_ptr< WPSStream > stream, long endPos) | 
| try to read the graphic data zone: 010d | |
| Private Member Functions | |
| LotusGraph (LotusGraph const &orig)=delete | |
| LotusGraph & | operator= (LotusGraph const &orig)=delete | 
| Private Attributes | |
| std::shared_ptr< WKSContentListener > | m_listener | 
| LotusParser & | m_mainParser | 
| the listener (if set) | |
| std::shared_ptr< LotusStyleManager > | m_styleManager | 
| the style manager | |
| std::shared_ptr< LotusGraphInternal::State > | m_state | 
| the internal state | |
| Friends | |
| class | LotusParser | 
| class | LotusGraphInternal::SubDocument | 
This class parses Microsoft Works graph file.
| 
 | explicit | 
constructor
Referenced by LotusGraph(), and operator=().
| LotusGraph::~LotusGraph | ( | ) | 
destructor
| 
 | privatedelete | 
| void LotusGraph::cleanState | ( | ) | 
clean internal state
| 
 | protected | 
return true if the sheet sheetId has some graphic
| 
 | privatedelete | 
| 
 | protected | 
try to read the pict filename, ...: b7 (wk3-wk4 pc)
| 
 | protected | 
try to read a graph's frame: 0xcc (wk4)
| 
 | protected | 
try to read the graphic data zone: 010d
| 
 | protected | 
try to read a graphic: 0xca (wk4)
| 
 | protected | 
try to read the graphic zone: 1XXX
| 
 | protected | 
reads a picture data: 2410 (wk3mac)
| 
 | protected | 
reads a picture definition: 240e (wk3mac)
| 
 | protected | 
reads a graphic textbox data: 23f0 (wk3mac)
| 
 | protected | 
reads a graphic textbox data: 0xd1 (wk4)
| 
 | protected | 
reads a begin graphic zone: 2328 (wk3mac)
| 
 | protected | 
try to read the sheet id: 0xc9 (wk4)
| 
 | protected | 
reads a graphic zone: 2332, 2346, 2350, 2352, 23f0 (wk3mac)
| 
 | protected | 
send the graphics corresponding to a sheetId
| 
 | protected | 
try to send a picture: 123 mac
Referenced by sendGraphics().
| 
 | protected | 
try to send a textbox content's
| 
 | protected | 
try to send a textbox content's
| 
 | protected | 
try to send a shape: 123 pc
Referenced by sendGraphics(), and sendZone().
| 
 | protected | 
sets the current chart id(interface with LotusChart)
| 
 | inline | 
sets the listener
| void LotusGraph::updateState | ( | std::map< int, int > const & | zIdToSheetIdMap, | 
| std::map< std::string, int > const & | nameToChartIdMap ) | 
update the state (need to be called before sending data)
\param zIdToSheetIdMap the correspondance between a zone and a sheet: defined in .123 \param nameToChartIdMap the name and the id of each chart's: used to retrieve the correspondance betweeen a graphic's chart and the chart in .wk4
| 
 | protected | 
return the file version
Referenced by readFMTPictName(), readGraphDataZone(), and readGraphZone().
| 
 | friend | 
| 
 | friend | 
Referenced by LotusGraph(), LotusGraphInternal::SubDocument, and LotusParser.
| 
 | private | 
Referenced by LotusGraph(), sendGraphics(), sendPicture(), sendTextBox(), sendTextBoxWK4(), sendZone(), and setListener().
| 
 | private | 
the listener (if set)
the main parser
Referenced by LotusGraph(), sendGraphics(), sendTextBox(), sendTextBoxWK4(), and version().
| 
 | private | 
the internal state
Referenced by cleanState(), hasGraphics(), LotusGraph(), readFMTPictName(), readFrame(), readGraphDataZone(), readGraphic(), readGraphZone(), readPictureData(), readPictureDefinition(), readTextBoxData(), readTextBoxDataD1(), readZoneBegin(), readZoneBeginC9(), readZoneData(), sendGraphics(), setChartId(), updateState(), and version().
| 
 | private | 
the style manager
Referenced by LotusGraph(), readGraphic(), sendGraphics(), sendPicture(), sendTextBox(), and sendZone().