diff --git a/apps/presentationeditor/main/app/template/ImageSettingsAdvanced.template b/apps/presentationeditor/main/app/template/ImageSettingsAdvanced.template
index d811bd244..337aff709 100644
--- a/apps/presentationeditor/main/app/template/ImageSettingsAdvanced.template
+++ b/apps/presentationeditor/main/app/template/ImageSettingsAdvanced.template
@@ -45,6 +45,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+ |
+
+
+
+
+ |
+
+
+
+
diff --git a/apps/presentationeditor/main/app/template/ShapeSettingsAdvanced.template b/apps/presentationeditor/main/app/template/ShapeSettingsAdvanced.template
index 2b7149a8c..957639ea8 100644
--- a/apps/presentationeditor/main/app/template/ShapeSettingsAdvanced.template
+++ b/apps/presentationeditor/main/app/template/ShapeSettingsAdvanced.template
@@ -17,6 +17,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+ |
+
+
+
+
+ |
+
+
+
+
diff --git a/apps/presentationeditor/main/app/view/ImageSettingsAdvanced.js b/apps/presentationeditor/main/app/view/ImageSettingsAdvanced.js
index 1fd3b5887..b8066688b 100644
--- a/apps/presentationeditor/main/app/view/ImageSettingsAdvanced.js
+++ b/apps/presentationeditor/main/app/view/ImageSettingsAdvanced.js
@@ -40,7 +40,8 @@
define([ 'text!presentationeditor/main/app/template/ImageSettingsAdvanced.template',
'common/main/lib/view/AdvancedSettingsWindow',
- 'common/main/lib/component/MetricSpinner'
+ 'common/main/lib/component/MetricSpinner',
+ 'common/main/lib/component/CheckBox'
], function (contentTemplate) {
'use strict';
@@ -59,6 +60,7 @@ define([ 'text!presentationeditor/main/app/template/ImageSettingsAdvanced.tem
title: this.textTitle,
items: [
{panelId: 'id-adv-image-size', panelCaption: this.textPlacement},
+ {panelId: 'id-adv-image-rotate', panelCaption: this.textRotation},
{panelId: 'id-adv-image-alttext', panelCaption: this.textAlt}
],
contentTemplate: _.template(contentTemplate)({
@@ -171,6 +173,27 @@ define([ 'text!presentationeditor/main/app/template/ImageSettingsAdvanced.tem
});
this.spinners.push(this.spnY);
+ // Rotation
+ this.spnAngle = new Common.UI.MetricSpinner({
+ el: $('#image-advanced-spin-angle'),
+ step: 1,
+ width: 80,
+ defaultUnit : "°",
+ value: '0 °',
+ maxValue: 3600,
+ minValue: -3600
+ });
+
+ this.chFlipHor = new Common.UI.CheckBox({
+ el: $('#image-advanced-checkbox-hor'),
+ labelText: this.textHorizontally
+ });
+
+ this.chFlipVert = new Common.UI.CheckBox({
+ el: $('#image-advanced-checkbox-vert'),
+ labelText: this.textVertically
+ });
+
// Alt Text
this.inputAltTitle = new Common.UI.InputField({
@@ -225,6 +248,11 @@ define([ 'text!presentationeditor/main/app/template/ImageSettingsAdvanced.tem
this.spnY.setValue('', true);
}
+ value = props.asc_getRot();
+ this.spnAngle.setValue((value==undefined || value===null) ? '' : Math.floor(value*180/3.14159265358979+0.5), true);
+ this.chFlipHor.setValue(props.asc_getFlipH());
+ this.chFlipVert.setValue(props.asc_getFlipV());
+
value = props.asc_getTitle();
this.inputAltTitle.setValue(value ? value : '');
@@ -254,6 +282,10 @@ define([ 'text!presentationeditor/main/app/template/ImageSettingsAdvanced.tem
if (this.isAltDescChanged)
properties.asc_putDescription(this.textareaAltDescription.val());
+ properties.asc_putRot(this.spnAngle.getNumberValue() * 3.14159265358979 / 180);
+ properties.asc_putFlipH(this.chFlipHor.getValue()=='checked');
+ properties.asc_putFlipV(this.chFlipVert.getValue()=='checked');
+
return { imageProps: properties };
},
@@ -289,7 +321,12 @@ define([ 'text!presentationeditor/main/app/template/ImageSettingsAdvanced.tem
textAlt: 'Alternative Text',
textAltTitle: 'Title',
textAltDescription: 'Description',
- textAltTip: 'The alternative text-based representation of the visual object information, which will be read to the people with vision or cognitive impairments to help them better understand what information there is in the image, autoshape, chart or table.'
+ textAltTip: 'The alternative text-based representation of the visual object information, which will be read to the people with vision or cognitive impairments to help them better understand what information there is in the image, autoshape, chart or table.',
+ textRotation: 'Rotation',
+ textAngle: 'Angle',
+ textFlipped: 'Flipped',
+ textHorizontally: 'Horizontally',
+ textVertically: 'Vertically'
}, PE.Views.ImageSettingsAdvanced || {}));
});
\ No newline at end of file
diff --git a/apps/presentationeditor/main/app/view/ShapeSettingsAdvanced.js b/apps/presentationeditor/main/app/view/ShapeSettingsAdvanced.js
index abe18a36c..3f4951f61 100644
--- a/apps/presentationeditor/main/app/view/ShapeSettingsAdvanced.js
+++ b/apps/presentationeditor/main/app/view/ShapeSettingsAdvanced.js
@@ -41,7 +41,8 @@
define([ 'text!presentationeditor/main/app/template/ShapeSettingsAdvanced.template',
'common/main/lib/view/AdvancedSettingsWindow',
'common/main/lib/component/ComboBox',
- 'common/main/lib/component/MetricSpinner'
+ 'common/main/lib/component/MetricSpinner',
+ 'common/main/lib/component/CheckBox'
], function (contentTemplate) {
'use strict';
@@ -61,6 +62,7 @@ define([ 'text!presentationeditor/main/app/template/ShapeSettingsAdvanced.tem
title: this.textTitle,
items: [
{panelId: 'id-adv-shape-width', panelCaption: this.textSize},
+ {panelId: 'id-adv-shape-rotate', panelCaption: this.textRotation},
{panelId: 'id-adv-shape-shape', panelCaption: this.textWeightArrows},
{panelId: 'id-adv-shape-margins', panelCaption: this.strMargins},
{panelId: 'id-adv-shape-columns', panelCaption: this.strColumns},
@@ -230,6 +232,27 @@ define([ 'text!presentationeditor/main/app/template/ShapeSettingsAdvanced.tem
}, this));
this.spinners.push(this.spnMarginRight);
+ // Rotation
+ this.spnAngle = new Common.UI.MetricSpinner({
+ el: $('#shape-advanced-spin-angle'),
+ step: 1,
+ width: 80,
+ defaultUnit : "°",
+ value: '0 °',
+ maxValue: 3600,
+ minValue: -3600
+ });
+
+ this.chFlipHor = new Common.UI.CheckBox({
+ el: $('#shape-advanced-checkbox-hor'),
+ labelText: this.textHorizontally
+ });
+
+ this.chFlipVert = new Common.UI.CheckBox({
+ el: $('#shape-advanced-checkbox-vert'),
+ labelText: this.textVertically
+ });
+
// Shape
this._arrCapType = [
{displayValue: this.textFlat, value: Asc.c_oAscLineCapType.Flat},
@@ -499,10 +522,10 @@ define([ 'text!presentationeditor/main/app/template/ShapeSettingsAdvanced.tem
val = margins.get_Bottom();
this.spnMarginBottom.setValue((null !== val && undefined !== val) ? Common.Utils.Metric.fnRecalcFromMM(val) : '', true);
}
- this.btnsCategory[2].setDisabled(null === margins); // Margins
+ this.btnsCategory[3].setDisabled(null === margins); // Margins
var shapetype = props.asc_getType();
- this.btnsCategory[3].setDisabled(shapetype=='line' || shapetype=='bentConnector2' || shapetype=='bentConnector3'
+ this.btnsCategory[4].setDisabled(shapetype=='line' || shapetype=='bentConnector2' || shapetype=='bentConnector3'
|| shapetype=='bentConnector4' || shapetype=='bentConnector5' || shapetype=='curvedConnector2'
|| shapetype=='curvedConnector3' || shapetype=='curvedConnector4' || shapetype=='curvedConnector5'
|| shapetype=='straightConnector1');
@@ -519,6 +542,11 @@ define([ 'text!presentationeditor/main/app/template/ShapeSettingsAdvanced.tem
value = props.asc_getDescription();
this.textareaAltDescription.val(value ? value : '');
+ value = props.asc_getRot();
+ this.spnAngle.setValue((value==undefined || value===null) ? '' : Math.floor(value*180/3.14159265358979+0.5), true);
+ this.chFlipHor.setValue(props.asc_getFlipH());
+ this.chFlipVert.setValue(props.asc_getFlipV());
+
this._changedProps = new Asc.asc_CShapeProperty();
}
},
@@ -530,6 +558,10 @@ define([ 'text!presentationeditor/main/app/template/ShapeSettingsAdvanced.tem
if (this.isAltDescChanged)
this._changedProps.asc_putDescription(this.textareaAltDescription.val());
+ this._changedProps.asc_putRot(this.spnAngle.getNumberValue() * 3.14159265358979 / 180);
+ this._changedProps.asc_putFlipH(this.chFlipHor.getValue()=='checked');
+ this._changedProps.asc_putFlipV(this.chFlipVert.getValue()=='checked');
+
Common.localStorage.setItem("pe-settings-shaperatio", (this.btnRatio.pressed) ? 1 : 0);
return { shapeProps: this._changedProps} ;
},
@@ -538,7 +570,7 @@ define([ 'text!presentationeditor/main/app/template/ShapeSettingsAdvanced.tem
if (props ){
var stroke = props.get_stroke();
if (stroke) {
- this.btnsCategory[1].setDisabled(stroke.get_type() == Asc.c_oAscStrokeType.STROKE_NONE); // Weights & Arrows
+ this.btnsCategory[2].setDisabled(stroke.get_type() == Asc.c_oAscStrokeType.STROKE_NONE); // Weights & Arrows
var value = stroke.get_linejoin();
for (var i=0; i
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+ |
+
+
+
+
+ |
+
+
+
+
diff --git a/apps/spreadsheeteditor/main/app/template/ShapeSettingsAdvanced.template b/apps/spreadsheeteditor/main/app/template/ShapeSettingsAdvanced.template
index 2ae9bfa02..8ed314425 100644
--- a/apps/spreadsheeteditor/main/app/template/ShapeSettingsAdvanced.template
+++ b/apps/spreadsheeteditor/main/app/template/ShapeSettingsAdvanced.template
@@ -17,6 +17,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+ |
+
+
+
+
+ |
+
+
+
+
diff --git a/apps/spreadsheeteditor/main/app/view/ImageSettingsAdvanced.js b/apps/spreadsheeteditor/main/app/view/ImageSettingsAdvanced.js
index 74f43448a..b4bb98e96 100644
--- a/apps/spreadsheeteditor/main/app/view/ImageSettingsAdvanced.js
+++ b/apps/spreadsheeteditor/main/app/view/ImageSettingsAdvanced.js
@@ -40,7 +40,9 @@
define([ 'text!spreadsheeteditor/main/app/template/ImageSettingsAdvanced.template',
'common/main/lib/view/AdvancedSettingsWindow',
- 'common/main/lib/component/InputField'
+ 'common/main/lib/component/InputField',
+ 'common/main/lib/component/MetricSpinner',
+ 'common/main/lib/component/CheckBox'
], function (contentTemplate) {
'use strict';
@@ -57,6 +59,7 @@ define([ 'text!spreadsheeteditor/main/app/template/ImageSettingsAdvanced.temp
_.extend(this.options, {
title: this.textTitle,
items: [
+ {panelId: 'id-adv-image-rotate', panelCaption: this.textRotation},
{panelId: 'id-adv-image-alttext', panelCaption: this.textAlt}
],
contentTemplate: _.template(contentTemplate)({
@@ -74,6 +77,27 @@ define([ 'text!spreadsheeteditor/main/app/template/ImageSettingsAdvanced.temp
var me = this;
+ // Rotation
+ this.spnAngle = new Common.UI.MetricSpinner({
+ el: $('#image-advanced-spin-angle'),
+ step: 1,
+ width: 80,
+ defaultUnit : "°",
+ value: '0 °',
+ maxValue: 3600,
+ minValue: -3600
+ });
+
+ this.chFlipHor = new Common.UI.CheckBox({
+ el: $('#image-advanced-checkbox-hor'),
+ labelText: this.textHorizontally
+ });
+
+ this.chFlipVert = new Common.UI.CheckBox({
+ el: $('#image-advanced-checkbox-vert'),
+ labelText: this.textVertically
+ });
+
// Alt Text
this.inputAltTitle = new Common.UI.InputField({
@@ -112,6 +136,11 @@ define([ 'text!spreadsheeteditor/main/app/template/ImageSettingsAdvanced.temp
value = props.asc_getDescription();
this.textareaAltDescription.val(value ? value : '');
+ value = props.asc_getRot();
+ this.spnAngle.setValue((value==undefined || value===null) ? '' : Math.floor(value*180/3.14159265358979+0.5), true);
+ this.chFlipHor.setValue(props.asc_getFlipH());
+ this.chFlipVert.setValue(props.asc_getFlipV());
+
this._changedProps = new Asc.asc_CImgProperty();
}
},
@@ -123,6 +152,10 @@ define([ 'text!spreadsheeteditor/main/app/template/ImageSettingsAdvanced.temp
if (this.isAltDescChanged)
this._changedProps.asc_putDescription(this.textareaAltDescription.val());
+ this._changedProps.asc_putRot(this.spnAngle.getNumberValue() * 3.14159265358979 / 180);
+ this._changedProps.asc_putFlipH(this.chFlipHor.getValue()=='checked');
+ this._changedProps.asc_putFlipV(this.chFlipVert.getValue()=='checked');
+
return { imageProps: this._changedProps} ;
},
@@ -132,7 +165,12 @@ define([ 'text!spreadsheeteditor/main/app/template/ImageSettingsAdvanced.temp
textAlt: 'Alternative Text',
textAltTitle: 'Title',
textAltDescription: 'Description',
- textAltTip: 'The alternative text-based representation of the visual object information, which will be read to the people with vision or cognitive impairments to help them better understand what information there is in the image, autoshape, chart or table.'
+ textAltTip: 'The alternative text-based representation of the visual object information, which will be read to the people with vision or cognitive impairments to help them better understand what information there is in the image, autoshape, chart or table.',
+ textRotation: 'Rotation',
+ textAngle: 'Angle',
+ textFlipped: 'Flipped',
+ textHorizontally: 'Horizontally',
+ textVertically: 'Vertically'
}, SSE.Views.ImageSettingsAdvanced || {}));
});
\ No newline at end of file
diff --git a/apps/spreadsheeteditor/main/app/view/ShapeSettingsAdvanced.js b/apps/spreadsheeteditor/main/app/view/ShapeSettingsAdvanced.js
index b06b78d65..2d8ab3521 100644
--- a/apps/spreadsheeteditor/main/app/view/ShapeSettingsAdvanced.js
+++ b/apps/spreadsheeteditor/main/app/view/ShapeSettingsAdvanced.js
@@ -41,7 +41,8 @@
define([ 'text!spreadsheeteditor/main/app/template/ShapeSettingsAdvanced.template',
'common/main/lib/view/AdvancedSettingsWindow',
'common/main/lib/component/ComboBox',
- 'common/main/lib/component/MetricSpinner'
+ 'common/main/lib/component/MetricSpinner',
+ 'common/main/lib/component/CheckBox'
], function (contentTemplate) {
'use strict';
@@ -61,6 +62,7 @@ define([ 'text!spreadsheeteditor/main/app/template/ShapeSettingsAdvanced.temp
title: this.textTitle,
items: [
{panelId: 'id-adv-shape-width', panelCaption: this.textSize},
+ {panelId: 'id-adv-shape-rotate', panelCaption: this.textRotation},
{panelId: 'id-adv-shape-shape', panelCaption: this.textWeightArrows},
{panelId: 'id-adv-shape-margins', panelCaption: this.strMargins},
{panelId: 'id-adv-shape-columns', panelCaption: this.strColumns},
@@ -246,6 +248,27 @@ define([ 'text!spreadsheeteditor/main/app/template/ShapeSettingsAdvanced.temp
}, this));
this.spinners.push(this.spnMarginRight);
+ // Rotation
+ this.spnAngle = new Common.UI.MetricSpinner({
+ el: $('#shape-advanced-spin-angle'),
+ step: 1,
+ width: 80,
+ defaultUnit : "°",
+ value: '0 °',
+ maxValue: 3600,
+ minValue: -3600
+ });
+
+ this.chFlipHor = new Common.UI.CheckBox({
+ el: $('#shape-advanced-checkbox-hor'),
+ labelText: this.textHorizontally
+ });
+
+ this.chFlipVert = new Common.UI.CheckBox({
+ el: $('#shape-advanced-checkbox-vert'),
+ labelText: this.textVertically
+ });
+
// Shape
this._arrCapType = [
{displayValue: this.textFlat, value: Asc.c_oAscLineCapType.Flat},
@@ -533,10 +556,10 @@ define([ 'text!spreadsheeteditor/main/app/template/ShapeSettingsAdvanced.temp
val = margins.asc_getBottom();
this.spnMarginBottom.setValue((null !== val && undefined !== val) ? Common.Utils.Metric.fnRecalcFromMM(val) : '', true);
}
- this.btnsCategory[2].setDisabled(null === margins); // Margins
+ this.btnsCategory[3].setDisabled(null === margins); // Margins
var shapetype = shapeprops.asc_getType();
- this.btnsCategory[3].setDisabled(shapetype=='line' || shapetype=='bentConnector2' || shapetype=='bentConnector3'
+ this.btnsCategory[4].setDisabled(shapetype=='line' || shapetype=='bentConnector2' || shapetype=='bentConnector3'
|| shapetype=='bentConnector4' || shapetype=='bentConnector5' || shapetype=='curvedConnector2'
|| shapetype=='curvedConnector3' || shapetype=='curvedConnector4' || shapetype=='curvedConnector5'
|| shapetype=='straightConnector1');
@@ -553,6 +576,11 @@ define([ 'text!spreadsheeteditor/main/app/template/ShapeSettingsAdvanced.temp
value = props.asc_getDescription();
this.textareaAltDescription.val(value ? value : '');
+ value = props.asc_getRot();
+ this.spnAngle.setValue((value==undefined || value===null) ? '' : Math.floor(value*180/3.14159265358979+0.5), true);
+ this.chFlipHor.setValue(props.asc_getFlipH());
+ this.chFlipVert.setValue(props.asc_getFlipV());
+
this._changedProps = new Asc.asc_CImgProperty();
}
},
@@ -564,6 +592,10 @@ define([ 'text!spreadsheeteditor/main/app/template/ShapeSettingsAdvanced.temp
if (this.isAltDescChanged)
this._changedProps.asc_putDescription(this.textareaAltDescription.val());
+ this._changedProps.asc_putRot(this.spnAngle.getNumberValue() * 3.14159265358979 / 180);
+ this._changedProps.asc_putFlipH(this.chFlipHor.getValue()=='checked');
+ this._changedProps.asc_putFlipV(this.chFlipVert.getValue()=='checked');
+
return { shapeProps: this._changedProps} ;
},
@@ -571,7 +603,7 @@ define([ 'text!spreadsheeteditor/main/app/template/ShapeSettingsAdvanced.temp
if (props ){
var stroke = props.asc_getStroke();
if (stroke) {
- this.btnsCategory[1].setDisabled(stroke.asc_getType() == Asc.c_oAscStrokeType.STROKE_NONE); // Weights & Arrows
+ this.btnsCategory[2].setDisabled(stroke.asc_getType() == Asc.c_oAscStrokeType.STROKE_NONE); // Weights & Arrows
var value = stroke.asc_getLinejoin();
for (var i=0; i