Ejemplo n.º 1
0
 public void SetActiveItem(int i)
 {
     if (i >= 0 && i < TheMessages.Length)
     {
         _activeItemId = TheMessages[i].Id;
         MsgTable.ScrollToRow(NSIndexPath.FromRowSection(i, 0), UITableViewScrollPosition.Middle, true);
         RedrawTable();
     }
 }
Ejemplo n.º 2
0
        public void RefreshMessagesUI(bool messagesChanged)
        {
            if (App.Inst.IsIPad)
            {
                table.FromCol.Hidden = !HasFrom();
            }
            else
            {
                table.FromCol.Hidden = !AllHaveFrom();
            }
            table.DisCol.Hidden = QuerySources.Length <= 1 || !App.Inst.IsIPad;

            if (messagesChanged)
            {
                table.Measure(View, TheMessages);
            }
            RedrawTable();

            if (TheMessages.Length == 0)
            {
                DisHead.Hidden  = true;
                FromHead.Hidden = true;
                SubHead.Hidden  = true;
                DateHead.Hidden = true;
            }
            else
            {
                DisHead.Hidden  = false;
                FromHead.Hidden = false;
                SubHead.Hidden  = false;
                DateHead.Hidden = false;
            }

            var i = 0;
            var x = MsgTable.Frame.Left + table.LeftEdge;
            var y = MsgTable.Frame.Top - table.RowHeight;
            var h = table.RowHeight;

            if (!table.DisCol.Hidden)
            {
                DisHead.Frame = new RectangleF(x, y, table.Cols[i].Width, h);
                DisHead.Text  = table.Cols[i].Title;
                x            += table.Cols[i].Width;

                if (!DisHead.Hidden && QuerySources.Length > 0)
                {
                    DisHead.Text = QuerySources[0].GetDistinguisherName();
                }
            }
            else
            {
                DisHead.Hidden = true;
            }
            i++;

            if (!table.FromCol.Hidden)
            {
                FromHead.Frame = new RectangleF(x, y, table.Cols[i].Width, h);
                FromHead.Text  = table.Cols[i].Title;
                x += table.Cols[i].Width;
            }
            else
            {
                FromHead.Hidden = true;
            }
            i++;

            SubHead.Frame = new RectangleF(x, y, table.Cols[i].Width, h);
            SubHead.Text  = table.Cols[i].Title;
            x            += table.Cols[i].Width;
            i++;

            DateHead.Frame = new RectangleF(x, y, table.Cols[i].Width, h);
            DateHead.Text  = table.Cols[i].Title;
            x += table.Cols[i].Width;
            i++;

            MsgTable.ReloadData();
        }