12#include "kchart_params.h"
13#include "koffice_export.h"
23class KCHART_EXPORT KChartPart :
public KoChart::Part
29 KChartPart( TQWidget *parentWidget = 0,
const char *widgetName = 0,
30 TQObject* parent = 0,
const char* name = 0,
31 bool singleViewMode =
false );
36 virtual bool initDoc(InitDocFlags flags, TQWidget* parentWidget=0);
38 virtual void paintContent( TQPainter& painter,
const TQRect& rect,
39 bool transparent =
false,
40 double zoomX = 1.0,
double zoomY = 1.0 );
45 virtual void resizeData(
int rows,
int columns );
46 virtual void setCellData(
int row,
int column,
const TQVariant &);
47 virtual void analyzeHeaders( );
48 virtual void setCanChangeValue(
bool b ) { m_bCanChangeValue = b; }
52 void analyzeHeaders(
const KDChartTableData& data );
53 void doSetData(
const KDChartTableData& data,
55 bool firstRowHeader );
57 bool showWizard( TQString &dataArea );
58 void initLabelAndLegend();
59 void loadConfig(TDEConfig *conf);
60 void saveConfig(TDEConfig *conf);
63 KChartParams::ChartType chartType()
const {
return (KChartParams::ChartType) params()->chartType(); }
64 KDChartTableData *data() {
return &m_currentData; }
65 KChartParams *params()
const {
return m_params; }
67 TQStringList &rowLabelTexts() {
return m_rowLabels; }
68 TQStringList &colLabelTexts() {
return m_colLabels; }
71 virtual TQDomDocument saveXML();
72 virtual bool loadXML( TQIODevice *,
const TQDomDocument& doc );
73 virtual bool loadOasis(
const TQDomDocument& doc,
74 KoOasisStyles& oasisStyles,
75 const TQDomDocument& settings,
77 virtual bool saveOasis( KoStore* store,
78 KoXmlWriter* manifestWriter );
80 bool canChangeValue()
const {
return m_bCanChangeValue; }
85 void generateBarChartTemplate();
87 virtual bool showEmbedInitDialog(TQWidget* parent);
91 virtual void initEmpty();
97 virtual KoView* createViewInstance( TQWidget* parent,
const char* name );
98 bool loadOldXML(
const TQDomDocument& doc );
99 bool loadAuxiliary(
const TQDomDocument& doc );
100 bool loadData(
const TQDomDocument& doc, KDChartTableData& currentData );
101 bool loadOasisData(
const TQDomElement& tableElem );
102 void saveOasisData( KoXmlWriter* bodyWriter, KoGenStyles& mainStyles )
const;
103 void writeAutomaticStyles( KoXmlWriter& contentWriter, KoGenStyles& mainStyles )
const;
107 int createDisplayData();
108 void createLabelsAndLegend( TQStringList &longLabels,
109 TQStringList &shortLabels );
112 TQDomElement createElement(
const TQString &tagName,
114 TQDomDocument &doc)
const;
115 TQFont toFont(TQDomElement &element)
const;
117 void setChartDefaults();
121 KChartParams *m_params;
122 KDChartTableData m_currentData;
123 TQStringList m_rowLabels;
124 TQStringList m_colLabels;
128 bool m_bCanChangeValue;
131 TQWidget *m_parentWidget;
134 KDChartTableData m_displayData;
136 TQPixmap m_bufferPixmap;
140class WizardExt :
public KoChart::WizardExtension
143 WizardExt( KoChart::Part *part )
144 : KoChart::WizardExtension( part ) {};
146 virtual bool show( TQString &dataArea ) {
147 return static_cast<KChartPart *
>( part() )->showWizard( dataArea );