Beispiel #1
0
        private void UpdateUI(StyleDefinition paragraphStyle)
        {
            this.comboAligment.SelectedValue = (RadTextAlignment)paragraphStyle.GetPropertyValue(Paragraph.TextAlignmentProperty);

            this.radNumSpacingBefore.Value = Unit.DipToPoint(((double?)paragraphStyle.GetPropertyValue(Paragraph.SpacingBeforeProperty)).Value);
            this.radNumSpacingAfter.Value  = Unit.DipToPoint(((double?)paragraphStyle.GetPropertyValue(Paragraph.SpacingAfterProperty)).Value);

            this.checkBoxAutomaticSpacingBefore.IsChecked = ((bool?)paragraphStyle.GetPropertyValue(Paragraph.AutomaticSpacingBeforeProperty)).Value;
            this.checkBoxAutomaticSpacingAfter.IsChecked  = ((bool?)paragraphStyle.GetPropertyValue(Paragraph.AutomaticSpacingAfterProperty)).Value;

            double leftIndent = Unit.DipToPoint(((double?)paragraphStyle.GetPropertyValue(Paragraph.LeftIndentProperty)).Value);

            this.radNumRightIndent.Value = Unit.DipToPoint(((double?)paragraphStyle.GetPropertyValue(Paragraph.RightIndentProperty)).Value);

            LineSpacingType lineSpacingType  = ((LineSpacingType?)paragraphStyle.GetPropertyValue(Paragraph.LineSpacingTypeProperty)).Value;
            double          lineSpacingValue = ((double?)paragraphStyle.GetPropertyValue(Paragraph.LineSpacingProperty)).Value;

            this.UpdateLineSpacingUI(lineSpacingType, lineSpacingValue);

            this.paragraphBackgroundColorSelector.SelectedColor = (Color)paragraphStyle.GetPropertyValue(Paragraph.BackgroundProperty);

            this.SetFlowDirection((FlowDirection)paragraphStyle.GetPropertyValue(Paragraph.FlowDirectionProperty));

            double firstIndentValue = Unit.DipToPoint(((double?)paragraphStyle.GetPropertyValue(Paragraph.FirstLineIndentProperty)).Value);

            // < 0 is hanging;
            // > 0 is first line;
            // 0 is none;
            if (firstIndentValue > 0)
            {
                this.radNumFirstIndent.Value           = firstIndentValue;
                this.comboFirstIndentType.SelectedItem = this.firstLineIndentTypes[FirstLineIndentDialogTypes.FirstLine];
            }
            else if (firstIndentValue < 0)
            {
                this.comboFirstIndentType.SelectedItem = this.firstLineIndentTypes[FirstLineIndentDialogTypes.Hanging];
                leftIndent += firstIndentValue;
                this.radNumFirstIndent.Value = -firstIndentValue;
            }
            else
            {
                this.comboFirstIndentType.SelectedItem = this.firstLineIndentTypes[FirstLineIndentDialogTypes.None];
            }

            this.radNumLeftIndent.Value = leftIndent;
        }
Beispiel #2
0
 private void UpdateLineSpacingUI(LineSpacingType lineSpacingType, double lineSpacingValue)
 {
     if (lineSpacingType == LineSpacingType.Exact)
     {
         this.comboLineSpacing.SelectedValue = this.lineSpacingTypes[LineSpacingDialogTypes.Exactly];
         this.radNumLineSpacing.Value        = Unit.DipToPoint(lineSpacingValue);
     }
     else if (lineSpacingType == LineSpacingType.AtLeast)
     {
         this.comboLineSpacing.SelectedValue = this.lineSpacingTypes[LineSpacingDialogTypes.AtLeast];
         this.radNumLineSpacing.Value        = Unit.DipToPoint(lineSpacingValue);
     }
     else if (lineSpacingType == LineSpacingType.Auto)
     {
         if (lineSpacingValue == 1.0)
         {
             this.comboLineSpacing.SelectedValue = this.lineSpacingTypes[LineSpacingDialogTypes.Single];
         }
         else if (lineSpacingValue == 1.5)
         {
             this.comboLineSpacing.SelectedValue = this.lineSpacingTypes[LineSpacingDialogTypes.LineAndAHalf];
         }
         else if (lineSpacingValue == 2.0)
         {
             this.comboLineSpacing.SelectedValue = this.lineSpacingTypes[LineSpacingDialogTypes.Double];
         }
         else
         {
             this.comboLineSpacing.SelectedValue = this.lineSpacingTypes[LineSpacingDialogTypes.Multiple];
             this.radNumLineSpacing.Value        = lineSpacingValue;
         }
     }
     else
     {
         Debug.Assert(false, "Unknown LineSpacingType");
     }
 }
Beispiel #3
0
        /// <summary>
        /// Set the linespacing for this paragraph manually.
        /// </summary>
        /// <param name="spacingType">The type of spacing to be set, can be either Before, After or Line (Standard line spacing).</param>
        /// <param name="spacingFloat">A float value of the amount of spacing. Equals the value that van be set in Word using the "Line and Paragraph spacing" button.</param>
        public void SetLineSpacing(LineSpacingType spacingType, float spacingFloat)
        {
            spacingFloat = spacingFloat * 240;
            int spacingValue = (int)spacingFloat;

            var pPr = this.GetOrCreate_pPr();
            var spacing = pPr.Element(XName.Get("spacing", DocX.w.NamespaceName));
            if (spacing == null)
            {
                pPr.Add(new XElement(XName.Get("spacing", DocX.w.NamespaceName)));
                spacing = pPr.Element(XName.Get("spacing", DocX.w.NamespaceName));
            }

            string spacingTypeAttribute = "";
            switch (spacingType)
            {
                case LineSpacingType.Line:
                    {
                        spacingTypeAttribute = "line";
                        break;
                    }
                case LineSpacingType.Before:
                    {
                        spacingTypeAttribute = "before";
                        break;
                    }
                case LineSpacingType.After:
                    {
                        spacingTypeAttribute = "after";
                        break;
                    }

            }

            spacing.SetAttributeValue(XName.Get(spacingTypeAttribute, DocX.w.NamespaceName), spacingValue);
        }
        private string GetLineSpacingDialogType(LineSpacingType? lineSpacingType, double? lineSpacingValue)
        {
            string lineSpacingDialogType = string.Empty;
            if (lineSpacingType == LineSpacingType.Exact)
            {
                lineSpacingDialogType = this.lineSpacingTypes[LineSpacingDialogTypes.Exactly];
            }
            else if (lineSpacingType == LineSpacingType.AtLeast)
            {
                lineSpacingDialogType = this.lineSpacingTypes[LineSpacingDialogTypes.AtLeast];
            }
            else if (lineSpacingType == LineSpacingType.Auto)
            {
                if (lineSpacingValue == 1.0)
                {
                    lineSpacingDialogType = this.lineSpacingTypes[LineSpacingDialogTypes.Single];
                }
                else if (lineSpacingValue == 1.5)
                {
                    lineSpacingDialogType = this.lineSpacingTypes[LineSpacingDialogTypes.LineAndAHalf];
                }
                else if (lineSpacingValue == 2.0)
                {
                    lineSpacingDialogType = this.lineSpacingTypes[LineSpacingDialogTypes.Double];
                }
                else
                {
                    lineSpacingDialogType = this.lineSpacingTypes[LineSpacingDialogTypes.Multiple];
                }
            }

            return lineSpacingDialogType;
        }
        private double? GetLineSpacingDialogValue(LineSpacingType? lineSpacingType, double? lineSpacingValue)
        {
            double? lineSpacingDialogValue = null;

            if (lineSpacingValue.HasValue)
            {
                if (lineSpacingType == LineSpacingType.Exact || lineSpacingType == LineSpacingType.AtLeast)
                {
                    lineSpacingDialogValue = Unit.DipToPoint(lineSpacingValue.Value);
                }
                else if (lineSpacingType == LineSpacingType.Auto)
                {
                    lineSpacingDialogValue = lineSpacingValue;
                }
            }

            return lineSpacingDialogValue;
        }
 private void UpdateLineSpacingUI(LineSpacingType? lineSpacingType, double? lineSpacingValue)
 {
     this.comboLineSpacing.SelectedValue = this.GetLineSpacingDialogType(lineSpacingType, lineSpacingValue);
     this.radNumLineSpacing.Value = this.GetLineSpacingDialogValue(lineSpacingType, lineSpacingValue);
 }
 private void UpdateLineSpacingUI(LineSpacingType lineSpacingType, double lineSpacingValue)
 {
     if (lineSpacingType == LineSpacingType.Exact)
     {
         this.comboLineSpacing.SelectedValue = this.lineSpacingTypes[LineSpacingDialogTypes.Exactly];
         this.radNumLineSpacing.Value = Unit.DipToPoint(lineSpacingValue);
     }
     else if (lineSpacingType == LineSpacingType.AtLeast)
     {
         this.comboLineSpacing.SelectedValue = this.lineSpacingTypes[LineSpacingDialogTypes.AtLeast];
         this.radNumLineSpacing.Value = Unit.DipToPoint(lineSpacingValue);
     }
     else if (lineSpacingType == LineSpacingType.Auto)
     {
         if (lineSpacingValue == 1.0)
         {
             this.comboLineSpacing.SelectedValue = this.lineSpacingTypes[LineSpacingDialogTypes.Single];
         }
         else if (lineSpacingValue == 1.5)
         {
             this.comboLineSpacing.SelectedValue = this.lineSpacingTypes[LineSpacingDialogTypes.LineAndAHalf];
         }
         else if (lineSpacingValue == 2.0)
         {
             this.comboLineSpacing.SelectedValue = this.lineSpacingTypes[LineSpacingDialogTypes.Double];
         }
         else
         {
             this.comboLineSpacing.SelectedValue = this.lineSpacingTypes[LineSpacingDialogTypes.Multiple];
             this.radNumLineSpacing.Value = lineSpacingValue;
         }
     }
     else
     {
         Debug.Assert(false, "Unknown LineSpacingType");
     }
 }