Exemplo n.º 1
0
        private void SetupPlaceHolders(List <String> _fileNames)
        {
            //-----------------------------------------------------------
            // Creates a list of thumb boxes to hold this folder's thumbs
            // They will be turned visible only when
            // they are loaded with their respective thumbnail.
            //-----------------------------------------------------------

            log.Debug("Organizing placeholders.");

            CleanupThumbnails();

            if (_fileNames.Count > 0)
            {
                ToggleButtonsVisibility(true);

                int iColumnWidth = (splitResizeBar.Panel2.Width - m_iLeftMargin - m_iRightMargin) / m_iCurrentSize;

                m_iHorzSpacing = iColumnWidth / 20;
                m_iVertSpacing = m_iHorzSpacing;

                for (int i = 0; i < _fileNames.Count; i++)
                {
                    ThumbListViewItem tlvi = new ThumbListViewItem();

                    tlvi.FileName       = _fileNames[i];
                    tlvi.Tag            = i;
                    tlvi.ToolTipHandler = toolTip1;
                    tlvi.SetSize(iColumnWidth - m_iHorzSpacing);
                    tlvi.Location         = new Point(0, 0);
                    tlvi.LaunchVideo     += new ThumbListViewItem.LaunchVideoHandler(ThumbListViewItem_LaunchVideo);
                    tlvi.VideoSelected   += new ThumbListViewItem.VideoSelectedHandler(ThumbListViewItem_VideoSelected);
                    tlvi.FileNameEditing += new ThumbListViewItem.FileNameEditingHandler(ThumbListViewItem_FileNameEditing);

                    // Organize
                    int iRow = i / m_iCurrentSize;
                    int iCol = i - (iRow * m_iCurrentSize);
                    tlvi.Location = new Point(m_iLeftMargin + (iCol * (tlvi.Size.Width + m_iHorzSpacing)), m_iTopMargin + (iRow * (tlvi.Size.Height + m_iVertSpacing)));

                    tlvi.Visible = false;
                    splitResizeBar.Panel2.Controls.Add(tlvi);
                }
            }
            else
            {
                ToggleButtonsVisibility(false);
            }

            log.Debug("Placeholders organized.");
        }
Exemplo n.º 2
0
        private void OrganizeThumbnailsByColumns(int iTotalCols)
        {
            // Resize and Organize thumbs to match a given number of columns
            if (splitResizeBar.Panel2.Controls.Count > 0 && !IsLoading())
            {
                log.Debug("Reorganizing thumbnails.");

                int iColumnWidth = (splitResizeBar.Panel2.Width - m_iLeftMargin - m_iRightMargin) / iTotalCols;
                m_iHorzSpacing = iColumnWidth / 20;
                m_iVertSpacing = m_iHorzSpacing;

                // Scroll up before relocating controls.
                splitResizeBar.Panel2.ScrollControlIntoView(splitResizeBar.Panel2.Controls[0]);

                splitResizeBar.Panel2.SuspendLayout();

                for (int i = 0; i < splitResizeBar.Panel2.Controls.Count; i++)
                {
                    ThumbListViewItem tlvi = splitResizeBar.Panel2.Controls[i] as ThumbListViewItem;
                    if (tlvi != null)
                    {
                        int iRow = i / iTotalCols;
                        int iCol = i - (iRow * iTotalCols);

                        tlvi.SetSize(iColumnWidth - m_iHorzSpacing);

                        Point loc = new Point();
                        loc.X         = m_iLeftMargin + (iCol * (tlvi.Size.Width + m_iHorzSpacing));
                        loc.Y         = m_iTopMargin + (iRow * (tlvi.Size.Height + m_iVertSpacing));
                        tlvi.Location = loc;
                    }
                }

                splitResizeBar.Panel2.ResumeLayout();

                log.Debug("Thumbnails reorganized.");
            }
        }