Beispiel #1
0
 internal virtual void vmethod_1(CellSet cellSet_1, int int_10, int int_11, CellSet cellSet_2, int int_12, int int_13)
 {
     if ((cellSet_1.getPropertyValue(int_10, int_11, 461)) != null)
     {
         int num14 = (int)(cellSet_1.getPropertyValue(int_10, int_11, 301));
         if (num14 == PropertyDefine.CDT_TEXT)
         {
             object obj2 = cellSet_1.getPropertyValue(int_10, int_11, 305);
             if ((obj2 == null) || (obj2.ToString().Trim().Length == 0))
             {
                 obj2 = cellSet_1.getPropertyValue(int_10, int_11, 302);
             }
             string text = "";
             if (obj2 != null)
             {
                 text = obj2.ToString();
             }
             Parser parser2 = new Parser(cellSet_1);
             Font   fm      = Class8.smethod_0(parser2, int_10, int_11);
             int    w       = parser2.getMergedWidth(int_10, int_11, false) - 2;
             w -= (int)(base.parser_0.getPropertyValue(int_10, int_11, 423)) * 2;
             ArrayList list   = TextUtils.wrapString(text, fm, w);
             int       height = (int)fm.GetHeight();
             int       num10  = (parser2.getMergedHeight(int_10, int_11, false) - 3) / height;
             if (num10 < list.Count)
             {
                 string str2 = "";
                 string str  = "";
                 int    num6 = 0;
                 for (int i = 0; i < list.Count; i++)
                 {
                     if (i >= num10)
                     {
                         str   = str.ToString() + ((string)list[i]).ToString();
                         num6 += height;
                     }
                     else
                     {
                         str2 = str2.ToString() + ((string)list[i]).ToString();
                     }
                 }
                 cellSet_2.setPropertyValue(int_12, int_13, 302, str);
                 cellSet_1.setPropertyValue(int_10, int_11, 302, str2);
                 Parser parser = new Parser(cellSet_2);
                 int    num7   = parser.getMergedHeight(int_12, int_13, false);
                 if (num7 < num6)
                 {
                     int num5 = parser.getRowSpan(int_12, int_13, false);
                     int num4 = (int)Math.Ceiling(((num6 - num7) * 1.0) / ((double)num5));
                     int num8 = parser.getMergedStartRow(int_12, int_13);
                     int num2 = parser.getMergedEndRow(int_12, int_13);
                     for (int j = num8; j <= num2; j++)
                     {
                         if (parser.isRowVisible(j))
                         {
                             int num3 = parser.getRowHeight(j);
                             cellSet_2.setPropertyValue(j, 0, 801, num3 + num4);
                         }
                     }
                 }
             }
             else
             {
                 cellSet_2.setPropertyValue(int_12, int_13, 302, null);
             }
         }
     }
 }