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); }
[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); }