Example #1
0
 internal static string EncodeVerticalAlign(ReoGridVerAlign valign)
 {
     switch (valign)
     {
         case ReoGridVerAlign.Top:
             return "top";
         default:
         case ReoGridVerAlign.Middle:
             return "middle";
         case ReoGridVerAlign.Bottom:
             return "bottom";
     }
 }
Example #2
0
        public void LoadPage()
        {
            ReoGridRangeStyle style = grid.GetRangeStyle(grid.SelectionRange);

            if (style.TextWrapMode == TextWrapMode.WordBreak
                || style.TextWrapMode == TextWrapMode.BreakAll)
            {
                backupTextWrapState = CheckState.Checked;
            }
            else
            {
                backupTextWrapState = CheckState.Unchecked;
            }

            backupHorAlign = style.HAlign;
            backupVerAlign = style.VAlign;

            switch (style.HAlign)
            {
                case ReoGridHorAlign.General:
                    cmbHorAlign.SelectedIndex = 0; break;
                case ReoGridHorAlign.Left:
                    cmbHorAlign.SelectedIndex = 1; break;
                case ReoGridHorAlign.Center:
                    cmbHorAlign.SelectedIndex = 2; break;
                case ReoGridHorAlign.Right:
                    cmbHorAlign.SelectedIndex = 3; break;
                case ReoGridHorAlign.DistributedIndent:
                    cmbHorAlign.SelectedIndex = 4; break;
            }

            switch (style.VAlign)
            {
                case ReoGridVerAlign.Top:
                    cmbVerAlign.SelectedIndex = 0; break;
                case ReoGridVerAlign.Middle:
                    cmbVerAlign.SelectedIndex = 1; break;
                case ReoGridVerAlign.Bottom:
                    cmbVerAlign.SelectedIndex = 2; break;
            }

            chkWrapText.CheckState = backupTextWrapState;
        }
Example #3
0
 public void DrawText(string text, string fontName, RGFloat size, SolidColor color, Rectangle rect, ReoGridHorAlign halign, ReoGridVerAlign valign)
 {
     throw new NotImplementedException();
 }
Example #4
0
        public void LoadPage()
        {
            var sheet = grid.CurrentWorksheet;

            WorksheetRangeStyle style = sheet.GetRangeStyles(sheet.SelectionRange);

            if (style.TextWrapMode == TextWrapMode.WordBreak ||
                style.TextWrapMode == TextWrapMode.BreakAll)
            {
                backupTextWrapState = CheckState.Checked;
            }
            else
            {
                backupTextWrapState = CheckState.Unchecked;
            }

            backupHorAlign = style.HAlign;
            backupVerAlign = style.VAlign;

            switch (style.HAlign)
            {
            case ReoGridHorAlign.General:
                cmbHorAlign.SelectedIndex = 0; break;

            case ReoGridHorAlign.Left:
                cmbHorAlign.SelectedIndex = 1; break;

            case ReoGridHorAlign.Center:
                cmbHorAlign.SelectedIndex = 2; break;

            case ReoGridHorAlign.Right:
                cmbHorAlign.SelectedIndex = 3; break;

            case ReoGridHorAlign.DistributedIndent:
                cmbHorAlign.SelectedIndex = 4; break;
            }

            switch (style.VAlign)
            {
            case ReoGridVerAlign.General:
                cmbVerAlign.SelectedIndex = 0; break;

            case ReoGridVerAlign.Top:
                cmbVerAlign.SelectedIndex = 1; break;

            case ReoGridVerAlign.Middle:
                cmbVerAlign.SelectedIndex = 2; break;

            case ReoGridVerAlign.Bottom:
                cmbVerAlign.SelectedIndex = 3; break;
            }

            chkWrapText.CheckState = backupTextWrapState;

            backupIndent    = style.Indent;
            numIndent.Value = backupIndent;

            // cell text rotate

            var angle = style.RotateAngle;

            if (angle < -90)
            {
                angle = -90;
            }
            if (angle > 90)
            {
                angle = 90;
            }

            backupRotateAngle       = angle;
            textRotateControl.Angle = angle;
            numRotationAngle.Value  = angle;
        }
Example #5
0
        public WorksheetReusableAction CreateUpdateAction()
        {
            var style = new WorksheetRangeStyle();

            ReoGridHorAlign halign = ReoGridHorAlign.General;
            ReoGridVerAlign valign = ReoGridVerAlign.Middle;

            switch (cmbHorAlign.SelectedIndex)
            {
            default:
            case 0: halign = ReoGridHorAlign.General; break;

            case 1: halign = ReoGridHorAlign.Left; break;

            case 2: halign = ReoGridHorAlign.Center; break;

            case 3: halign = ReoGridHorAlign.Right; break;

            case 4: halign = ReoGridHorAlign.DistributedIndent; break;
            }

            switch (cmbVerAlign.SelectedIndex)
            {
            default:
            case 0: valign = ReoGridVerAlign.General; break;

            case 1: valign = ReoGridVerAlign.Top; break;

            case 2: valign = ReoGridVerAlign.Middle; break;

            case 3: valign = ReoGridVerAlign.Bottom; break;
            }

            if (backupHorAlign != halign)
            {
                style.Flag  |= PlainStyleFlag.HorizontalAlign;
                style.HAlign = halign;
            }

            if (backupVerAlign != valign)
            {
                style.Flag  |= PlainStyleFlag.VerticalAlign;
                style.VAlign = valign;
            }

            if (backupTextWrapState != chkWrapText.CheckState)
            {
                style.Flag |= PlainStyleFlag.TextWrap;

                if (chkWrapText.Checked)
                {
                    style.TextWrapMode = TextWrapMode.WordBreak;
                }
                else
                {
                    style.TextWrapMode = TextWrapMode.NoWrap;
                }
            }

            if (backupIndent != numIndent.Value)
            {
                style.Flag  |= PlainStyleFlag.Indent;
                style.Indent = (ushort)numIndent.Value;
            }

            if (backupRotateAngle != textRotateControl.Angle)
            {
                style.RotateAngle = textRotateControl.Angle;
                style.Flag       |= PlainStyleFlag.RotateAngle;
            }

            return(style.Flag == PlainStyleFlag.None ? null : new SetRangeStyleAction(grid.CurrentWorksheet.SelectionRange, style));
        }
Example #6
0
        internal void DrawText(string text, Paint p, Typeface font, float size, Rectangle rect, ReoGridHorAlign halign, ReoGridVerAlign valign)
        {
            p.SetTypeface(font);
            p.TextSize = size;

            var measuredRect = new Rect();

            p.GetTextBounds(text, 0, text.Length, measuredRect);

            float x = rect.Left, y = rect.Top;

            switch (halign)
            {
            case ReoGridHorAlign.General:
            case ReoGridHorAlign.Left:
                x = rect.Left;
                break;

            case ReoGridHorAlign.Center:
                x = rect.Left + (rect.Width - measuredRect.Width()) / 2;
                break;

            case ReoGridHorAlign.Right:
                x = rect.Right - measuredRect.Width();
                break;
            }

            switch (valign)
            {
            case ReoGridVerAlign.Top:
                y = rect.Top + measuredRect.Height();
                break;

            case ReoGridVerAlign.Middle:
                y = rect.Bottom - (rect.Height - measuredRect.Height()) / 2;
                break;

            case ReoGridVerAlign.General:
            case ReoGridVerAlign.Bottom:
                y = rect.Bottom;
                break;
            }

            this.canvas.DrawText(text, x, y, p);
        }
Example #7
0
 public void DrawText(string text, string fontName, float size, SolidColor color, Rectangle rect, ReoGridHorAlign halign, ReoGridVerAlign valign)
 {
     using (var p = new Paint())
     {
         using (var font = Typeface.Create(fontName, Android.Graphics.TypefaceStyle.Normal))
         {
             this.DrawText(text, p, font, size, rect, halign, valign);
         }
     }
 }
Example #8
0
        public void DrawText(string text, string fontName, double size, SolidColor color, Rectangle rect, ReoGridHorAlign halign, ReoGridVerAlign valign)
        {
            if (rect.Width > 0 && rect.Height > 0 && !string.IsNullOrEmpty(text))
            {
                FormattedText ft = new FormattedText(text, System.Threading.Thread.CurrentThread.CurrentCulture,
                                                     FlowDirection.LeftToRight, this.resourceManager.GetTypeface(fontName),
                                                     size * PlatformUtility.GetDPI() / 72.0,
                                                     this.resourceManager.GetBrush(color));

                ft.MaxTextWidth  = rect.Width;
                ft.MaxTextHeight = rect.Height;

                switch (halign)
                {
                default:
                    break;

                case ReoGridHorAlign.Left:
                    ft.TextAlignment = TextAlignment.Left;
                    break;

                case ReoGridHorAlign.Center:
                    ft.TextAlignment = TextAlignment.Center;
                    break;

                case ReoGridHorAlign.Right:
                    ft.TextAlignment = TextAlignment.Right;
                    break;
                }

                switch (valign)
                {
                default:
                    break;

                case ReoGridVerAlign.Middle:
                    rect.Y += (rect.Height - ft.Height) / 2;
                    break;

                case ReoGridVerAlign.Bottom:
                    rect.Y += (rect.Height - ft.Height);
                    break;
                }

                g.DrawText(ft, rect.Location);
            }
        }
Example #9
0
 /// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="position"></param>
 /// <param name="dataFormat"></param>
 /// <param name="formula"></param>
 public Range(RangePosition position, string dataFormat, string formula, RANGETYPE type, string font, float fontsize, ReoGridVerAlign valign, ReoGridHorAlign halign)
 {
     _position         = position;
     _formula          = formula;
     _numberFormatArgs = getDataFormat(dataFormat);
     _type             = type;
     Font     = font;
     FontSize = fontsize;
     HAlign   = halign;
     VAlign   = valign;
 }