コード例 #1
0
        private void SetStartPositions(List <NativeItemData> nid)
        {
            int c = 0;

            StartPositions.Clear();

            if (ItemCount == 0)
            {
                _ActiveListHeight = 0;
                _ActiveListWidth  = 0;
                return;
            }

            var hdcMem = OffScreenGraphics.GetHdc();

            try
            {
                using (Gdi g = Gdi.FromHdc(hdcMem, Rectangle.Empty))
                {
                    g.Font      = Settings.SecondaryTextFontGdi;
                    g.TextAlign = Win32.TextAlign.TA_LEFT;

                    for (int i = 0; i < ItemCount; i++)
                    {
                        StartPositions.Add(c);

                        //nid[i].SecondaryTextLines = TextFormatHelper.CutTextToLines(nid[i].SecondaryText, Width - UISettings.CalcPix(40), 0, g);
                        nid[i].SecondaryTextLines = TextFormatHelper.CutTextToLines(nid[i].SecondaryText, Width - UISettings.CalcPix(29), Settings.SecondaryTextLinesCount, g);

                        //SecondaryTextLinesCount

                        c += (Settings.ListItemPixSize + (nid[i].SecondaryTextLines.Count + 1) * UISettings.CalcPix(11));

                        if (ShowGroupHeader)
                        {
                            //if (IsItemNewGroup(nItem) && item.Group != null && rItem.Top >= rListRect.Top)
                            if (IsItemNewGroup(i) && nid[i].Group != null)
                            {
                                c += Settings.GroupPixHeight;
                            }
                        }

                        //c += Settings.ListItemPixSize;
                    }
                }
            }
            finally
            {
                OffScreenGraphics.ReleaseHdc(hdcMem);
            }

            StartPositions.Add(c); //The end of tha last item

            _ActiveListHeight = c;

            ScrollTo(0);
        }
コード例 #2
0
        protected override List <NativeItemData> BuildNativeControlItems()
        {
            var newListData = new List <NativeItemData>(Items.Count);

            if (Items != null)
            {
                var hdcMem = OffScreenGraphics.GetHdc();

                try
                {
                    using (Gdi g = Gdi.FromHdc(hdcMem, Rectangle.Empty))
                    {
                        g.Font      = Settings.SecondaryTextFontGdi;
                        g.TextAlign = Win32.TextAlign.TA_LEFT;

                        for (int i = 0; i < Items.Count; i++)
                        {
                            string photo = string.Empty;

                            if (Items[i].IsPhotoLoaded)
                            {
                                photo = Items[i].Photo;
                            }
                            else
                            {
                                photo = "clear";
                            }

                            NativeItemData newNativeItemData = new KineticListView <PhotoCommentsUpdatesViewItem> .NativeItemData
                            {
                                Uid   = Items[i].Uid,
                                Group = Items[i].Group,

                                PrimaryText   = Items[i].SenderName,
                                SecondaryText = Items[i].Comment,
                                TertiaryText  = Items[i].CommentSetDate.ToString("HH:mm"),

                                SecondaryTextLines = TextFormatHelper.CutTextToLines(Items[i].Comment, UISettings.CalcPix(170), 2, g),

                                PrimaryImageURL = photo,

                                InfoLeftIndents = new int[3],
                                InfoTopIndents  = new int[2]
                            };

                            newListData.Add(newNativeItemData);
                        }
                    }
                }
                finally
                {
                    OffScreenGraphics.ReleaseHdc(hdcMem);
                }
            }

            return(newListData);
        }
コード例 #3
0
        protected override List <NativeItemData> BuildNativeControlItems()
        {
            var newListData = new List <NativeItemData>(Items.Count);

            if (Items != null)
            {
                for (int i = 0; i < Items.Count; i++)
                {
                    List <string> secondaryTextLines = new List <string>();

                    var hdcMem = OffScreenGraphics.GetHdc();

                    try
                    {
                        using (Gdi g = Gdi.FromHdc(hdcMem, Rectangle.Empty))
                        {
                            g.Font      = Settings.SecondaryTextFontGdi;
                            g.TextAlign = Win32.TextAlign.TA_LEFT;

                            secondaryTextLines = TextFormatHelper.CutTextToLines(Items[i].MessageText, UISettings.CalcPix(192), 2, g);
                        }
                    }
                    finally
                    {
                        OffScreenGraphics.ReleaseHdc(hdcMem);
                    }

                    NativeItemDataNew newNativeItemData = new NativeItemDataNew
                    {
                        Uid = Items[i].Uid,

                        PrimaryText   = Items[i].UserName,
                        SecondaryText = Items[i].MessageText,
                        TertiaryText  = Items[i].MessageWroteDateString,

                        SecondaryTextLines = secondaryTextLines,

                        IsItemHighlight = Items[i].IsMessageNew,
                        IsOutboxIconSet = Items[i].IsMessageOutbox,

                        Tag          = Items[i].UserID,
                        PrimaryImage = null,//MasterForm.SkinManager.GetImage("IsOutputMessage"),

                        InfoLeftIndents = new int[5],
                        InfoTopIndents  = new int[3]
                    };

                    newListData.Add(newNativeItemData);
                }
            }

            return(newListData);
        }
コード例 #4
0
        private void SetStartPositions(List <NativeItemData> nid)
        {
            int c = 0;

            StartPositions.Clear();

            if (ItemCount == 0)
            {
                _ActiveListHeight = 0;

                return;
            }

            var hdcMem     = OffScreenGraphics.GetHdc();
            int lastHeight = 0;

            try
            {
                using (Gdi g = Gdi.FromHdc(hdcMem, Rectangle.Empty))
                {
                    g.Font      = Settings.SecondaryTextFontGdi;
                    g.TextAlign = Win32.TextAlign.TA_LEFT;

                    // для текста в каждой ячейке
                    for (int i = 0; i < ItemCount; i++)
                    {
                        StartPositions.Add(c);

                        nid[i].SecondaryTextLines = TextFormatHelper.CutTextToLines(nid[i].SecondaryText, UISettings.CalcPix(200), 0, g);

                        c += (Settings.ListItemPixSize + (nid[i].SecondaryTextLines.Count + 1) * UISettings.CalcPix(11));
                    }

                    StartPositions.Add(c);
                }
            }
            finally
            {
                OffScreenGraphics.ReleaseHdc(hdcMem);
            }



            _ActiveListHeight = c;
        }
コード例 #5
0
        private void SetStartPositions(List <NativeItemData> nid)
        {
            int c = 0;

            StartPositions.Clear();

            if (ItemCount == 0)
            {
                _ActiveListHeight = 0;

                return;
            }

            var hdcMem = OffScreenGraphics.GetHdc();

            try
            {
                using (Gdi g = Gdi.FromHdc(hdcMem, Rectangle.Empty))
                {
                    g.Font      = Settings.SecondaryTextFontGdi;
                    g.TextAlign = Win32.TextAlign.TA_LEFT;

                    // для текста в каждой ячейке
                    for (int i = 0; i < ItemCount; i++)
                    {
                        StartPositions.Add(c);

                        // есть заголовок группы?
                        if (IsItemNewGroup(i) && !string.IsNullOrEmpty(nid[i].Group))
                        {
                            c += Settings.GroupPixHeight;
                        }

                        // что выводим?
                        switch (Items[i].Type)
                        {
                        case ImageDetailedListViewItemType.Author:     // ячейка "автор"
                            c += UISettings.CalcPix(25);
                            break;

                        case ImageDetailedListViewItemType.Comment:     // ячейка "комментарий"
                            nid[i].SecondaryTextLines = TextFormatHelper.CutTextToLines(nid[i].SecondaryText, Width - UISettings.CalcPix(10), 0, g);
                            c += (Settings.ListItemPixSize + (nid[i].SecondaryTextLines.Count + 1) * UISettings.CalcPix(11));
                            break;

                        case ImageDetailedListViewItemType.Photo:
                            if (Items[i].IsPhotoLoaded)
                            {
                                c += Items[i].PhotoHeight;
                            }
                            else
                            {
                                c += UISettings.CalcPix(50);
                            }
                            break;
                        }
                    }
                }
            }
            finally
            {
                OffScreenGraphics.ReleaseHdc(hdcMem);
            }

            StartPositions.Add(c);

            _ActiveListHeight = c;

            ScrollTo(0);
        }