From 2219e99deb4e629812abd784fb6a0fa26a9e04dc Mon Sep 17 00:00:00 2001 From: nikita_bartoshuk Date: Tue, 16 Dec 2025 15:03:41 +0300 Subject: [PATCH] linked to rest redactors --- apps/common/main/lib/controller/ChartTab.js | 89 +++++++------------ apps/common/main/lib/view/ChartTab.js | 29 +++--- .../main/app/controller/DocumentHolderExt.js | 1 + .../main/app/controller/Main.js | 3 +- apps/pdfeditor/main/app.js | 2 + .../main/app/controller/DocumentHolderExt.js | 11 +++ apps/pdfeditor/main/app/controller/InsTab.js | 3 + apps/pdfeditor/main/app/controller/Main.js | 3 + apps/pdfeditor/main/app/controller/Toolbar.js | 42 ++++++++- apps/pdfeditor/main/app_dev.js | 5 +- apps/pdfeditor/main/app_pack.js | 1 + apps/pdfeditor/main/locale/en.json | 71 +++++++++++++++ apps/presentationeditor/main/app.js | 2 + .../main/app/controller/DocumentHolderExt.js | 12 +++ .../main/app/controller/Main.js | 2 + .../main/app/controller/Toolbar.js | 35 +++++++- apps/presentationeditor/main/app_dev.js | 3 + apps/presentationeditor/main/app_pack.js | 1 + apps/presentationeditor/main/locale/en.json | 71 +++++++++++++++ 19 files changed, 308 insertions(+), 78 deletions(-) diff --git a/apps/common/main/lib/controller/ChartTab.js b/apps/common/main/lib/controller/ChartTab.js index 18f0df3382..7eb0733766 100644 --- a/apps/common/main/lib/controller/ChartTab.js +++ b/apps/common/main/lib/controller/ChartTab.js @@ -107,38 +107,7 @@ define([ openAdvancedSettings: function(e) { if (this.view.btnAdvancedSettings.isDisabled()) return; - - var me = this; - var win; - if (me.api){ - var selectedElements = me.api.getSelectedElements(); - if (selectedElements && selectedElements.length>0){ - var elType, elValue; - for (var i = selectedElements.length - 1; i >= 0; i--) { - elType = selectedElements[i].get_ObjectType(); - elValue = selectedElements[i].get_ObjectValue(); - var isChart = !!(elValue && elValue.get_ChartProperties()); - if (Asc.c_oAscTypeSelectElement.Image == elType) { - (new DE.Views.ImageSettingsAdvanced( - { - imageProps: elValue, - chartSettings: isChart ? me.api.asc_getChartSettings() : null, - sectionProps: me.api.asc_GetSectionProps(), - api : me.api, - handler: function(result, value) { - if (result == 'ok') { - if (me.api) { - me.api.ImgApply(value.imageProps); - } - } - me.view.fireEvent('editcomplete', me); - } - })).show(); - break; - } - } - } - } + Common.NotificationCenter.trigger('charttab:advanced'); }, onToggleRatio: function (value) { @@ -220,7 +189,7 @@ define([ if (obj) { me.chartProps.putView3d(obj); props.put_ChartProperties(me.chartProps); - me.api.ImgApply(props); + window.DE ? me.api.ImgApply(props) : (window.PDFE || window.PE) ? me.api.ChartApply(props) : null; } } } @@ -317,24 +286,16 @@ define([ this.chartProps = props.get_ChartProperties(); var externalRef = this.chartProps.getExternalReference(); - // this.lblLinkData.text(externalRef ? this.textLinkedData : this.textData); - // this.btnEditData.setCaption(externalRef ? this.textSelectData : this.textEditData); - // this.ExternalOnlySettings.toggleClass('settings-hidden', !externalRef); var text = externalRef ? (externalRef.asc_getSource() || '').replace(new RegExp("%20",'g')," ") : ''; - // this.linkExternalSrc.text(text); - // this.OpenLinkSettings.toggleClass('settings-hidden', !text || !(this.mode.canRequestOpen || this.mode.isOffline)); value = props.get_SeveralCharts(); - // this.btnEditData.setDisabled(value || externalRef && this._state.isUpdatingReference); - // this.view.btnUpdateData.setDisabled(value || this._state.isUpdatingReference); - // this.btnEditLinks.setDisabled(this._locked); this._state.SeveralCharts=value; this.view.btnUpdateData.setVisible(externalRef); this.view.btnEditDataExt.setVisible(externalRef); this.view.btnEditData.setVisible(!externalRef); this.view.btnEditDataExt.menu.items[2].setCaption(me.menuCapOpen + ` ${text}`); - value = props.asc_getSeveralChartTypes(); + value = window.DE ? props.asc_getSeveralChartTypes() : window.PE ? props.get_SeveralChartTypes() : null; var type = (this._state.SeveralCharts && value) ? null : this.chartProps.getType(); if (this._state.ChartType !== type) { var isCombo = @@ -372,7 +333,7 @@ define([ this._noApply = false; value = props.get_CanBeFlow(); - var fromgroup = props.get_FromGroup(); + var fromgroup = window.DE ? props.get_FromGroup() : window.PE ? props.asc_getFromGroup() : null; this._state.CanBeFlow=value; this._state.FromGroup=fromgroup; @@ -500,10 +461,10 @@ define([ if (this._noApply) return; if (this.api && !this._noApply && this.chartProps) { - var props = new Asc.asc_CImgProperty(); + var props = window.DE ? new Asc.asc_CImgProperty() : (window.PE || window.PDFE) ? new Asc.CAscChartProp() : null; this.chartProps.putStyle(record.get('data')); props.put_ChartProperties(this.chartProps); - this.api.ImgApply(props); + window.DE ? this.api.ImgApply(props) : (window.PE || window.PDFE) ? this.api.ChartApply(props) : null; } this.view.fireEvent('editcomplete', this); }, @@ -547,27 +508,43 @@ define([ var islocked = false; var paragraph_locked = undefined; var in_control = false; + var slide_deleted = undefined; + var page_deleted = false; for (var i = 0; i < selected.length; i++) { var pr = selected[i].get_ObjectValue(); - if (selected[i].asc_getObjectType() === Asc.c_oAscTypeSelectElement.Image) { + if (window.DE && selected[i].asc_getObjectType() === Asc.c_oAscTypeSelectElement.Image) { islocked = pr.get_Locked(); if (pr && pr.get_ChartProperties()) - this.ChangeSettings(selected[i].asc_getObjectValue()); + this.ChangeSettings(pr); + } else if ((window.PE || window.PDFE) && selected[i].asc_getObjectType() === Asc.c_oAscTypeSelectElement.Chart) { + islocked = pr.get_Locked(); + if (pr && pr.get_ChartProperties()) + this.ChangeSettings(pr); + } else if (window.PE && selected[i].asc_getObjectType() === Asc.c_oAscTypeSelectElement.Slide) { + slide_deleted = pr.get_LockDelete(); + } else if (window.PDFE && selected[i].asc_getObjectType() === Asc.c_oAscTypeSelectElement.PdfPage) { + page_deleted = pr.asc_getDeleteLock(); } }; - in_control = this.api.asc_IsContentControl(); - var control_props = in_control ? this.api.asc_GetContentControlProperties() : null, - lock_type = (in_control&&control_props) ? control_props.get_Lock() : Asc.c_oAscSdtLockType.Unlocked; + if (window.DE) { + in_control = this.api.asc_IsContentControl(); + var control_props = in_control ? this.api.asc_GetContentControlProperties() : null, + lock_type = (in_control&&control_props) ? control_props.get_Lock() : Asc.c_oAscSdtLockType.Unlocked; - (lock_type===undefined) && (lock_type = Asc.c_oAscSdtLockType.Unlocked); - var content_locked = lock_type==Asc.c_oAscSdtLockType.SdtContentLocked || lock_type==Asc.c_oAscSdtLockType.ContentLocked; + (lock_type===undefined) && (lock_type = Asc.c_oAscSdtLockType.Unlocked); + var content_locked = lock_type==Asc.c_oAscSdtLockType.SdtContentLocked || lock_type==Asc.c_oAscSdtLockType.ContentLocked; - Common.Utils.lockControls(Common.enumLock.paragraphLock, paragraph_locked, {array: this.view.lockedControls}); - Common.Utils.lockControls(Common.enumLock.headerLock, header_locked, {array: this.view.lockedControls}); - Common.Utils.lockControls(Common.enumLock.imageLock, islocked, {array: this.view.lockedControls}); - Common.Utils.lockControls(Common.enumLock.contentLock, content_locked, {array: this.view.lockedControls}); + Common.Utils.lockControls(Common.enumLock.paragraphLock, paragraph_locked, {array: this.view.lockedControls}); + Common.Utils.lockControls(Common.enumLock.headerLock, header_locked, {array: this.view.lockedControls}); + Common.Utils.lockControls(Common.enumLock.imageLock, islocked, {array: this.view.lockedControls}); + Common.Utils.lockControls(Common.enumLock.contentLock, content_locked, {array: this.view.lockedControls}); + } else if (window.PE) { + Common.Utils.lockControls(Common.enumLock.slideDeleted, slide_deleted, {array: this.view.lockedControls}); + } else if (window.PDFE) { + Common.Utils.lockControls(Common.enumLock.pageDeleted, page_deleted, {array: this.view.lockedControls}); + } }, onCellsRange: function(status) { diff --git a/apps/common/main/lib/view/ChartTab.js b/apps/common/main/lib/view/ChartTab.js index ccdc067b51..946d76c165 100644 --- a/apps/common/main/lib/view/ChartTab.js +++ b/apps/common/main/lib/view/ChartTab.js @@ -39,7 +39,8 @@ define([ 'common/main/lib/util/utils', 'common/main/lib/component/Button', 'common/main/lib/component/BaseView', - 'common/main/lib/component/Layout' + 'common/main/lib/component/Layout', + 'common/main/lib/component/Label' ], function () { 'use strict'; Common.Views.ChartTab = Common.UI.BaseView.extend(_.extend((function(){ @@ -536,7 +537,7 @@ define([ iconCls: 'toolbar__icon btn-ic-reviewview', caption: me.capChartElements, lock: [_set.paragraphLock, _set.imageLock, _set.headerLock, _set.viewFormMode, _set.sheetLock, _set.lostConnect, - _set.coAuth, _set.editCell, _set.docLockView, _set.docLockForms, _set.docLockCommentsIns, _set.previewReviewMode, _set.coAuthText, _set.wsLock, _set.viewMode], + _set.coAuth, _set.editCell, _set.docLockView, _set.docLockForms, _set.docLockCommentsIns, _set.previewReviewMode, _set.coAuthText, _set.wsLock, _set.viewMode, _set.slideDeleted, _set.pageDeleted], dataHint: '1', dataHintDirection: 'bottom', dataHintOffset: 'small', @@ -549,7 +550,7 @@ define([ iconCls: 'toolbar__icon btn-pagemargins', caption: me.capEditData, lock: [_set.paragraphLock, _set.imageLock, _set.headerLock, _set.viewFormMode, _set.sheetLock, _set.lostConnect, - _set.coAuth, _set.docLockView, _set.docLockForms, _set.docLockCommentsIns, _set.previewReviewMode, _set.editCell, _set.coAuthText, _set.wsLock, _set.viewMode], + _set.coAuth, _set.docLockView, _set.docLockForms, _set.docLockCommentsIns, _set.previewReviewMode, _set.editCell, _set.coAuthText, _set.wsLock, _set.viewMode, _set.slideDeleted, _set.pageDeleted], dataHint: '1', dataHintDirection: 'bottom', dataHintOffset: 'small', @@ -578,7 +579,7 @@ define([ iconCls: 'toolbar__icon btn-pagemargins', caption: me.capEditData, lock: [_set.paragraphLock, _set.imageLock, _set.headerLock, _set.viewFormMode, _set.sheetLock, _set.lostConnect, - _set.coAuth, _set.docLockView, _set.docLockForms, _set.docLockCommentsIns, _set.previewReviewMode, _set.editCell, _set.coAuthText, _set.wsLock, _set.viewMode], + _set.coAuth, _set.docLockView, _set.docLockForms, _set.docLockCommentsIns, _set.previewReviewMode, _set.editCell, _set.coAuthText, _set.wsLock, _set.viewMode, _set.slideDeleted, _set.pageDeleted], dataHint: '1', menu: new Common.UI.Menu({ items: [ @@ -606,7 +607,7 @@ define([ iconCls: 'toolbar__icon btn-pagemargins', caption: me.capUpdateData, lock: [_set.paragraphLock, _set.imageLock, _set.headerLock, _set.viewFormMode, _set.sheetLock, _set.lostConnect, - _set.coAuth, _set.docLockView, _set.docLockForms, _set.docLockCommentsIns, _set.previewReviewMode, _set.editCell, _set.coAuthText, _set.wsLock, _set.viewMode], + _set.coAuth, _set.docLockView, _set.docLockForms, _set.docLockCommentsIns, _set.previewReviewMode, _set.editCell, _set.coAuthText, _set.wsLock, _set.viewMode, _set.slideDeleted, _set.pageDeleted], dataHint: '1', dataHintDirection: 'bottom', dataHintOffset: 'small', @@ -623,7 +624,7 @@ define([ groups : new Common.UI.DataViewGroupStore(), autoWidth : true, lock: [_set.paragraphLock, _set.imageLock, _set.headerLock, _set.viewFormMode, _set.editCell, _set.lostConnect, - _set.coAuth, _set.docLockView, _set.docLockForms, _set.docLockCommentsIns, _set.previewReviewMode, _set.wsLock, _set.noStyles, _set.coAuthText, _set.viewMode], + _set.coAuth, _set.docLockView, _set.docLockForms, _set.docLockCommentsIns, _set.previewReviewMode, _set.wsLock, _set.noStyles, _set.coAuthText, _set.viewMode, _set.slideDeleted, _set.pageDeleted], beforeOpenHandler: function(e) { var cmp = this, menu = cmp.openButton.menu, @@ -668,7 +669,7 @@ define([ iconCls: 'toolbar__icon btn-update', caption: me.capChartType, lock : [_set.paragraphLock, _set.imageLock, _set.headerLock, _set.viewFormMode, _set.contentLock, - _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockViewIns, _set.docLockForms, _set.docLockCommentsIns, _set.viewMode], + _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockViewIns, _set.docLockForms, _set.docLockCommentsIns, _set.viewMode, _set.slideDeleted, _set.pageDeleted], menu: true, action: 'insert-chart', dataHint : '1', @@ -682,7 +683,7 @@ define([ iconCls: 'toolbar__icon btn-settings', caption: me.capAdvancedSettings, lock : [_set.paragraphLock, _set.imageLock, _set.headerLock, _set.viewFormMode, _set.lostConnect, - _set.coAuth, _set.editCell, _set.SeveralCharts, _set.docLockView, _set.docLockForms, _set.docLockCommentsIns, _set.previewReviewMode, _set.coAuthText, _set.wsLock, _set.viewMode], + _set.coAuth, _set.editCell, _set.SeveralCharts, _set.docLockView, _set.docLockForms, _set.docLockCommentsIns, _set.previewReviewMode, _set.coAuthText, _set.wsLock, _set.viewMode, _set.slideDeleted, _set.pageDeleted], dataHint : '1', dataHintDirection: 'bottom', dataHintOffset: 'small' @@ -692,14 +693,14 @@ define([ this.lblWidth = new Common.UI.Label({ caption: me.textWidth, lock: [_set.paragraphLock, _set.imageLock, _set.headerLock, _set.viewFormMode, _set.lostConnect, - _set.coAuth, _set.docLockView, _set.docLockForms, _set.docLockCommentsIns, _set.previewReviewMode, _set.editCell, _set.coAuthText, _set.wsLock, _set.viewMode], + _set.coAuth, _set.docLockView, _set.docLockForms, _set.docLockCommentsIns, _set.previewReviewMode, _set.editCell, _set.coAuthText, _set.wsLock, _set.viewMode, _set.slideDeleted, _set.pageDeleted], }); this.lockedControls.push(this.lblWidth); this.lblHeight = new Common.UI.Label({ caption: me.textHeight, lock: [_set.paragraphLock, _set.imageLock, _set.headerLock, _set.viewFormMode, _set.lostConnect, - _set.coAuth, _set.docLockView, _set.docLockForms, _set.docLockCommentsIns, _set.previewReviewMode, _set.editCell, _set.coAuthText, _set.wsLock, _set.viewMode], + _set.coAuth, _set.docLockView, _set.docLockForms, _set.docLockCommentsIns, _set.previewReviewMode, _set.editCell, _set.coAuthText, _set.wsLock, _set.viewMode, _set.slideDeleted, _set.pageDeleted], }); this.lockedControls.push(this.lblHeight); @@ -708,7 +709,7 @@ define([ width: 78, defaultUnit : "cm", lock: [_set.paragraphLock, _set.imageLock, _set.headerLock, _set.viewFormMode, _set.lostConnect, - _set.coAuth, _set.docLockView, _set.docLockForms, _set.docLockCommentsIns, _set.previewReviewMode, _set.editCell, _set.coAuthText, _set.wsLock, _set.viewMode], + _set.coAuth, _set.docLockView, _set.docLockForms, _set.docLockCommentsIns, _set.previewReviewMode, _set.editCell, _set.coAuthText, _set.wsLock, _set.viewMode, _set.slideDeleted, _set.pageDeleted], value: '3 cm', maxValue: 55.88, minValue: 0, @@ -724,7 +725,7 @@ define([ width: 78, defaultUnit : "cm", lock: [_set.paragraphLock, _set.imageLock, _set.headerLock, _set.viewFormMode, _set.lostConnect, - _set.coAuth, _set.docLockView, _set.docLockForms, _set.docLockCommentsIns, _set.previewReviewMode, _set.editCell, _set.coAuthText, _set.wsLock, _set.viewMode], + _set.coAuth, _set.docLockView, _set.docLockForms, _set.docLockCommentsIns, _set.previewReviewMode, _set.editCell, _set.coAuthText, _set.wsLock, _set.viewMode, _set.slideDeleted, _set.pageDeleted], value: '3 cm', maxValue: 55.88, minValue: 0, @@ -739,7 +740,7 @@ define([ labelText: me.textLockRation, value: true, lock : [_set.paragraphLock, _set.imageLock, _set.headerLock, _set.viewFormMode, _set.lostConnect, - _set.editCell, _set.docLockView, _set.docLockForms, _set.docLockCommentsIns, _set.previewReviewMode, _set.coAuthText, _set.wsLock, _set.viewMode], + _set.editCell, _set.docLockView, _set.docLockForms, _set.docLockCommentsIns, _set.previewReviewMode, _set.coAuthText, _set.wsLock, _set.viewMode, _set.slideDeleted, _set.pageDeleted], dataHint : '1', dataHintDirection: 'left', dataHintOffset: 'small' @@ -751,7 +752,7 @@ define([ iconCls: 'toolbar__icon btn-day', caption: me.cap3DRotation, lock : [_set.paragraphLock, _set.imageLock, _set.headerLock, _set.viewFormMode, _set.lostConnect, - _set.coAuth, _set.editCell, _set.docLockView, _set.docLockForms, _set.docLockCommentsIns, _set.previewReviewMode, _set.coAuthText, _set.wsLock, _set.viewMode], + _set.coAuth, _set.editCell, _set.docLockView, _set.docLockForms, _set.docLockCommentsIns, _set.previewReviewMode, _set.coAuthText, _set.wsLock, _set.viewMode, _set.slideDeleted, _set.pageDeleted], dataHint : '1', dataHintDirection: 'bottom', dataHintOffset: 'small' diff --git a/apps/documenteditor/main/app/controller/DocumentHolderExt.js b/apps/documenteditor/main/app/controller/DocumentHolderExt.js index 225ad7a51f..aa9e144df8 100644 --- a/apps/documenteditor/main/app/controller/DocumentHolderExt.js +++ b/apps/documenteditor/main/app/controller/DocumentHolderExt.js @@ -114,6 +114,7 @@ define([], function () { Common.NotificationCenter.on('storage:image-insert', _.bind(this.insertImageFromStorage, this)); Common.NotificationCenter.on('forms:image-select', _.bind(this.selectFormImage, this));// select from right pane } + Common.NotificationCenter.on('charttab:advanced', _.bind(this.onImgAdvanced, this)); this.api.asc_registerCallback('onPluginContextMenu', _.bind(this.onPluginContextMenu, this)); } }; diff --git a/apps/documenteditor/main/app/controller/Main.js b/apps/documenteditor/main/app/controller/Main.js index bad3329416..e4389d59e9 100644 --- a/apps/documenteditor/main/app/controller/Main.js +++ b/apps/documenteditor/main/app/controller/Main.js @@ -2065,8 +2065,7 @@ define([ rightmenuView.setMode(me.appOptions); } - if (!me.appOptions.isEditMailMerge && !me.appOptions.isEditDiagram && !me.appOptions.isEditOle && me.appOptions.canFeatureTable) - application.getController('Common.Controllers.ChartTab').setMode(me.appOptions); + application.getController('Common.Controllers.ChartTab').setMode(me.appOptions); var toolbarView = (toolbarController) ? toolbarController.getView() : null; if (toolbarView) { diff --git a/apps/pdfeditor/main/app.js b/apps/pdfeditor/main/app.js index 6d2ec5d4bf..615a58f70f 100644 --- a/apps/pdfeditor/main/app.js +++ b/apps/pdfeditor/main/app.js @@ -148,6 +148,7 @@ require([ 'Print', 'FormsTab', 'Common.Controllers.Fonts', + 'Common.Controllers.ChartTab', 'Common.Controllers.Chat', 'Common.Controllers.Comments', 'Common.Controllers.Draw', @@ -188,6 +189,7 @@ require([ 'pdfeditor/main/app/view/ChartSettings', 'common/main/lib/util/utils', 'common/main/lib/controller/Fonts', + 'common/main/lib/controller/ChartTab', 'common/main/lib/controller/Comments', 'common/main/lib/controller/Chat', /** coauthoring end **/ diff --git a/apps/pdfeditor/main/app/controller/DocumentHolderExt.js b/apps/pdfeditor/main/app/controller/DocumentHolderExt.js index acda897619..ea3a81bad4 100644 --- a/apps/pdfeditor/main/app/controller/DocumentHolderExt.js +++ b/apps/pdfeditor/main/app/controller/DocumentHolderExt.js @@ -65,6 +65,16 @@ define([], function () { }, 'FileMenu': { 'settings:apply': _.bind(this.applySettings, this) + }, + 'Common.Views.ChartTab': { + 'charttab:updatemenu': function (menu) { + if (this.chartProps) { + this.updateChartElementMenu(menu, this.chartProps) + } + }, + 'charttab:elementselected': function (menu, item) { + this.onChartElement(menu, item) + } } }); @@ -97,6 +107,7 @@ define([], function () { } this.api.asc_registerCallback('asc_onCoAuthoringDisconnect', _.bind(this.onCoAuthoringDisconnect, this)); Common.NotificationCenter.on('api:disconnect', _.bind(this.onCoAuthoringDisconnect, this)); + Common.NotificationCenter.on('charttab:advanced', _.bind(this.onChartAdvanced, this)); this.api.asc_registerCallback('asc_onShowForeignCursorLabel', _.bind(this.onShowForeignCursorLabel, this)); this.api.asc_registerCallback('asc_onHideForeignCursorLabel', _.bind(this.onHideForeignCursorLabel, this)); diff --git a/apps/pdfeditor/main/app/controller/InsTab.js b/apps/pdfeditor/main/app/controller/InsTab.js index 6b0983bc70..1eb2075f3b 100644 --- a/apps/pdfeditor/main/app/controller/InsTab.js +++ b/apps/pdfeditor/main/app/controller/InsTab.js @@ -120,6 +120,9 @@ define([ }, 'Toolbar': { 'tab:active': _.bind(this.onActiveTab, this) + }, + 'Common.Views.ChartTab': { + 'add:chart': _.bind(this.onSelectChart, this) } }); }, diff --git a/apps/pdfeditor/main/app/controller/Main.js b/apps/pdfeditor/main/app/controller/Main.js index 2331fc725b..bbb5142518 100644 --- a/apps/pdfeditor/main/app/controller/Main.js +++ b/apps/pdfeditor/main/app/controller/Main.js @@ -1673,6 +1673,9 @@ define([ me.appOptions.canSaveDocumentToBinary && me.api.asc_registerCallback('asc_onSaveDocument',_.bind(me.onSaveDocumentBinary, me)); /** coauthoring end **/ + if (me.appOptions.isPDFEdit) + application.getController('Common.Controllers.ChartTab').setMode(me.appOptions); + if (me.stackLongActions.exist({id: ApplyEditRights, type: Asc.c_oAscAsyncActionType['BlockInteraction']})) { me.onLongActionEnd(Asc.c_oAscAsyncActionType['BlockInteraction'], ApplyEditRights); } else if (!this._isDocReady) { diff --git a/apps/pdfeditor/main/app/controller/Toolbar.js b/apps/pdfeditor/main/app/controller/Toolbar.js index 9638c11828..4a70439b36 100644 --- a/apps/pdfeditor/main/app/controller/Toolbar.js +++ b/apps/pdfeditor/main/app/controller/Toolbar.js @@ -80,7 +80,8 @@ define([ can_decrease: undefined, fontsize: undefined, textclrhighlight: undefined, - initEditing: true + initEditing: true, + showChartTab: false, }; this.editMode = true; this.binding = { @@ -92,6 +93,7 @@ define([ 'change:compact' : this.onClickChangeCompact, 'home:open' : this.onHomeOpen, 'tab:active' : this.onActiveTab, + 'tab:click' : this.onClickTab, 'tab:collapse' : this.onTabCollapse, 'shapeannot:size' : this.onShapeCommentSizeClick }, @@ -154,7 +156,10 @@ define([ }, 'DocumentHolder': { 'annotbar:create': this.onCreateAnnotBar.bind(this) - } + }, + 'InsTab': { + 'insert:chart': this.onSelectChart.bind(this) + }, }); Common.NotificationCenter.on('toolbar:collapse', _.bind(function () { @@ -595,7 +600,8 @@ define([ page_edit_text = false, in_form = false, in_check_form = false, - in_text_form = false; + in_text_form = false, + in_chart = false; while (++i < selectedObjects.length) { type = selectedObjects[i].get_ObjectType(); @@ -619,6 +625,7 @@ define([ } if (type == Asc.c_oAscTypeSelectElement.Chart) { no_columns = true; + in_chart = true; } if (type == Asc.c_oAscTypeSelectElement.Shape) { var shapetype = pr.asc_getType(); @@ -656,6 +663,15 @@ define([ } } + if (this._state.inchart !== in_chart) { + if ( !in_chart && this.toolbar.isTabActive('charttab') ) + this.toolbar.setTab('home'); + this.toolbar.setVisible('charttab', !!in_chart); + if (in_chart && this._state.showChartTab) + this.toolbar.setTab('charttab'); + this._state.inchart = in_chart; + } + if (this._state.prcontrolsdisable !== paragraph_locked) { if (this._state.activated) this._state.prcontrolsdisable = paragraph_locked; if (paragraph_locked!==undefined) @@ -966,6 +982,10 @@ define([ } }, + onSelectChart: function () { + this._state.showChartTab = true; + }, + clearSelectTools: function() { if (this.toolbar && this.toolbar.btnSelectTool && (this.toolbar.btnSelectTool.pressed || this.toolbar.btnHandTool.pressed)) { this._state.select_tool = this.toolbar.btnSelectTool.pressed; @@ -1554,6 +1574,18 @@ define([ !config.canComments && me.toolbar.setVisible('comment', false); } + tab = {caption: me.textTabChart, action: 'charttab', extcls: config.isEdit ? 'canedit' : '', layoutname: 'toolbar-charttab', dataHintTitle: 'V', aux: true}; + var charttab = me.getApplication().getController('Common.Controllers.ChartTab'); + charttab.setApi(me.api).setConfig({toolbar: me}); + var view = charttab.getView('Common.Views.ChartTab'); + var chartbuttons = view.getButtons(); + var $panel = charttab.createToolbarPanel(); + if ($panel) { + me.toolbar.addTab(tab, $panel); + me._state.inchart && me.toolbar.setVisible('charttab', true); + Array.prototype.push.apply(me.toolbar.lockControls, chartbuttons); + } + var tab = {caption: me.toolbar.textTabView, action: 'view', extcls: config.isEdit ? 'canedit' : '', layoutname: 'toolbar-view', dataHintTitle: 'W'}; var viewtab = me.getApplication().getController('ViewTab'); viewtab.setApi(me.api).setConfig({toolbar: me, mode: config}); @@ -1745,6 +1777,10 @@ define([ (tab === 'red') && Common.UI.TooltipManager.closeTip('redactTab'); }, + onClickTab: function(tab) { + this._state.showChartTab = tab ==='charttab'; + }, + onTabCollapse: function(tab) { Common.UI.TooltipManager.closeTip('pdfCharts'); Common.UI.TooltipManager.closeTip('annotRect'); diff --git a/apps/pdfeditor/main/app_dev.js b/apps/pdfeditor/main/app_dev.js index 4959b2d1bd..deb4744732 100644 --- a/apps/pdfeditor/main/app_dev.js +++ b/apps/pdfeditor/main/app_dev.js @@ -137,7 +137,8 @@ require([ 'Search', 'Print', 'FormsTab', - 'Common.Controllers.Fonts' + 'Common.Controllers.Fonts', + 'Common.Controllers.ChartTab' ,'Common.Controllers.Chat' ,'Common.Controllers.Comments' ,'Common.Controllers.Draw' @@ -178,6 +179,7 @@ require([ 'pdfeditor/main/app/view/ChartSettings', 'common/main/lib/util/utils', 'common/main/lib/controller/Fonts', + 'common/main/lib/controller/ChartTab', 'common/main/lib/controller/Comments' ,'common/main/lib/controller/Chat' ,'common/main/lib/controller/Plugins' @@ -214,6 +216,7 @@ require([ 'common/main/lib/view/ExternalLinksDlg', 'common/main/lib/view/CustomizeQuickAccessDialog', 'common/main/lib/view/PasswordDialog', + 'common/main/lib/view/Charts3DDlg', 'common/main/lib/component/TextareaField', 'common/main/lib/view/ShortcutsDialog', 'common/main/lib/view/ShortcutsEditDialog', diff --git a/apps/pdfeditor/main/app_pack.js b/apps/pdfeditor/main/app_pack.js index 2e54fd6c7a..a5ec38d8fb 100644 --- a/apps/pdfeditor/main/app_pack.js +++ b/apps/pdfeditor/main/app_pack.js @@ -22,6 +22,7 @@ require([ 'common/main/lib/view/DocumentHolderExt', 'common/main/lib/view/ListSettingsDialog', 'common/main/lib/view/ExternalLinksDlg', + 'common/main/lib/view/Charts3DDlg', 'common/main/lib/view/CustomizeQuickAccessDialog', 'common/main/lib/view/PasswordDialog', 'common/main/lib/component/TextareaField', diff --git a/apps/pdfeditor/main/locale/en.json b/apps/pdfeditor/main/locale/en.json index c69d1b1c17..f7e33d19d8 100644 --- a/apps/pdfeditor/main/locale/en.json +++ b/apps/pdfeditor/main/locale/en.json @@ -904,6 +904,76 @@ "Common.Views.UserNameDialog.textDontShow": "Don't ask me again", "Common.Views.UserNameDialog.textLabel": "Label:", "Common.Views.UserNameDialog.textLabelError": "Label must not be empty.", + "Common.Views.ChartTab.capChartElements": "Chart Elements", + "Common.Views.ChartTab.tipChartElements": "Chart elements", + "Common.Views.ChartTab.capEditData": "Edit Data", + "Common.Views.ChartTab.tipEditData": "Edit data", + "Common.Views.ChartTab.capChartType": "Chart type", + "Common.Views.ChartTab.tipChartType": "Change chart type", + "Common.Views.ChartTab.capAdvancedSettings": "Advanced settings", + "Common.Views.ChartTab.tipAdvanced": "Advanced settings", + "Common.Views.ChartTab.textWidth": "Width", + "Common.Views.ChartTab.textHeight": "Height", + "Common.Views.ChartTab.textLockRation": "Lock aspect ratio", + "Common.Views.ChartTab.cap3DRotation": "3D rotation", + "Common.Views.ChartTab.tip3DRotation": "3D rotation", + "Common.Views.ChartTab.textAxes": "Axes", + "Common.Views.ChartTab.textHorAxis": "Horizontal axis", + "Common.Views.ChartTab.textVertAxis": "Vertical axis", + "Common.Views.ChartTab.textHorAxisSec": "Secondary horizontal axis", + "Common.Views.ChartTab.textVertAxisSec": "Secondary vertical axis", + "Common.Views.ChartTab.DepthAxis": "Z axis", + "Common.Views.ChartTab.textAxisTitles": "Axis Titles", + "Common.Views.ChartTab.textChartTitle": "Chart title", + "Common.Views.ChartTab.textNone": "None", + "Common.Views.ChartTab.textNoOverlay": "No overlay", + "Common.Views.ChartTab.textOverlay": "Overlay", + "Common.Views.ChartTab.textDataLabels": "Data labels", + "Common.Views.ChartTab.textCenter": "Center", + "Common.Views.ChartTab.textInnerBottom": "Inner bottom", + "Common.Views.ChartTab.textInnerTop": "Inner top", + "Common.Views.ChartTab.textOuterTop": "Outer top", + "Common.Views.ChartTab.textTop": "Top", + "Common.Views.ChartTab.textLeft": "Left", + "Common.Views.ChartTab.textRight": "Right", + "Common.Views.ChartTab.textBottom": "Bottom", + "Common.Views.ChartTab.textFit": "Fit to width", + "Common.Views.ChartTab.textErrorBars": "Error Bars", + "Common.Views.ChartTab.textStandardError": "Standard Error", + "Common.Views.ChartTab.txtPercentage": "Percentage", + "Common.Views.ChartTab.textStandardDeviation": "Standard Deviation", + "Common.Views.ChartTab.textGridLines": "Gridlines", + "Common.Views.ChartTab.textHorizontalMajor": "Horizontal Major", + "Common.Views.ChartTab.textVerticalMajor": "Vertical Major", + "Common.Views.ChartTab.textHorizontalMinor": "Horizontal Minor", + "Common.Views.ChartTab.textVerticalMinor": "Vertical Minor", + "Common.Views.ChartTab.textLegendPos": "Legend", + "Common.Views.ChartTab.textLeftOverlay": "Left overlay", + "Common.Views.ChartTab.textRightOverlay": "Right overlay", + "Common.Views.ChartTab.textTrendlineOptions": "Trendline options", + "Common.Views.ChartTab.textTrendline": "Trendline", + "Common.Views.ChartTab.textLinear": "Linear", + "Common.Views.ChartTab.textLinearForecast": "Linear Forecast", + "Common.Views.ChartTab.textLinearTrend": "Linear trend", + "Common.Views.ChartTab.textExponential": "Exponential", + "Common.Views.ChartTab.textMovingAverage": "Moving Average (2)", + "Common.Views.ChartTab.textUpDownBars": " Up/Down Bars", + "Common.Views.ChartTab.textShowUpDown": "Show Up/Down Bars", + "Common.Views.ChartTab.capUpdateData": "Update Data", + "Common.Views.ChartTab.tipUpdateData": "Update data", + "Common.Views.ChartTab.menuCapEditData": "Edit data", + "Common.Views.ChartTab.menuCapEditLinks": "Edit links", + "Common.Views.ChartTab.menuCapOpen": "Open", + "Common.Controllers.ChartTab.menuCapOpen": "Open", + "Common.Views.Charts3DDlg.txtXRotation": "X-rotation", + "Common.Views.Charts3DDlg.txtYRotation": "Y-rotation", + "Common.Views.Charts3DDlg.txtPerspective": "Perspective", + "Common.Views.Charts3DDlg.txtDepth": "Depth (% of base)", + "Common.Views.Charts3DDlg.txtHeight": "Height (% of base)", + "Common.Views.Charts3DDlg.txtDefRotation": "Default Rotation", + "Common.Views.Charts3DDlg.capRotation": "3D Rotation", + "Common.Views.Charts3DDlg.capRightAngleAxes": "Right angle axes", + "Common.Views.Charts3DDlg.capAutoscale": "Autoscale", "PDFE.Controllers.InsTab.textAccent": "Accents", "PDFE.Controllers.InsTab.textBracket": "Brackets", "PDFE.Controllers.InsTab.textFraction": "Fractions", @@ -1635,6 +1705,7 @@ "PDFE.Controllers.Toolbar.textRequired": "Fill all required fields to send form.", "PDFE.Controllers.Toolbar.textSubmited": "Form submitted successfully
Click to close the tip.", "PDFE.Controllers.Toolbar.textTabForms": "Forms", + "PDFE.Controllers.Toolbar.textTabChart": "Chart design", "PDFE.Controllers.Toolbar.textWarning": "Warning", "PDFE.Controllers.Toolbar.txtDownload": "Download", "PDFE.Controllers.Toolbar.txtNeedCommentMode": "To save changes to the file, switch to Сommenting mode. Or you can download a copy of the modified file.", diff --git a/apps/presentationeditor/main/app.js b/apps/presentationeditor/main/app.js index 9cf5c997b6..fe0365e537 100644 --- a/apps/presentationeditor/main/app.js +++ b/apps/presentationeditor/main/app.js @@ -143,6 +143,7 @@ require([ 'Search', 'Print', 'Common.Controllers.Fonts', + 'Common.Controllers.ChartTab', 'Common.Controllers.History' /** coauthoring begin **/ , 'Common.Controllers.Chat' @@ -190,6 +191,7 @@ require([ // 'presentationeditor/main/app/view/SignatureSettings', 'common/main/lib/util/utils', 'common/main/lib/controller/Fonts', + 'common/main/lib/controller/ChartTab', 'common/main/lib/controller/History' /** coauthoring begin **/ ,'common/main/lib/controller/Comments', diff --git a/apps/presentationeditor/main/app/controller/DocumentHolderExt.js b/apps/presentationeditor/main/app/controller/DocumentHolderExt.js index a2eba0c5ae..dbe688ddc9 100644 --- a/apps/presentationeditor/main/app/controller/DocumentHolderExt.js +++ b/apps/presentationeditor/main/app/controller/DocumentHolderExt.js @@ -65,6 +65,16 @@ define([], function () { 'equation:callback': this.equationCallback, 'layout:change': this.onLayoutChange, 'theme:change': this.onThemeChange + }, + 'Common.Views.ChartTab': { + 'charttab:updatemenu': function (menu) { + if (me.chartProps) { + this.updateChartElementMenu(menu, me.chartProps) + } + }, + 'charttab:elementselected': function (menu, item) { + me.onChartElement(menu, item) + } } }); @@ -111,6 +121,8 @@ define([], function () { me.api.asc_registerCallback('asc_onHideForeignCursorLabel', _.bind(me.onHideForeignCursorLabel, me)); me.api.asc_registerCallback('asc_onFocusObject', _.bind(me.onFocusObject, me)); me.api.asc_registerCallback('onPluginContextMenu', _.bind(me.onPluginContextMenu, me)); + + Common.NotificationCenter.on('charttab:advanced', _.bind(this.onChartAdvanced, this)); } }; diff --git a/apps/presentationeditor/main/app/controller/Main.js b/apps/presentationeditor/main/app/controller/Main.js index 04a4550cbb..b809a7f380 100644 --- a/apps/presentationeditor/main/app/controller/Main.js +++ b/apps/presentationeditor/main/app/controller/Main.js @@ -1584,6 +1584,8 @@ define([ rightmenuView.setMode(me.appOptions); } + application.getController('Common.Controllers.ChartTab').setMode(me.appOptions); + var toolbarView = (toolbarController) ? toolbarController.getView('Toolbar') : null; if (toolbarView) { toolbarView.setApi(me.api); diff --git a/apps/presentationeditor/main/app/controller/Toolbar.js b/apps/presentationeditor/main/app/controller/Toolbar.js index 0bb6ff64d0..5096a8b435 100644 --- a/apps/presentationeditor/main/app/controller/Toolbar.js +++ b/apps/presentationeditor/main/app/controller/Toolbar.js @@ -103,7 +103,8 @@ define([ isLockedSlideHeaderAppyToAll: false, customPluginItems: undefined, activeTab: 'home', - viewMode: 'normal' + viewMode: 'normal', + showChartTab: false, }; this._isAddingShape = false; this.slideSizeArr = [ @@ -140,6 +141,7 @@ define([ 'add:chart' : this.onSelectChart, 'insert:smartart' : this.onInsertSmartArt, 'smartart:mouseenter': this.mouseenterSmartArt, + 'tab:click' : this.onClickTab, 'smartart:mouseleave': this.mouseleaveSmartArt, 'tab:active' : this.onActiveTab.bind(this), 'tab:active:before' : this.onBeforeActiveTab.bind(this), @@ -201,7 +203,10 @@ define([ 'ViewTab': { 'toolbar:setcompact': this.onChangeCompactView.bind(this), 'viewmode:change': this.onChangeViewMode.bind(this) - } + }, + 'Common.Views.ChartTab': { + 'add:chart': this.onSelectChart.bind(this) + }, }); Common.NotificationCenter.on('toolbar:collapse', _.bind(function () { this.toolbar.collapse(); @@ -904,6 +909,15 @@ define([ this._state.in_chart = in_chart; } + if (this._state.inchart !== in_chart) { + if ( !in_chart && this.toolbar.isTabActive('charttab') ) + this.toolbar.setTab('home'); + this.toolbar.setVisible('charttab', !!in_chart); + if (in_chart && this._state.showChartTab) + this.toolbar.setTab('charttab'); + this._state.inchart = in_chart; + } + this.toolbar.lockToolbar(Common.enumLock.noParagraphObject, !in_para, {array: [me.toolbar.btnLineSpace]}); this.toolbar.lockToolbar(Common.enumLock.cantMergeShape, !this.api.asc_canMergeSelectedShapes(), { array: [this.toolbar.btnShapesMerge] }); @@ -2177,6 +2191,7 @@ define([ chart.changeType(type); Common.NotificationCenter.trigger('edit:complete', this.toolbar); } else { + me._state.showChartTab = true; me.api.asc_addChartDrawingObject(type, undefined, true); me.toolbar.fireEvent('insertchart', me.toolbar); } @@ -2785,6 +2800,18 @@ define([ Array.prototype.push.apply(me.toolbar.slideOnlyControls, me.btnsDrawTab); } + tab = {caption: me.toolbar.textTabChart, action: 'charttab', extcls: config.isEdit ? 'canedit' : '', layoutname: 'toolbar-charttab', dataHintTitle: 'V', aux: true}; + var charttab = me.getApplication().getController('Common.Controllers.ChartTab'); + charttab.setApi(me.api).setConfig({toolbar: me}); + var view = charttab.getView('Common.Views.ChartTab'); + var chartbuttons = view.getButtons(); + var $panel = charttab.createToolbarPanel(); + if ($panel) { + me.toolbar.addTab(tab, $panel); + me._state.inchart && me.toolbar.setVisible('charttab', true); + Array.prototype.push.apply(me.toolbar.lockControls, chartbuttons); + } + var transitController = me.getApplication().getController('Transitions'); transitController.setApi(me.api).setConfig({toolbar: me,mode:config}).createToolbarPanel(); Array.prototype.push.apply(me.toolbar.lockControls,transitController.getView().getButtons()); @@ -3064,6 +3091,10 @@ define([ (tab !== 'slideMaster') && Common.UI.TooltipManager.closeTip('masterTab'); }, + onClickTab: function(tab) { + this._state.showChartTab = tab ==='charttab'; + }, + onBeforeActiveTab: function(tab) { this._state.activeTab = tab; this.showStaticElements(); diff --git a/apps/presentationeditor/main/app_dev.js b/apps/presentationeditor/main/app_dev.js index fc36775999..fa1a4faca0 100644 --- a/apps/presentationeditor/main/app_dev.js +++ b/apps/presentationeditor/main/app_dev.js @@ -134,6 +134,7 @@ require([ 'Search', 'Print', 'Common.Controllers.Fonts', + 'Common.Controllers.ChartTab', 'Common.Controllers.History' /** coauthoring begin **/ , 'Common.Controllers.Chat' @@ -181,6 +182,7 @@ require([ // 'presentationeditor/main/app/view/SignatureSettings', 'common/main/lib/util/utils', 'common/main/lib/controller/Fonts', + 'common/main/lib/controller/ChartTab', 'common/main/lib/controller/History' /** coauthoring begin **/ ,'common/main/lib/controller/Comments', @@ -231,6 +233,7 @@ require([ 'common/main/lib/view/MacrosDialog', 'common/main/lib/view/MacrosAiDialog', 'common/main/lib/view/ShortcutsDialog', + 'common/main/lib/view/Charts3DDlg', 'common/main/lib/view/ShortcutsEditDialog', 'common/main/lib/component/MonacoEditor', 'common/main/lib/component/TextareaField', diff --git a/apps/presentationeditor/main/app_pack.js b/apps/presentationeditor/main/app_pack.js index 359c888196..8b627f7c03 100644 --- a/apps/presentationeditor/main/app_pack.js +++ b/apps/presentationeditor/main/app_pack.js @@ -31,6 +31,7 @@ require([ 'common/main/lib/view/MacrosDialog', 'common/main/lib/view/MacrosAiDialog', 'common/main/lib/view/ShortcutsDialog', + 'common/main/lib/view/Charts3DDlg', 'common/main/lib/view/ShortcutsEditDialog', 'common/main/lib/component/MonacoEditor', 'common/main/lib/component/TextareaField', diff --git a/apps/presentationeditor/main/locale/en.json b/apps/presentationeditor/main/locale/en.json index 219e5e2239..69d43c678c 100644 --- a/apps/presentationeditor/main/locale/en.json +++ b/apps/presentationeditor/main/locale/en.json @@ -1313,6 +1313,76 @@ "Common.Views.UserNameDialog.textDontShow": "Don't ask me again", "Common.Views.UserNameDialog.textLabel": "Label:", "Common.Views.UserNameDialog.textLabelError": "Label must not be empty.", + "Common.Views.ChartTab.capChartElements": "Chart Elements", + "Common.Views.ChartTab.tipChartElements": "Chart elements", + "Common.Views.ChartTab.capEditData": "Edit Data", + "Common.Views.ChartTab.tipEditData": "Edit data", + "Common.Views.ChartTab.capChartType": "Chart type", + "Common.Views.ChartTab.tipChartType": "Change chart type", + "Common.Views.ChartTab.capAdvancedSettings": "Advanced settings", + "Common.Views.ChartTab.tipAdvanced": "Advanced settings", + "Common.Views.ChartTab.textWidth": "Width", + "Common.Views.ChartTab.textHeight": "Height", + "Common.Views.ChartTab.textLockRation": "Lock aspect ratio", + "Common.Views.ChartTab.cap3DRotation": "3D rotation", + "Common.Views.ChartTab.tip3DRotation": "3D rotation", + "Common.Views.ChartTab.textAxes": "Axes", + "Common.Views.ChartTab.textHorAxis": "Horizontal axis", + "Common.Views.ChartTab.textVertAxis": "Vertical axis", + "Common.Views.ChartTab.textHorAxisSec": "Secondary horizontal axis", + "Common.Views.ChartTab.textVertAxisSec": "Secondary vertical axis", + "Common.Views.ChartTab.DepthAxis": "Z axis", + "Common.Views.ChartTab.textAxisTitles": "Axis Titles", + "Common.Views.ChartTab.textChartTitle": "Chart title", + "Common.Views.ChartTab.textNone": "None", + "Common.Views.ChartTab.textNoOverlay": "No overlay", + "Common.Views.ChartTab.textOverlay": "Overlay", + "Common.Views.ChartTab.textDataLabels": "Data labels", + "Common.Views.ChartTab.textCenter": "Center", + "Common.Views.ChartTab.textInnerBottom": "Inner bottom", + "Common.Views.ChartTab.textInnerTop": "Inner top", + "Common.Views.ChartTab.textOuterTop": "Outer top", + "Common.Views.ChartTab.textTop": "Top", + "Common.Views.ChartTab.textLeft": "Left", + "Common.Views.ChartTab.textRight": "Right", + "Common.Views.ChartTab.textBottom": "Bottom", + "Common.Views.ChartTab.textFit": "Fit to width", + "Common.Views.ChartTab.textErrorBars": "Error Bars", + "Common.Views.ChartTab.textStandardError": "Standard Error", + "Common.Views.ChartTab.txtPercentage": "Percentage", + "Common.Views.ChartTab.textStandardDeviation": "Standard Deviation", + "Common.Views.ChartTab.textGridLines": "Gridlines", + "Common.Views.ChartTab.textHorizontalMajor": "Horizontal Major", + "Common.Views.ChartTab.textVerticalMajor": "Vertical Major", + "Common.Views.ChartTab.textHorizontalMinor": "Horizontal Minor", + "Common.Views.ChartTab.textVerticalMinor": "Vertical Minor", + "Common.Views.ChartTab.textLegendPos": "Legend", + "Common.Views.ChartTab.textLeftOverlay": "Left overlay", + "Common.Views.ChartTab.textRightOverlay": "Right overlay", + "Common.Views.ChartTab.textTrendlineOptions": "Trendline options", + "Common.Views.ChartTab.textTrendline": "Trendline", + "Common.Views.ChartTab.textLinear": "Linear", + "Common.Views.ChartTab.textLinearForecast": "Linear Forecast", + "Common.Views.ChartTab.textLinearTrend": "Linear trend", + "Common.Views.ChartTab.textExponential": "Exponential", + "Common.Views.ChartTab.textMovingAverage": "Moving Average (2)", + "Common.Views.ChartTab.textUpDownBars": " Up/Down Bars", + "Common.Views.ChartTab.textShowUpDown": "Show Up/Down Bars", + "Common.Views.ChartTab.capUpdateData": "Update Data", + "Common.Views.ChartTab.tipUpdateData": "Update data", + "Common.Views.ChartTab.menuCapEditData": "Edit data", + "Common.Views.ChartTab.menuCapEditLinks": "Edit links", + "Common.Views.ChartTab.menuCapOpen": "Open", + "Common.Controllers.ChartTab.menuCapOpen": "Open", + "Common.Views.Charts3DDlg.txtXRotation": "X-rotation", + "Common.Views.Charts3DDlg.txtYRotation": "Y-rotation", + "Common.Views.Charts3DDlg.txtPerspective": "Perspective", + "Common.Views.Charts3DDlg.txtDepth": "Depth (% of base)", + "Common.Views.Charts3DDlg.txtHeight": "Height (% of base)", + "Common.Views.Charts3DDlg.txtDefRotation": "Default Rotation", + "Common.Views.Charts3DDlg.capRotation": "3D Rotation", + "Common.Views.Charts3DDlg.capRightAngleAxes": "Right angle axes", + "Common.Views.Charts3DDlg.capAutoscale": "Autoscale", "PE.Controllers.DocumentHolder.textLongName": "Enter a name that is less than 255 characters.", "PE.Controllers.DocumentHolder.textNameLayout": "Layout name", "PE.Controllers.DocumentHolder.textNameMaster": "Master name", @@ -3373,6 +3443,7 @@ "PE.Views.Toolbar.textTabCollaboration": "Collaboration", "PE.Views.Toolbar.textTabDesign": "Design", "PE.Views.Toolbar.textTabDraw": "Draw", + "PE.Views.Toolbar.textTabChart": "Chart design", "PE.Views.Toolbar.textTabFile": "File", "PE.Views.Toolbar.textTabHome": "Home", "PE.Views.Toolbar.textTabInsert": "Insert",