Commit d1cf17e4 authored by Dmitry.Vikulov's avatar Dmitry.Vikulov Committed by Alexander.Trofimov

Сделана поддержка шрифтов для диаграмм.

***Необходимы доработки в релизном меню:
- Добавлен класс asc_CChartHeader(вместо chart.title и т.д)
- Проверка валидности диапазона диаграммы теперь через api.asc_checkChartInterval

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@47246 954022d7-b5bf-4e40-9824-e11837661b57
parent 7d4eb966
This diff is collapsed.
...@@ -26,7 +26,6 @@ function ChartRender() { ...@@ -26,7 +26,6 @@ function ChartRender() {
} }
} }
//var arrBaseColors = ["#4572A7", "#AA4643", "#89A54E", "#71588F", "#4198AF", "#DB843D"];
var arrBaseColors = []; var arrBaseColors = [];
function ChartStyleManager() { function ChartStyleManager() {
...@@ -287,9 +286,9 @@ function ChartPreviewManager() { ...@@ -287,9 +286,9 @@ function ChartPreviewManager() {
// Create and minimize properties // Create and minimize properties
var chart = new CChartData(false); var chart = new CChartData(false);
chart.xAxis.show = chart.xAxis.grid = false; chart.xAxis.bShow = chart.xAxis.bGrid = false;
chart.yAxis.show = chart.yAxis.grid = false; chart.yAxis.bShow = chart.yAxis.bGrid = false;
chart.legend.show = false; chart.legend.bShow = false;
chart.type = chartType; chart.type = chartType;
chart.styleId = parseInt(style); chart.styleId = parseInt(style);
...@@ -635,6 +634,7 @@ function calcAllMargin(isFormatCell,isformatCellScOy,minX,maxX,minY,maxY) { ...@@ -635,6 +634,7 @@ function calcAllMargin(isFormatCell,isformatCellScOy,minX,maxX,minY,maxY) {
//----------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------
// Draw // Draw
//----------------------------------------------------------------------------------- //-----------------------------------------------------------------------------------
function checkDataRange(type,subType,dataRange,isRows,worksheet) { function checkDataRange(type,subType,dataRange,isRows,worksheet) {
var columns = false; var columns = false;
var rows = false; var rows = false;
...@@ -1387,12 +1387,12 @@ function drawChart(chart, arrValues, width, height) { ...@@ -1387,12 +1387,12 @@ function drawChart(chart, arrValues, width, height) {
break; break;
} }
if(!chart.yAxis.show) if(!chart.yAxis.bShow)
{ {
bar._otherProps._ylabels = false; bar._otherProps._ylabels = false;
bar._otherProps._noyaxis = true; bar._otherProps._noyaxis = true;
} }
if(!chart.xAxis.show) if(!chart.xAxis.bShow)
{ {
bar._otherProps._xlabels = false; bar._otherProps._xlabels = false;
bar._otherProps._noxaxis = true; bar._otherProps._noxaxis = true;
...@@ -1416,8 +1416,8 @@ function drawChart(chart, arrValues, width, height) { ...@@ -1416,8 +1416,8 @@ function drawChart(chart, arrValues, width, height) {
chart.yAxis.title = defaultYTitle; chart.yAxis.title = defaultYTitle;
if((!chart.xAxis.title || chart.xAxis.title == null || chart.xAxis.title == undefined || chart.xAxis.title == '') && chart.xAxis.bDefaultTitle) if((!chart.xAxis.title || chart.xAxis.title == null || chart.xAxis.title == undefined || chart.xAxis.title == '') && chart.xAxis.bDefaultTitle)
chart.xAxis.title = defaultXTitle; chart.xAxis.title = defaultXTitle;
if((!chart.title || chart.title == null || chart.title == undefined || chart.title == '') && chart.bDefaultTitle) if((!chart.header.title || chart.header.title == null || chart.header.title == undefined || chart.header.title == '') && chart.header.bDefaultTitle)
chart.title = defaultTitle; chart.header.title = defaultTitle;
if (chart.yAxis.title) if (chart.yAxis.title)
bar._chartGutter._left = 35 + 29; bar._chartGutter._left = 35 + 29;
...@@ -1433,7 +1433,7 @@ function drawChart(chart, arrValues, width, height) { ...@@ -1433,7 +1433,7 @@ function drawChart(chart, arrValues, width, height) {
//bar.Draw(); //bar.Draw();
// Легенда // Легенда
if (chart.legend.show && chart.legend.position != '') { if (chart.legend.bShow && chart.legend.position != '') {
bar._otherProps._key_position = 'graph'; bar._otherProps._key_position = 'graph';
bar._otherProps._key = []; bar._otherProps._key = [];
bar._otherProps._key_halign = chart.legend.position; bar._otherProps._key_halign = chart.legend.position;
...@@ -1494,9 +1494,9 @@ function drawChart(chart, arrValues, width, height) { ...@@ -1494,9 +1494,9 @@ function drawChart(chart, arrValues, width, height) {
// Подписи данных // Подписи данных
if(chart.type != 'Stock') if(chart.type != 'Stock')
{ {
if (chart.showValue && bar.type == 'pie') if (chart.bShowValue && bar.type == 'pie')
bar._otherProps._labels = data[0]; bar._otherProps._labels = data[0];
else if (chart.showValue) else if (chart.bShowValue)
bar._otherProps._labels_above = true; bar._otherProps._labels_above = true;
else else
bar._otherProps._labels_above = false; bar._otherProps._labels_above = false;
...@@ -1504,8 +1504,8 @@ function drawChart(chart, arrValues, width, height) { ...@@ -1504,8 +1504,8 @@ function drawChart(chart, arrValues, width, height) {
} }
// Название // Название
if (chart.title) { if (chart.header.title) {
bar._chartTitle._text = chart.title; bar._chartTitle._text = chart.header.title;
bar._chartTitle._vpos = 32; bar._chartTitle._vpos = 32;
bar._chartTitle._hpos = 0.5; bar._chartTitle._hpos = 0.5;
bar._chartTitle._size = 18; bar._chartTitle._size = 18;
...@@ -1513,7 +1513,7 @@ function drawChart(chart, arrValues, width, height) { ...@@ -1513,7 +1513,7 @@ function drawChart(chart, arrValues, width, height) {
if (chart.xAxis.title) { if (chart.xAxis.title) {
var legendTop = 0; var legendTop = 0;
var widthXtitle = bar.context.measureText(chart.xAxis.title).width var widthXtitle = bar.context.measureText(chart.xAxis.title).width;
if(chart.legend.position == 'bottom') if(chart.legend.position == 'bottom')
legendTop = 30; legendTop = 30;
bar._xAxisTitle._text = chart.xAxis.title; bar._xAxisTitle._text = chart.xAxis.title;
...@@ -1521,7 +1521,7 @@ function drawChart(chart, arrValues, width, height) { ...@@ -1521,7 +1521,7 @@ function drawChart(chart, arrValues, width, height) {
} }
if (chart.yAxis.title) { if (chart.yAxis.title) {
var widthYtitle = bar.context.measureText(chart.yAxis.title).width var widthYtitle = bar.context.measureText(chart.yAxis.title).width;
bar._yAxisTitle._text = chart.yAxis.title; bar._yAxisTitle._text = chart.yAxis.title;
bar._yAxisTitle._align = 'rev'; bar._yAxisTitle._align = 'rev';
var keyLeft = 0; var keyLeft = 0;
...@@ -1532,8 +1532,8 @@ function drawChart(chart, arrValues, width, height) { ...@@ -1532,8 +1532,8 @@ function drawChart(chart, arrValues, width, height) {
} }
// Основная сетка // Основная сетка
bar._otherProps._background_grid_hlines = chart.xAxis.grid; bar._otherProps._background_grid_hlines = chart.xAxis.bGrid;
bar._otherProps._background_grid_vlines = chart.yAxis.grid; bar._otherProps._background_grid_vlines = chart.yAxis.bGrid;
var axis; var axis;
calcGutter(axis,chart.min,chart.max,chart.ymin,chart.ymax,chart.isSkip,chart.isFormatCell); calcGutter(axis,chart.min,chart.max,chart.ymin,chart.ymax,chart.isSkip,chart.isFormatCell);
...@@ -1555,7 +1555,10 @@ function drawChart(chart, arrValues, width, height) { ...@@ -1555,7 +1555,10 @@ function drawChart(chart, arrValues, width, height) {
bar.Draw(chart.min,chart.max,chart.ymin,chart.ymax,chart.isSkip,chart.isFormatCell,chart.isformatCellScOy); bar.Draw(chart.min,chart.max,chart.ymin,chart.ymax,chart.isSkip,chart.isFormatCell,chart.isformatCellScOy);
} }
// //-----------------------------------------------------------------------------------
// Chart types
//-----------------------------------------------------------------------------------
function DrawScatterChart(chartCanvas, chartSubType, data, chart) { function DrawScatterChart(chartCanvas, chartSubType, data, chart) {
var colors = generateColors(data.length * data[0].length, arrBaseColors); var colors = generateColors(data.length * data[0].length, arrBaseColors);
...@@ -1646,6 +1649,7 @@ function DrawScatterChart(chartCanvas, chartSubType, data, chart) { ...@@ -1646,6 +1649,7 @@ function DrawScatterChart(chartCanvas, chartSubType, data, chart) {
//addOptions('chart.gutter.bottom',50); //addOptions('chart.gutter.bottom',50);
bar._chartGutter._bottom = 30; bar._chartGutter._bottom = 30;
//для соединения линий //для соединения линий
bar._otherProps._area_border = chart.bShowBorder;
bar._otherProps._line = true; bar._otherProps._line = true;
bar._otherProps._linewidth = 2; bar._otherProps._linewidth = 2;
bar._otherProps._background_grid_color = 'graytext'; bar._otherProps._background_grid_color = 'graytext';
...@@ -1703,6 +1707,7 @@ function DrawPieChart(chartCanvas, chartSubType, data, chart) { ...@@ -1703,6 +1707,7 @@ function DrawPieChart(chartCanvas, chartSubType, data, chart) {
//для разрезанной кольцевой или разрезанной круговой //для разрезанной кольцевой или разрезанной круговой
//bar._otherProps._exploded = 15; //bar._otherProps._exploded = 15;
bar._otherProps._area_border = chart.bShowBorder;
bar._otherProps._ylabels_count = 'auto'; bar._otherProps._ylabels_count = 'auto';
bar._otherProps._colors = ['steelblue', 'IndianRed', 'Silver']; bar._otherProps._colors = ['steelblue', 'IndianRed', 'Silver'];
bar._chartGutter._left = 45; bar._chartGutter._left = 45;
...@@ -1778,6 +1783,7 @@ function DrawLineChart(chartCanvas, chartType, chartSubType, data, chart) { ...@@ -1778,6 +1783,7 @@ function DrawLineChart(chartCanvas, chartType, chartSubType, data, chart) {
bar._chartGutter._bottom = 35; bar._chartGutter._bottom = 35;
} }
bar._otherProps._area_border = chart.bShowBorder;
bar._otherProps._background_grid_autofit_numvlines = data.length; bar._otherProps._background_grid_autofit_numvlines = data.length;
bar._otherProps._background_grid_color = 'graytext'; bar._otherProps._background_grid_color = 'graytext';
bar._otherProps._background_barcolor1 = 'white'; bar._otherProps._background_barcolor1 = 'white';
...@@ -1862,6 +1868,7 @@ function DrawBarChart(chartCanvas, chartSubType, data, chart) { ...@@ -1862,6 +1868,7 @@ function DrawBarChart(chartCanvas, chartSubType, data, chart) {
} }
} }
bar._otherProps._area_border = chart.bShowBorder;
bar._otherProps._ylabels_count = 'auto'; bar._otherProps._ylabels_count = 'auto';
bar._otherProps._variant = 'bar'; bar._otherProps._variant = 'bar';
bar._chartGutter._left = 35; bar._chartGutter._left = 35;
...@@ -1949,6 +1956,7 @@ function DrawHBarChart(chartCanvas, chartSubType, data, chart) { ...@@ -1949,6 +1956,7 @@ function DrawHBarChart(chartCanvas, chartSubType, data, chart) {
} }
//bar._otherProps._labels = ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']; //bar._otherProps._labels = ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday'];
bar._otherProps._area_border = chart.bShowBorder;
bar._otherProps._ylabels_count = 'auto'; bar._otherProps._ylabels_count = 'auto';
bar._chartGutter._left = 35; bar._chartGutter._left = 35;
bar._chartGutter._bottom = 35; bar._chartGutter._bottom = 35;
......
...@@ -282,7 +282,7 @@ ...@@ -282,7 +282,7 @@
this.context.fillRect(0,0,this.canvas.width,this.canvas.height); this.context.fillRect(0,0,this.canvas.width,this.canvas.height);
// border // border
if ( !g_bChartPreview ) { if ( !g_bChartPreview && this._otherProps._area_border ) {
this.context.beginPath(); this.context.beginPath();
this.context.rect(0, 0, this.canvas.width,this.canvas.height); this.context.rect(0, 0, this.canvas.width,this.canvas.height);
this.context.strokeStyle = "black"; this.context.strokeStyle = "black";
......
...@@ -178,6 +178,7 @@ OfficeExcel.OtherProps = function() ...@@ -178,6 +178,7 @@ OfficeExcel.OtherProps = function()
this._borders = true; this._borders = true;
this._border = false; this._border = false;
this._area_border = true; // ãðàíèöà äëÿ âñåé îáëàñòè äèàãðàììû
this._border_color = 'rgba(255,255,255,0.5)'; this._border_color = 'rgba(255,255,255,0.5)';
this._align = 'center'; this._align = 'center';
......
...@@ -416,7 +416,7 @@ ...@@ -416,7 +416,7 @@
//this.context.strokeRect(10,10,this.canvas.width-150,this.canvas.height-150) //this.context.strokeRect(10,10,this.canvas.width-150,this.canvas.height-150)
// border // border
if ( !g_bChartPreview ) { if ( !g_bChartPreview && this._otherProps._area_border ) {
this.context.beginPath(); this.context.beginPath();
this.context.rect(0, 0, this.canvas.width,this.canvas.height); this.context.rect(0, 0, this.canvas.width,this.canvas.height);
this.context.strokeStyle = "black"; this.context.strokeStyle = "black";
......
...@@ -499,7 +499,7 @@ ...@@ -499,7 +499,7 @@
//this.context.strokeRect(10,10,this.canvas.width-150,this.canvas.height-150) //this.context.strokeRect(10,10,this.canvas.width-150,this.canvas.height-150)
// border // border
if ( !g_bChartPreview ) { if ( !g_bChartPreview && this._otherProps._area_border ) {
this.context.beginPath(); this.context.beginPath();
this.context.rect(0, 0, this.canvas.width,this.canvas.height); this.context.rect(0, 0, this.canvas.width,this.canvas.height);
this.context.strokeStyle = "black"; this.context.strokeStyle = "black";
......
...@@ -540,7 +540,7 @@ ...@@ -540,7 +540,7 @@
//this.context.strokeRect(10,10,this.canvas.width-150,this.canvas.height-150) //this.context.strokeRect(10,10,this.canvas.width-150,this.canvas.height-150)
// border // border
if ( !g_bChartPreview ) { if ( !g_bChartPreview && this._otherProps._area_border ) {
this.context.beginPath(); this.context.beginPath();
this.context.rect(0, 0, this.canvas.width,this.canvas.height); this.context.rect(0, 0, this.canvas.width,this.canvas.height);
this.context.strokeStyle = "black"; this.context.strokeStyle = "black";
......
...@@ -480,7 +480,7 @@ ...@@ -480,7 +480,7 @@
//this.context.strokeRect(10,10,this.canvas.width-150,this.canvas.height-150) //this.context.strokeRect(10,10,this.canvas.width-150,this.canvas.height-150)
// border // border
if ( !g_bChartPreview ) { if ( !g_bChartPreview && this._otherProps._area_border ) {
this.context.beginPath(); this.context.beginPath();
this.context.rect(0, 0, this.canvas.width,this.canvas.height); this.context.rect(0, 0, this.canvas.width,this.canvas.height);
this.context.strokeStyle = "black"; this.context.strokeStyle = "black";
......
...@@ -886,7 +886,7 @@ function BinaryChartWriter(memory) ...@@ -886,7 +886,7 @@ function BinaryChartWriter(memory)
this.WriteChartContent = function(chart) this.WriteChartContent = function(chart)
{ {
var oThis = this; var oThis = this;
if(null != chart.legend && true == chart.legend.show) if(null != chart.legend && true == chart.legend.bShow)
this.bs.WriteItem(c_oSer_ChartType.Legend, function(){oThis.WriteLegend(chart.legend);}); this.bs.WriteItem(c_oSer_ChartType.Legend, function(){oThis.WriteLegend(chart.legend);});
if(null != chart.title && ("" != chart.title || true == chart.bDefaultTitle)) if(null != chart.title && ("" != chart.title || true == chart.bDefaultTitle))
{ {
...@@ -913,8 +913,8 @@ function BinaryChartWriter(memory) ...@@ -913,8 +913,8 @@ function BinaryChartWriter(memory)
if(null != byteLegendPos) if(null != byteLegendPos)
this.bs.WriteItem(c_oSer_ChartLegendType.LegendPos, function(){oThis.memory.WriteByte(byteLegendPos);}); this.bs.WriteItem(c_oSer_ChartLegendType.LegendPos, function(){oThis.memory.WriteByte(byteLegendPos);});
} }
if(null != legend.overlay) if(null != legend.bOverlay)
this.bs.WriteItem(c_oSer_ChartLegendType.Overlay, function(){oThis.memory.WriteBool(legend.overlay);}); this.bs.WriteItem(c_oSer_ChartLegendType.Overlay, function(){oThis.memory.WriteBool(legend.bOverlay);});
}; };
this.WritePlotArea = function(chart) this.WritePlotArea = function(chart)
{ {
...@@ -946,10 +946,10 @@ function BinaryChartWriter(memory) ...@@ -946,10 +946,10 @@ function BinaryChartWriter(memory)
this.memory.WriteByte(c_oSer_ChartCatAxType.Title); this.memory.WriteByte(c_oSer_ChartCatAxType.Title);
this.memory.WriteString2(axis.title); this.memory.WriteString2(axis.title);
} }
if(null != axis.grid) if(null != axis.bGrid)
this.bs.WriteItem(c_oSer_ChartCatAxType.MajorGridlines, function(){oThis.memory.WriteBool(axis2.grid);}); this.bs.WriteItem(c_oSer_ChartCatAxType.MajorGridlines, function(){oThis.memory.WriteBool(axis2.bGrid);});
if(null != axis.show) if(null != axis.bShow)
this.bs.WriteItem(c_oSer_ChartCatAxType.Delete, function(){oThis.memory.WriteBool(!axis.show);}); this.bs.WriteItem(c_oSer_ChartCatAxType.Delete, function(){oThis.memory.WriteBool(!axis.bShow);});
if(bBottom) if(bBottom)
this.bs.WriteItem(c_oSer_ChartCatAxType.AxPos, function(){oThis.memory.WriteByte(EChartAxPos.chartaxposBottom);}); this.bs.WriteItem(c_oSer_ChartCatAxType.AxPos, function(){oThis.memory.WriteByte(EChartAxPos.chartaxposBottom);});
else else
...@@ -1025,7 +1025,7 @@ function BinaryChartWriter(memory) ...@@ -1025,7 +1025,7 @@ function BinaryChartWriter(memory)
this.bs.WriteItemWithLength(function(){oThis.WriteSeries(chartRange, chart.data, chart.type);}); this.bs.WriteItemWithLength(function(){oThis.WriteSeries(chartRange, chart.data, chart.type);});
} }
} }
if(null != chart.showValue) if(null != chart.bShowValue)
{ {
this.memory.WriteByte(c_oSer_BasicChartType.DataLabels); this.memory.WriteByte(c_oSer_BasicChartType.DataLabels);
this.memory.WriteByte(c_oSerPropLenType.Variable); this.memory.WriteByte(c_oSerPropLenType.Variable);
...@@ -1212,17 +1212,17 @@ function BinaryChartWriter(memory) ...@@ -1212,17 +1212,17 @@ function BinaryChartWriter(memory)
{ {
this.memory.WriteByte(c_oSer_ChartSeriesMarkerType.Symbol); this.memory.WriteByte(c_oSer_ChartSeriesMarkerType.Symbol);
this.memory.WriteByte(c_oSerPropLenType.Byte); this.memory.WriteByte(c_oSerPropLenType.Byte);
this.memory.WriteByte(marker.showValue); this.memory.WriteByte(marker.bShowValue);
} }
}; };
this.WriteDataLabels = function(chart) this.WriteDataLabels = function(chart)
{ {
var oThis = this; var oThis = this;
if(null != chart.showValue) if(null != chart.bShowValue)
{ {
this.memory.WriteByte(c_oSer_ChartSeriesDataLabelsType.ShowVal); this.memory.WriteByte(c_oSer_ChartSeriesDataLabelsType.ShowVal);
this.memory.WriteByte(c_oSerPropLenType.Byte); this.memory.WriteByte(c_oSerPropLenType.Byte);
this.memory.WriteBool(chart.showValue); this.memory.WriteBool(chart.bShowValue);
} }
}; };
} }
...@@ -1235,7 +1235,7 @@ function Binary_ChartReader(stream, chart) ...@@ -1235,7 +1235,7 @@ function Binary_ChartReader(stream, chart)
this.chartType = null; this.chartType = null;
this.PreRead = function() this.PreRead = function()
{ {
this.chart.legend.show = false; this.chart.legend.bShow = false;
} }
this.Read = function(length) this.Read = function(length)
{ {
...@@ -1277,16 +1277,16 @@ function Binary_ChartReader(stream, chart) ...@@ -1277,16 +1277,16 @@ function Binary_ChartReader(stream, chart)
var oThis = this; var oThis = this;
if ( c_oSer_ChartType.Legend === type ) if ( c_oSer_ChartType.Legend === type )
{ {
this.chart.legend.show = true; this.chart.legend.bShow = true;
res = this.bcr.Read1(length, function(t,l){ res = this.bcr.Read1(length, function(t,l){
return oThis.ReadLegend(t,l); return oThis.ReadLegend(t,l);
}); });
} }
else if ( c_oSer_ChartType.Title === type ) else if ( c_oSer_ChartType.Title === type )
{ {
this.chart.title = this.stream.GetString2LE(length); this.chart.header.title = this.stream.GetString2LE(length);
if("" == this.chart.title) if("" == this.chart.header.title)
this.chart.bDefaultTitle = true; this.chart.header.bDefaultTitle = true;
} }
else if ( c_oSer_ChartType.PlotArea === type ) else if ( c_oSer_ChartType.PlotArea === type )
{ {
...@@ -1318,8 +1318,8 @@ function Binary_ChartReader(stream, chart) ...@@ -1318,8 +1318,8 @@ function Binary_ChartReader(stream, chart)
} }
} }
} }
this.chart.xAxis.show = this.chart.yAxis.show = false; this.chart.xAxis.bShow = this.chart.yAxis.bShow = false;
this.chart.xAxis.grid = this.chart.yAxis.grid = false; this.chart.xAxis.bGrid = this.chart.yAxis.bGrid = false;
var fExecAxis = function(oFrom, oTo) var fExecAxis = function(oFrom, oTo)
{ {
for(var i in oFrom) for(var i in oFrom)
...@@ -1330,9 +1330,9 @@ function Binary_ChartReader(stream, chart) ...@@ -1330,9 +1330,9 @@ function Binary_ChartReader(stream, chart)
if(null != yAxis) if(null != yAxis)
fExecAxis(yAxis, this.chart.yAxis); fExecAxis(yAxis, this.chart.yAxis);
// //
var bTemp = this.chart.xAxis.grid; var bTemp = this.chart.xAxis.bGrid;
this.chart.xAxis.grid = this.chart.yAxis.grid; this.chart.xAxis.bGrid = this.chart.yAxis.bGrid;
this.chart.yAxis.grid = bTemp; this.chart.yAxis.bGrid = bTemp;
if(c_oAscChartType.hbar == this.chartType) if(c_oAscChartType.hbar == this.chartType)
{ {
var oTemp = this.chart.xAxis; var oTemp = this.chart.xAxis;
...@@ -1372,7 +1372,7 @@ function Binary_ChartReader(stream, chart) ...@@ -1372,7 +1372,7 @@ function Binary_ChartReader(stream, chart)
} }
} }
else if ( c_oSer_ChartLegendType.Overlay === type ) else if ( c_oSer_ChartLegendType.Overlay === type )
this.chart.legend.overlay = this.stream.GetBool(); this.chart.legend.bOverlay = this.stream.GetBool();
else else
res = c_oSerConstants.ReadUnknown; res = c_oSerConstants.ReadUnknown;
return res; return res;
...@@ -1452,9 +1452,9 @@ function Binary_ChartReader(stream, chart) ...@@ -1452,9 +1452,9 @@ function Binary_ChartReader(stream, chart)
oAx.bDefaultTitle = true; oAx.bDefaultTitle = true;
} }
else if ( c_oSer_ChartCatAxType.MajorGridlines === type ) else if ( c_oSer_ChartCatAxType.MajorGridlines === type )
oAx.grid = this.stream.GetBool(); oAx.bGrid = this.stream.GetBool();
else if ( c_oSer_ChartCatAxType.Delete === type ) else if ( c_oSer_ChartCatAxType.Delete === type )
oAx.show = !this.stream.GetBool(); oAx.bShow = !this.stream.GetBool();
else if ( c_oSer_ChartCatAxType.AxPos === type ) else if ( c_oSer_ChartCatAxType.AxPos === type )
oAx.axPos = this.stream.GetUChar(); oAx.axPos = this.stream.GetUChar();
else else
...@@ -1624,7 +1624,7 @@ function Binary_ChartReader(stream, chart) ...@@ -1624,7 +1624,7 @@ function Binary_ChartReader(stream, chart)
var res = c_oSerConstants.ReadOk; var res = c_oSerConstants.ReadOk;
var oThis = this; var oThis = this;
if ( c_oSer_ChartSeriesDataLabelsType.ShowVal === type ) if ( c_oSer_ChartSeriesDataLabelsType.ShowVal === type )
this.chart.showValue = this.stream.GetBool(); this.chart.bShowValue = this.stream.GetBool();
else else
res = c_oSerConstants.ReadUnknown; res = c_oSerConstants.ReadUnknown;
return res; return res;
......
...@@ -55,4 +55,21 @@ var c_oAscChartType = { ...@@ -55,4 +55,21 @@ var c_oAscChartType = {
Accent4: 6, Accent4: 6,
Accent5: 7, Accent5: 7,
Accent6: 8 Accent6: 8
};
var c_oAscTransactionState = {
No: -1,
Start: 0,
Stop: 1
};
var c_oAscCellAnchorType = {
cellanchorAbsolute: 0,
cellanchorOneCell: 1,
cellanchorTwoCell: 2
};
var c_oAscChartDefines = {
defaultChartWidth: 478,
defaultChartHeight: 286
}; };
\ No newline at end of file
...@@ -2089,7 +2089,8 @@ ...@@ -2089,7 +2089,8 @@
<input type='text' style='margin-left: 10px;' id='xAxisTitle' value='X axis'><br> <input type='text' style='margin-left: 10px;' id='xAxisTitle' value='X axis'><br>
<span style='margin-left: 10px;'>Y axis title</span> <span style='margin-left: 10px;'>Y axis title</span>
<input type='text' style='margin-left: 10px;' id='yAxisTitle' value='Y axis'><br> <input type='text' style='margin-left: 10px;' id='yAxisTitle' value='Y axis'><br>
<input type='checkbox' id='valueShow' style='margin-left: 10px;'>Show values<br> <input type='checkbox' id='valueShow' style='margin-left: 10px;'>Show values
<input type='checkbox' id='borderShow' style='margin-left: 10px;'>Show border<br>
</fieldset> </fieldset>
<fieldset id="legendField"> <fieldset id="legendField">
<legend>Legend</legend> <legend>Legend</legend>
......
...@@ -1965,6 +1965,11 @@ var ASC_DOCS_API_USE_EMBEDDED_FONTS = "@@ASC_DOCS_API_USE_EMBEDDED_FONTS"; ...@@ -1965,6 +1965,11 @@ var ASC_DOCS_API_USE_EMBEDDED_FONTS = "@@ASC_DOCS_API_USE_EMBEDDED_FONTS";
} }
}, },
asc_checkChartInterval: function(type, subtype, interval, isRows) {
var ws = this.wb.getWorksheet();
return ws.objectRender.checkChartInterval(type, subtype, interval, isRows);
},
// Для вставки диаграмм в Word // Для вставки диаграмм в Word
asc_getBinaryFileWriter: function() { asc_getBinaryFileWriter: function() {
this.wb._initCommentsToSave(); this.wb._initCommentsToSave();
...@@ -2762,6 +2767,7 @@ var ASC_DOCS_API_USE_EMBEDDED_FONTS = "@@ASC_DOCS_API_USE_EMBEDDED_FONTS"; ...@@ -2762,6 +2767,7 @@ var ASC_DOCS_API_USE_EMBEDDED_FONTS = "@@ASC_DOCS_API_USE_EMBEDDED_FONTS";
prot["asc_deleteSelectedDrawingObject"] = prot.asc_deleteSelectedDrawingObject; prot["asc_deleteSelectedDrawingObject"] = prot.asc_deleteSelectedDrawingObject;
prot["asc_setSelectedDrawingObjectLayer"] = prot.asc_setSelectedDrawingObjectLayer; prot["asc_setSelectedDrawingObjectLayer"] = prot.asc_setSelectedDrawingObjectLayer;
prot["asc_getChartPreviews"] = prot.asc_getChartPreviews; prot["asc_getChartPreviews"] = prot.asc_getChartPreviews;
prot["asc_checkChartInterval"] = prot.asc_checkChartInterval;
prot["asc_getBinaryFileWriter"] = prot.asc_getBinaryFileWriter; prot["asc_getBinaryFileWriter"] = prot.asc_getBinaryFileWriter;
prot["asc_getWordChartObject"] = prot.asc_getWordChartObject; prot["asc_getWordChartObject"] = prot.asc_getWordChartObject;
prot["asc_cleanWorksheet"] = prot.asc_cleanWorksheet; prot["asc_cleanWorksheet"] = prot.asc_cleanWorksheet;
......
...@@ -2081,7 +2081,7 @@ ...@@ -2081,7 +2081,7 @@
chartForm.find("#chartRange").val(interval); chartForm.find("#chartRange").val(interval);
chartForm.find("#chartRange").bind("keyup", function() { chartForm.find("#chartRange").bind("keyup", function() {
var result = range.asc_checkInterval(chartForm.find("#chartType").val(),chartForm.find("#chartSubType").val(),chartForm.find("#chartRange").val(),chartForm.find("#dataRows").is(":checked")); var result = api.asc_checkChartInterval(chartForm.find("#chartType").val(), chartForm.find("#chartSubType").val(), chartForm.find("#chartRange").val(), chartForm.find("#dataRows").is(":checked"));
if (result) if (result)
chartForm.find("#chartRange").css("color", "black"); chartForm.find("#chartRange").css("color", "black");
else else
...@@ -2096,15 +2096,16 @@ ...@@ -2096,15 +2096,16 @@
else else
chartForm.find("#dataColumns").attr("checked", range.asc_getColumnsFlag()); chartForm.find("#dataColumns").attr("checked", range.asc_getColumnsFlag());
chartForm.find("#chartTitle").val(chart.asc_getTitle()); chartForm.find("#chartTitle").val(chart.asc_getHeader().asc_getTitle());
chartForm.find("#valueShow").attr("checked", chart.asc_getShowValueFlag()); chartForm.find("#valueShow").attr("checked", chart.asc_getShowValueFlag());
chartForm.find("#borderShow").attr("checked", chart.asc_getShowBorderFlag());
var xAxis = chart.asc_getXAxis(); var xAxis = chart.asc_getXAxis();
chartForm.find("#xAxisShow").attr("checked", xAxis.asc_getShowFlag()); chartForm.find("#xAxisShow").attr("checked", xAxis.asc_getShowFlag());
chartForm.find("#xGridShow").attr("checked", xAxis.asc_getGridFlag()); chartForm.find("#xGridShow").attr("checked", xAxis.asc_getGridFlag());
chartForm.find("#xAxisTitle").val(xAxis.asc_getTitle() ? xAxis.asc_getTitle() : ""); chartForm.find("#xAxisTitle").val(xAxis.asc_getTitle() ? xAxis.asc_getTitle() : "");
var yAxis = chart.asc_getXAxis(); var yAxis = chart.asc_getYAxis();
chartForm.find("#yAxisShow").attr("checked", yAxis.asc_getShowFlag()); chartForm.find("#yAxisShow").attr("checked", yAxis.asc_getShowFlag());
chartForm.find("#yGridShow").attr("checked", yAxis.asc_getGridFlag()); chartForm.find("#yGridShow").attr("checked", yAxis.asc_getGridFlag());
chartForm.find("#yAxisTitle").val(yAxis.asc_getTitle() ? yAxis.asc_getTitle() : ""); chartForm.find("#yAxisTitle").val(yAxis.asc_getTitle() ? yAxis.asc_getTitle() : "");
...@@ -2123,8 +2124,10 @@ ...@@ -2123,8 +2124,10 @@
var isSelected = (chart.type != null) && (chart.type != ""); var isSelected = (chart.type != null) && (chart.type != "");
var range = chart.asc_getRange(); var range = chart.asc_getRange();
if (!range.asc_checkInterval(chartForm.find("#chartType").val(),chartForm.find("#chartSubType").val(),chartForm.find("#chartRange").val(),chartForm.find("#dataRows").is(":checked")))
if ( !api.asc_checkChartInterval(chartForm.find("#chartType").val(),chartForm.find("#chartSubType").val(),chartForm.find("#chartRange").val(),chartForm.find("#dataRows").is(":checked")) )
return; return;
range.asc_setRowsFlag(chartForm.find("#dataRows").is(":checked")); range.asc_setRowsFlag(chartForm.find("#dataRows").is(":checked"));
range.asc_setColumnsFlag(chartForm.find("#dataColumns").is(":checked")); range.asc_setColumnsFlag(chartForm.find("#dataColumns").is(":checked"));
range.asc_setInterval(chartForm.find("#chartRange").val()); range.asc_setInterval(chartForm.find("#chartRange").val());
...@@ -2132,8 +2135,9 @@ ...@@ -2132,8 +2135,9 @@
chart.asc_setType(chartForm.find("#chartType").find("option:selected").val()); chart.asc_setType(chartForm.find("#chartType").find("option:selected").val());
chart.asc_setSubType(chartForm.find("#chartSubType").find("option:selected").val()); chart.asc_setSubType(chartForm.find("#chartSubType").find("option:selected").val());
chart.asc_setTitle(chartForm.find("#chartTitle").val()); chart.asc_getHeader().asc_setTitle(chartForm.find("#chartTitle").val());
chart.asc_setShowValueFlag(chartForm.find("#valueShow").is(":checked")); chart.asc_setShowValueFlag(chartForm.find("#valueShow").is(":checked"));
chart.asc_setShowBorderFlag(chartForm.find("#borderShow").is(":checked"));
if(chart.type != null && chart.type == 'Stock' && !isSelected) if(chart.type != null && chart.type == 'Stock' && !isSelected)
{ {
...@@ -2160,7 +2164,6 @@ ...@@ -2160,7 +2164,6 @@
var legend = chart.asc_getLegend(); var legend = chart.asc_getLegend();
legend.asc_setShowFlag(chartForm.find("#legendShow").is(":checked")); legend.asc_setShowFlag(chartForm.find("#legendShow").is(":checked"));
//legend.asc_setShowFlag(true);
legend.asc_setPosition(""); legend.asc_setPosition("");
if (chartForm.find("#legendLeft").is(":checked")) if (chartForm.find("#legendLeft").is(":checked"))
......
...@@ -324,6 +324,14 @@ var UndoRedoDataTypes = new function() { ...@@ -324,6 +324,14 @@ var UndoRedoDataTypes = new function() {
this.SingleProperty = 33; this.SingleProperty = 33;
this.RgbColor = 34; this.RgbColor = 34;
this.ThemeColor = 35; this.ThemeColor = 35;
this.ChartData = 36;
this.ChartRange = 37;
this.ChartHeader = 38;
this.ChartAxisX = 39;
this.ChartAxisY = 40;
this.ChartLegend = 41;
this.ChartFont = 42;
this.Create = function(nType) this.Create = function(nType)
{ {
switch(nType) switch(nType)
...@@ -364,6 +372,13 @@ var UndoRedoDataTypes = new function() { ...@@ -364,6 +372,13 @@ var UndoRedoDataTypes = new function() {
case this.SingleProperty: return new UndoRedoData_SingleProperty(); break; case this.SingleProperty: return new UndoRedoData_SingleProperty(); break;
case this.RgbColor: return new RgbColor(); break; case this.RgbColor: return new RgbColor(); break;
case this.ThemeColor: return new ThemeColor(); break; case this.ThemeColor: return new ThemeColor(); break;
case this.ChartData: return new asc_CChart(); break;
case this.ChartRange: return new asc_CChartRange(); break;
case this.ChartHeader: return new asc_CChartHeader(); break;
case this.ChartAxisX: return new asc_CChartAxisX(); break;
case this.ChartAxisY: return new asc_CChartAxisY(); break;
case this.ChartLegend: return new asc_CChartLegend(); break;
case this.ChartFont: return new asc_CChartFont(); break;
} }
return null; return null;
}; };
...@@ -2021,12 +2036,12 @@ UndoRedoDrawingObject.prototype = { ...@@ -2021,12 +2036,12 @@ UndoRedoDrawingObject.prototype = {
if ( !api.wb ) if ( !api.wb )
return; return;
var ws = api.wb.getWorksheetById(nSheetId); var ws = api.wb.getWorksheetById(nSheetId);
var objectRender = ws.objectRender;
Data.worksheet = ws; Data.worksheet = ws;
if ( Data.isChart() ) if ( Data.isChart() )
Data.chart.range.intervalToIntervalObject(); objectRender.intervalToIntervalObject(Data.chart);
var objectRender = ws.objectRender;
if ( bUndo == true ) if ( bUndo == true )
objectRender.Undo(Type, Data); objectRender.Undo(Type, Data);
else else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment