private void gtv_OnCreateEditor(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.NodeEditorEventArgs e) { if (e.DisplayColumn == 3) { e.Editor = new Genius.Controls.TreeView.Editors.ComboBoxEditor(this.gtv); } }
private void gtv_OnAfterCellPainting(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.PaintNodeEventArgs e) { if (e.Info.DisplayColumn == 0) { //dessine d'un bouton Rectangle r = new Rectangle(e.Info.ContentRect.Right, e.Info.ContentRect.Top, e.Info.ContentRect.Height, e.Info.ContentRect.Height); PushButtonState state = PushButtonState.Normal; if (r.Contains(e.Info.MousePosition)) { if (e.Info.Buttons == MouseButtons.Left) { state = PushButtonState.Pressed; } else { state = PushButtonState.Hot; } } Genius.Controls.DrawingHelper.DrawButton(e.Info.graphics, r, e.Info.ClipRect, state); StringFormat sf = new StringFormat(StringFormatFlags.NoWrap); sf.Alignment = StringAlignment.Center; sf.LineAlignment = StringAlignment.Center; e.Info.graphics.DrawString("...", this.gtv.Font, SystemBrushes.WindowText, r, sf); } else if (e.Info.DisplayColumn == 2) { CheckBoxState state = FChecked ? CheckBoxState.CheckedNormal : CheckBoxState.UncheckedNormal; Genius.Controls.DrawingHelper.DrawCheckBox(e.Info.graphics, e.Info.NodeRect, e.Info.ClipRect, state); } }
private void geniusTreeView1_OnBeforeCellPainting(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.PaintNodeEventArgs e) { if (e.Node.Index != 9) { if (e.Info.DisplayColumn != 0) { e.Info.StringFormat.Alignment = StringAlignment.Far; } if ((e.Info.DisplayColumn % 2 == 0 && e.Node.Index % 2 == 0) || (e.Info.DisplayColumn % 2 == 1 && e.Node.Index % 2 == 1)) { e.Info.BackColor = new GeniusLinearGradientBrush(Color.LightBlue, Color.White); } else { e.Info.BackColor = GeniusLinearGradientBrush.Empty; } } else { e.Info.StringFormat.Alignment = StringAlignment.Far; e.Info.BackColor = new GeniusLinearGradientBrush(Color.WhiteSmoke); if (e.Info.DisplayColumn < 2) { e.Info.DefaultDrawing = false; } if (e.Info.DisplayColumn >= 1) { e.Info.DrawingOptions |= DrawingOption.ShowGridLines; } } }
private void geniusTreeView1_OnGetNodeText(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.NodeTextEventArgs e) { if (e.DisplayColumn > 0) { e.Text = string.Format("Cell({0},{1})", e.DisplayColumn, e.Node.Index); } }
private void geniusTreeView1_OnBeforeNodePainting(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.PaintNodeEventArgs e) { if (e.Node.Data is Group) { Graphics g = e.Info.graphics; using (Font f = new Font(this.Font.Name, this.Font.Size, FontStyle.Bold)) { StringFormat sf = new StringFormat(StringFormatFlags.NoWrap); sf.LineAlignment = StringAlignment.Center; g.DrawString(e.Node.Text, f, Brushes.Black, e.Info.NodeRect, sf); } Rectangle r = e.Info.NodeRect; r.Width /= 2; GeniusLinearGradientBrush glb = new GeniusLinearGradientBrush(Color.LightBlue, Color.White); using (Brush br = glb.GetBrush(r)) { using (Pen p = new Pen(br, 1)) { g.DrawLine(p, r.X, r.Bottom - 1, r.Right - 1, r.Bottom - 1); } } e.Info.Font = null; e.Info.DefaultDrawing = false; } else { if (e.Node.Data is GroupTotal) { e.Info.DrawingOptions &= ~DrawingOption.ShowGridLines; e.Info.Font = new Font(this.geniusTreeView1.Font.Name, this.geniusTreeView1.Font.Size, FontStyle.Bold); } e.Info.DefaultDrawing = true; } }
private void gtv_OnInitNode(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.NodeEventArgs e) { if (e.Node.Data is VistaGroup) { e.Node.Height = gtv.DefaultNodeHeight + gtv.DefaultNodeHeight / 2; } }
private void gtv_OnCellMouseEnter(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.NodeCellMouseEventArgs e) { if (e.DisplayColumn == 0) { gtv.Invalidate(e.Node); } }
private void geniusTreeView1_OnGetNodeText(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.NodeTextEventArgs e) { if (e.Text == null || e.Text.Length == 0) { e.Text = "Node " + e.Node.Index.ToString(); } }
private void gtv_OnGetNodeText(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.NodeTextEventArgs e) { VistaItem aItem = e.Node.Data as VistaItem; switch (e.DisplayColumn) { case 0: e.Text = aItem.Name; break; case 1: Int64 size = aItem.Size; if (size >= 0) { e.Text = size.ToString(); } else { e.Text = string.Empty; } break; case 2: e.Text = aItem.FileType; break; case 3: if (aItem.Date > DateTime.MinValue) { e.Text = aItem.Date.ToString(); } break; } }
private void geniusTreeView1_OnCreateHintWindow(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.NodeHintWindowEventArgs e) { if (e.HintWindow == null) { e.HintWindow = new HintImageWindow(geniusTreeView1); } }
private void gtv_OnGetNodeText(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.NodeTextEventArgs e) { if (e.DisplayColumn > 0 && e.DisplayColumn < 6) { e.Text = ((NodeData)e.Node.Data).FColumns[e.DisplayColumn - 1].ToString(); } }
private void gtv_OnDrawHeaderCol(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.DrawHeaderColEventArgs e) { Rectangle rCol = e.ColumnRect; e.Graphics.FillRectangle(Brushes.WhiteSmoke, rCol); rCol = e.ColumnRect; rCol.Height = 6; SortDirection sortCol = gtv.Header.GetSorting(e.Column); if (sortCol != SortDirection.None) { using (GeniusLinearGradientBrush gbrush = new GeniusLinearGradientBrush(FSelectedBrush.EndColor, FSelectedBrush.BeginColor, 90)) { using (Brush br = gbrush.GetBrush(rCol)) { e.Graphics.FillRectangle(br, rCol); } } DrawSortingIcone(e.Graphics, rCol, sortCol); } rCol = e.ColumnRect; rCol.Height -= 7; rCol.Y += 7; StringFormat sf = new StringFormat(StringFormatFlags.NoWrap); sf.LineAlignment = e.Column.VAlignment; sf.Alignment = e.Column.Alignment; using (Brush br = new SolidBrush(e.Column.ForeColor)) { e.Graphics.DrawString(e.Column.Text, e.Column.Font, br, rCol, sf); } e.Graphics.DrawLine(gtv.Colors.GridLinesColor, rCol.Left, e.ColumnRect.Top, rCol.Left, rCol.Bottom); e.Graphics.DrawLine(gtv.Colors.GridLinesColor, rCol.Right, e.ColumnRect.Top, rCol.Right, rCol.Bottom); e.DefaultDrawing = false; }
private void gtv_OnBeforeCellPainting(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.PaintNodeEventArgs e) { if (e.Info.DisplayColumn == 0) { e.Info.ContentRect.Width -= e.Info.ContentRect.Height; } }
private void gtv_OnGetHint(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.NodeGetHintEventArgs e) { e.HintText = string.Format("Class {0} {1}", e.Node.GetType().FullName, Environment.NewLine); if (e.Node.Data != null) { e.HintText += String.Format("User data type : {0}\r\nUser data value : {1}", e.Node.Data.GetType().ToString(), e.Node.Data); } }
private void gtv_OnBeforeNodePainting(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.PaintNodeEventArgs e) { if (e.Node.Level == 2) { // e.Info.DrawingOptions = DrawingOption.HideTreeLines; } }
private void gtv_OnGetImageIndex(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.NodeImageIndexEventArgs e) { if (e.ImageIndexType == ImageIndexType.NormalImage) { e.ImageIndex = e.Node.Data is VistaFolder ? 0 : e.Node.Data is VistaGroup ? -1 : 1; } }
private void gtv_OnBeforeNodePainting(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.PaintNodeEventArgs e) { if (e.Node.Data is VistaGroup) { Rectangle r; VistaGroup group = e.Node.Data as VistaGroup; e.Info.DefaultDrawing = false; //painture du noeud sous la souris ou du noeud selectionné if (e.Node == FUnderMouse || IsSelected(e.Node)) { r = e.Info.NodeRect; r.Inflate(-2, 0); r.Height -= 1; //RoundRect GeniusLinearGradientBrush geniusBr = e.Node == FUnderMouse ? FOverBrush : FSelectedBrush; DrawRoundRect(geniusBr, FSelLinePen, r, e.Info.graphics); } SizeF size = e.Info.graphics.MeasureString(group.Name, gtv.Font); e.Info.graphics.DrawString(group.Name, gtv.Font, Brushes.Black, e.Info.NodeRect.X + 5, e.Info.NodeRect.Y + e.Info.NodeRect.Height / 2 - size.Height / 2); int y = (e.Info.ContentRect.Bottom + e.Info.ContentRect.Top) / 2; int x = (int)size.Width + e.Info.ContentRect.X + 10; e.Info.graphics.DrawLine(Pens.LightGray, x, y, e.Info.ContentRect.Right - 25, y); //dessin des ligne des colonne //à faire x = e.Info.NodeRect.Left; foreach (GeniusTreeViewColonne aCol in gtv.Header.Displays) { e.Info.graphics.DrawLine(gtv.Colors.GridLinesColor, x, e.Info.NodeRect.Top, x, e.Info.NodeRect.Bottom); x += aCol.Width; } //e.Info.graphics.DrawLine(gtv.Colors.GridLinesColor, e.Info.NodeRect.Left, e.Info.NodeRect.Top, e.Info.NodeRect.Left, e.Info.NodeRect.Bottom); //dessin de l'expand à droite Pen p = new Pen(Brushes.Gray); p.Width = 3; p.EndCap = LineCap.ArrowAnchor; r = new Rectangle(e.Info.ContentRect.Right - 15, y, 0, 0); r.Inflate(7, 7); Debug.WriteLine(string.Format("m : {0}, r:{1}", e.Info.MousePosition, r)); if (r.Contains(e.Info.MousePosition)) { using (Brush br = FSelectedBrush.GetBrush(r)) { e.Info.graphics.FillEllipse(br, r); e.Info.graphics.DrawEllipse(Pens.LightGray, r); } } if (e.Node.IsExpanded) { e.Info.graphics.DrawLine(p, e.Info.ContentRect.Right - 15, y + 2, e.Info.ContentRect.Right - 15, y - 3); } else { e.Info.graphics.DrawLine(p, e.Info.ContentRect.Right - 15, y - 2, e.Info.ContentRect.Right - 15, y + 3); } } }
private void gtv_OnInitNode(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.NodeEventArgs e) { int value = (int)e.Node.Data; if (value % 2 == 0) { e.Node.State &= (~NodeState.Visible); } }
private void gtv_OnGetNodeText(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.NodeTextEventArgs e) { int aCol = gtv.Header.DisplayIndexToIndex(e.DisplayColumn); if (aCol == 0) { e.Text = (e.Node.Level * 10 + e.Node.Index).ToString(); } }
private void geniusTreeView1_OnSelected(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.SelectedEventArgs e) { pnlContext.Enabled = true; cbHasCheck.Checked = (e.Node.State & NodeState.HasCheck) == NodeState.HasCheck; cbHasChildren.Checked = (e.Node.State & NodeState.HasChildren) == NodeState.HasChildren; cbHasSignaled.Checked = (e.Node.State & NodeState.Signaled) == NodeState.Signaled; textboxImageIndex.Text = e.Node.ImageIndex.ToString(); textboxImageStateIndex.Text = e.Node.ImageStateIndex.ToString(); }
private void geniusTreeView1_OnGetHint(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.NodeGetHintEventArgs e) { if (e.Node.Data is DataNodeImage) { if (e.DisplayColumn == 1) { e.HintText = (e.Node.Data as DataNodeImage).FileName; } } }
/// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.geniusTreeView1 = new Genius.Controls.TreeView.GeniusTreeView(); this.geniusTreeViewColonne1 = new Genius.Controls.TreeView.GeniusTreeViewColonne(); this.SuspendLayout(); // GeniusTreeView By Pierrick Gourlain // // geniusTreeView1 // this.geniusTreeView1.Alignment = System.Drawing.StringAlignment.Near; this.geniusTreeView1.AllowEdit = false; this.geniusTreeView1.AutoSort = false; this.geniusTreeView1.BackColor = System.Drawing.SystemColors.Window; this.geniusTreeView1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.geniusTreeView1.Colors.HeaderColor = new Genius.Controls.GeniusLinearGradientBrush(System.Drawing.Color.White, System.Drawing.Color.LightGray, 90F); this.geniusTreeView1.Colors.SelectedColor = new Genius.Controls.GeniusLinearGradientBrush(System.Drawing.SystemColors.Highlight, System.Drawing.Color.Empty, 0F); this.geniusTreeView1.Colors.SelectedTextColor = new Genius.Controls.GeniusLinearGradientBrush(System.Drawing.SystemColors.HighlightText, System.Drawing.Color.Empty, 0F); this.geniusTreeView1.Colors.SelectedUnfocusedColor = new Genius.Controls.GeniusLinearGradientBrush(System.Drawing.SystemColors.InactiveCaption, System.Drawing.Color.Empty, 0F); this.geniusTreeView1.Colors.SignaledPenColor = new Genius.Controls.TreeView.Colors.GeniusPen(System.Drawing.Color.FromArgb(((System.Byte)(255)), ((System.Byte)(165)), ((System.Byte)(0))), 2F); this.geniusTreeView1.Colors.TextColor = new Genius.Controls.GeniusLinearGradientBrush(System.Drawing.Color.Black, System.Drawing.Color.Empty, 0F); this.geniusTreeView1.DefaultDrawingOption = Genius.Controls.TreeView.DrawingOptions.None; this.geniusTreeView1.Dock = System.Windows.Forms.DockStyle.Fill; this.geniusTreeView1.Header.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0))); this.geniusTreeView1.Header.MainColumnIndex = 0; this.geniusTreeView1.HeaderColonnes.AddRange(new Genius.Controls.TreeView.GeniusTreeViewColonne[] { this.geniusTreeViewColonne1 }); this.geniusTreeView1.KeysGridMode = false; this.geniusTreeView1.Location = new System.Drawing.Point(0, 0); this.geniusTreeView1.Name = "geniusTreeView1"; this.geniusTreeView1.Size = new System.Drawing.Size(440, 328); this.geniusTreeView1.TabIndex = 0; this.geniusTreeView1.Text = "geniusTreeView1"; this.geniusTreeView1.UseColumns = true; this.geniusTreeView1.OnBeforeNodePainting += new Genius.Controls.TreeView.OnPaintNodeDelegate(this.geniusTreeView1_OnBeforeNodePainting); this.geniusTreeView1.OnBeforeCellPainting += new Genius.Controls.TreeView.OnPaintNodeDelegate(this.geniusTreeView1_OnBeforeCellPainting); // // geniusTreeViewColonne1 // this.geniusTreeViewColonne1.BackColor = new Genius.Controls.GeniusLinearGradientBrush(System.Drawing.Color.Empty, System.Drawing.Color.Empty, 0F); this.geniusTreeViewColonne1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0))); this.geniusTreeViewColonne1.FontColonne = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0))); this.geniusTreeViewColonne1.ForeColor = new Genius.Controls.GeniusLinearGradientBrush(System.Drawing.Color.Empty, System.Drawing.Color.Empty, 0F); this.geniusTreeViewColonne1.HeadColor = new Genius.Controls.GeniusLinearGradientBrush(System.Drawing.Color.Empty, System.Drawing.Color.Empty, 0F); this.geniusTreeViewColonne1.Text = "Colonne 0"; // // TestChapter // this.Controls.Add(this.geniusTreeView1); this.Name = "TestChapter"; this.Size = new System.Drawing.Size(440, 328); this.Load += new System.EventHandler(this.TestChapter_Load); this.SizeChanged += new System.EventHandler(this.TestChapter_SizeChanged); this.ResumeLayout(false); }
private void geniusTreeView1_OnGetFontNode(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.NodeFontEventArgs e) { if (e.Node.Level == 1) { e.Font = new Font("Times News Roman", 20, FontStyle.Bold); } else if (e.Node.Level == 2) { e.Font = new Font("Times News Roman", 12, FontStyle.Bold); } }
private void geniusTreeView1_OnBeforeNodePainting(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.PaintNodeEventArgs e) { e.Info.StringFormat = new StringFormat(); e.Info.StringFormat.LineAlignment = StringAlignment.Near; /*if (e.Node.Level == 1) * { * e.Info.Font = new Font("Times News Roman", 20, FontStyle.Bold); * } */ }
private void gtv_OnInitEdit(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.EditEventArgs e) { if (e.DisplayColumn == 3) { ComboBox cb = (ComboBox)e.Editor.Control; cb.Items.Add("[Ajouter]"); cb.Items.Add("[Supprimer]"); e.Value = "coucou"; cb.SelectionChangeCommitted += new EventHandler(cb_SelectionChangeCommitted); } }
private void gtv_OnInitNode(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.NodeEventArgs e) { if (e.Node.Data is ArrayList) { e.Node.Text = "Node with sub-nodes"; } else { e.Node.Text = e.Node.Data.ToString(); } }
private void geniusTreeView1_OnBeforeCellPainting(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.PaintNodeEventArgs e) { if (e.Node.Level == 2) { e.Info.StringFormat.FormatFlags = 0; e.Info.StringFormat.LineAlignment = StringAlignment.Near; } else if (e.Node.Level == 1) { e.Info.StringFormat.Trimming = StringTrimming.EllipsisCharacter; } }
private void gtv_OnCellMouseUp(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.NodeCellMouseEventArgs e) { if (e.DisplayColumn == 0) { Rectangle r = gtv.GetCellRect(e.Node, 0); r = new Rectangle(r.Right - r.Height, r.Top, r.Height, r.Height); Debug.WriteLine(string.Format("Capture = {0}", gtv.Capture)); if (r.Contains(e.Position)) { MessageBox.Show("click on button !!"); } } }
private void gtv_OnAfterPaintFooter(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.PaintFooterEventArgs e) { Rectangle r = e.FooterRect; r.Height -= 1; e.Graphics.DrawLine(Pens.LightGray, r.Left, r.Top, r.Right, r.Top); e.Graphics.DrawLine(Pens.White, r.Left, r.Top + 1, r.Right, r.Top + 1); if (e.DisplayColumn > 4) { e.Graphics.DrawLine(Pens.LightGray, r.Left, r.Top + 3, r.Left, r.Bottom - 3); e.Graphics.DrawLine(Pens.White, r.Left + 1, r.Top + 3, r.Left + 1, r.Bottom - 3); } }
private void gtv_OnBeforeCellPainting(Genius.Controls.TreeView.GeniusTreeView Sender, Genius.Controls.TreeView.PaintNodeEventArgs e) { if (e.Info.DisplayColumn == 0) { if (e.Node.IsExpanded || (e.Node.NextSibling != null && e.Node.Level == 2)) { e.Info.CellGridLines = Lines.Vertical; } if ((e.Node.Level == 2 && e.Node.NextSibling == null)) { e.Info.CellGridLines = Lines.Vertical | Lines.Bottom; } } }