Example #1
0
        public MultipleResultsPane()
        {
            // This call is required by the Windows.Forms Form Designer.
            InitializeComponent();

            this.label1.Text = Core.ProductName + " has found multiple feeds for the site. Please select the feeds to which y" +
                               "ou want to subscribe:";

            _checkColumn                  = new CheckBoxColumn();
            _checkColumn.AfterCheck      += new CheckBoxEventHandler(_checkColumn_AfterCheck);
            _nameColumn                   = new JetListViewColumn();
            _nameColumn.ItemTextCallback  = new ItemTextCallback(GetNameColumnText);
            _nameColumn.ForeColorCallback = new ItemColorCallback(GetNameColumnForeColor);
            _nameColumn.FontCallback      = new ItemFontCallback(GetNameColumnFont);
            _nameColumn.CursorCallback    = new ItemCursorCallback(GetNameColumnCursor);
            _nameColumn.MouseDown        += new ItemMouseEventHandler(HandleNameColumnMouseDown);
            _urlColumn = new JetListViewColumn();
            _urlColumn.ItemTextCallback = new ItemTextCallback(GetUrlColumnText);
            _resultList.Columns.AddRange(new JetListViewColumn[] { _checkColumn, _nameColumn, _urlColumn });
            _resultList.MultiLineView  = true;
            _resultList.ControlPainter = new GdiControlPainter();
            _resultList.FullRowSelect  = true;

            _columnScheme            = new MultiLineColumnScheme();
            _resultList.ColumnScheme = _columnScheme;
            _columnScheme.AddColumn(_checkColumn, 0, 0, 0, 20, ColumnAnchor.Left, SystemColors.ControlText,
                                    HorizontalAlignment.Left);
            _columnScheme.AddColumn(_nameColumn, 0, 0, 20, 80, ColumnAnchor.Left | ColumnAnchor.Right, SystemColors.ControlText,
                                    HorizontalAlignment.Left);
            _columnScheme.AddColumn(_urlColumn, 1, 1, 20, 80, ColumnAnchor.Left | ColumnAnchor.Right, SystemColors.ControlText,
                                    HorizontalAlignment.Left);
        }
        public MultiLineColumnScheme GetColumnScheme(object item)
        {
            IResource res = (IResource)item;
            int       hiddenColumnMask = BuildHiddenColumnMask(res);

            _key.Init(res.Type, hiddenColumnMask);
            MultiLineColumnScheme scheme = (MultiLineColumnScheme)_multiLineColumnSchemes[_key];

            if (scheme == null)
            {
                scheme = BuildColumnScheme(res);
                _multiLineColumnSchemes[_key.Clone()] = scheme;
            }
            return(scheme);
        }
Example #3
0
        [SetUp] public void SetUp()
        {
            _schemeProvider   = new MockColumnSchemeProvider();
            _defaultScheme    = _schemeProvider.DefaultScheme;
            _columnCollection = new JetListViewColumnCollection();
            _renderer         = new MultiLineRowRenderer(_columnCollection);
            _renderer.ColumnSchemeProvider = _schemeProvider;
            _renderer.VisibleWidth         = 100;
            _renderer.RowHeight            = 20;

            _nodeCollection = new JetListViewNodeCollection(null);
            _testNode       = _nodeCollection.Add("Test");

            _column1 = new MockJetListViewColumn();
            _column2 = new MockJetListViewColumn();
        }
 private void StretchColumnsToHidden(MultiLineColumnScheme scheme,
                                     DisplayColumnManager.ResourceColumnScheme resScheme, int indent)
 {
     foreach (MultiLineColumnSetting setting in scheme.ColumnSettings)
     {
         if (setting.StartRow == resScheme.StartRow && setting.EndRow == resScheme.EndRow &&
             setting.StartX < resScheme.StartX + indent)
         {
             if ((setting.Anchor & (ColumnAnchor.Left | ColumnAnchor.Right)) != 0)
             {
                 setting.Width += resScheme.Width;
             }
             else if ((setting.Anchor & ColumnAnchor.Right) != 0)
             {
                 setting.StartX += resScheme.Width;
             }
         }
     }
 }
        private MultiLineColumnScheme BuildColumnScheme(IResource res)
        {
            MultiLineColumnScheme scheme = new MultiLineColumnScheme();

            scheme.AlignTopLevelItems = _displayColumnManager.GetAlignTopLevelItems(res.Type);

            ArrayList allTypesColumnSchemes = _displayColumnManager.GetResourceColumnSchemes("?");
            ArrayList resourceColumnSchemes = _displayColumnManager.GetResourceColumnSchemes(res.Type);

            ConversationStructureColumn structureColumn = FindConversationColumn();

            if (structureColumn != null)
            {
                structureColumn.Indent = 8;
                scheme.AddColumn(structureColumn, 0, 0, 0, 0, ColumnAnchor.Left, SystemColors.ControlText,
                                 HorizontalAlignment.Left);
            }

            int allTypesIndent = 0;

            foreach (DisplayColumnManager.ResourceColumnScheme resScheme in allTypesColumnSchemes)
            {
                if (resScheme.StartX >= 0)
                {
                    JetListViewColumn col = FindColumn(resScheme.PropIds);
                    if (col != null)
                    {
                        scheme.AddColumn(col, resScheme.StartRow, resScheme.EndRow, resScheme.StartX, resScheme.Width,
                                         AnchorFromFlags(resScheme.Flags), resScheme.TextColor, resScheme.TextAlign);
                        allTypesIndent = resScheme.StartX + resScheme.Width;
                    }
                }
            }

            ArrayList hiddenColumns = null;
            int       maxWidth      = 0;

            foreach (DisplayColumnManager.ResourceColumnScheme resScheme in resourceColumnSchemes)
            {
                if (IsHiddenColumn(res, resScheme))
                {
                    if (hiddenColumns == null)
                    {
                        hiddenColumns = new ArrayList();
                    }
                    hiddenColumns.Add(resScheme);
                }
                else
                {
                    int width = resScheme.StartX + allTypesIndent + resScheme.Width;
                    if (width > maxWidth)
                    {
                        maxWidth = width;
                    }

                    JetListViewColumn col = FindColumn(resScheme.PropIds);
                    if (col != null)
                    {
                        scheme.AddColumn(col, resScheme.StartRow, resScheme.EndRow, resScheme.StartX + allTypesIndent, resScheme.Width,
                                         AnchorFromFlags(resScheme.Flags), resScheme.TextColor, resScheme.TextAlign);
                    }
                }
            }

            if (hiddenColumns != null)
            {
                foreach (DisplayColumnManager.ResourceColumnScheme resScheme in hiddenColumns)
                {
                    StretchColumnsToHidden(scheme, resScheme, allTypesIndent);
                }
            }

            foreach (DisplayColumnManager.ResourceColumnScheme resScheme in allTypesColumnSchemes)
            {
                if (resScheme.StartX < 0)
                {
                    JetListViewColumn col = FindColumn(resScheme.PropIds);
                    if (col != null)
                    {
                        scheme.AddColumn(col, resScheme.StartRow, resScheme.EndRow, maxWidth + resScheme.StartX, resScheme.Width,
                                         AnchorFromFlags(resScheme.Flags), resScheme.TextColor, resScheme.TextAlign);
                    }
                }
            }

            return(scheme);
        }