/// <summary> /// Construct a CellRadioButton class with caption and align RadioButton in the /// MiddleLeft, using BehaviorModels.RadioButton.Default /// </summary> /// <param name="caption"></param> /// <param name="checkValue"></param> public RadioButton(string caption, bool checkValue, SourceGrid.Cells.Controllers.RadioButtonGroupController group) : base(checkValue) { if (caption != null && caption.Length > 0) { View = Views.RadioButton.MiddleLeftAlign; } else { View = Views.RadioButton.Default; } Model.AddModel(new Models.RadioButton()); AddController(Controllers.RadioButton.Default); AddController(Controllers.MouseInvalidate.Default); Editor = new Editors.EditorBase(typeof(bool)); //used also because the space key are directly used by the controller, so must not start an edit operation Editor.EditableMode = SourceGrid.EditableMode.None; Caption = caption; // Add this cell to the group. if (group != null) { group.AppendCell(this); AddController(group); } }
public DataGridColumn Add(string property, string caption, EditorBase editor) { SourceGrid.Cells.DataGrid.Cell cell = new SourceGrid.Cells.DataGrid.Cell(); cell.Editor = editor; return Add(property, caption, cell); }
public PingGridColumn Add(string property, string caption, EditorBase editor) { var cell = new SourceGrid.Extensions.PingGrids.Cells.Cell(); cell.Editor = editor; return Add(property, caption, cell); }
/// <summary> /// Construct a CellCheckBox class with caption and align checkbox in the MiddleLeft, using BehaviorModels.CheckBox.Default /// </summary> /// <param name="caption"></param> /// <param name="checkValue"></param> public CheckBox(string caption, bool? checkValue):base(checkValue) { if (caption != null && caption.Length > 0) View = Views.CheckBox.MiddleLeftAlign; else View = Views.CheckBox.Default; Model.AddModel(new Models.CheckBox()); AddController(Controllers.CheckBox.Default); AddController(Controllers.MouseInvalidate.Default); //I use an editor to validate the value and also because the space key are // directly used by the controller, so must not start an edit operation but must still edit the value Editor = new Editors.EditorBase(typeof(bool)); Editor.EditableMode = SourceGrid.EditableMode.None; Caption = caption; }
/// <summary> /// Construct a CellCheckBox class with caption and align checkbox in the MiddleLeft, using BehaviorModels.CheckBox.Default /// </summary> /// <param name="caption"></param> /// <param name="checkValue"></param> public CheckBox(string caption, bool checkValue) : base(checkValue) { if (caption != null && caption.Length > 0) { View = Views.CheckBox.MiddleLeftAlign; } else { View = Views.CheckBox.Default; } Model.AddModel(new Models.CheckBox()); AddController(Controllers.CheckBox.Default); AddController(Controllers.MouseInvalidate.Default); Editor = new Editors.EditorBase(typeof(bool)); Editor.EditableMode = SourceGrid.EditableMode.None; //used also because the space key are directly used by the controller, so must not start an edit operation Caption = caption; }
/// <summary> /// Constructor /// </summary> /// <param name="cellValue"></param> /// <param name="pEditor"></param> public Cell(object cellValue, Editors.EditorBase pEditor) : this(cellValue) { Editor = pEditor; }
private void PopulateCell(int p_GridRow, int p_GridCol, System.Reflection.PropertyInfo p_PropInfo, Cells.Editors.EditorBase p_Editor, object p_Object) { grid[p_GridRow, p_GridCol] = new Cells.Cell(p_PropInfo.GetValue(p_Object, null)); grid[p_GridRow, p_GridCol].Editor = p_Editor; Cells.Controllers.BindProperty l_Bind = new Cells.Controllers.BindProperty(p_PropInfo, p_Object); grid[p_GridRow, p_GridCol].AddController(l_Bind); Cells.Controllers.CustomEvents l_CustomEvents = new Cells.Controllers.CustomEvents(); l_CustomEvents.ValueChanged += new EventHandler(Grid_ValueChanged); grid[p_GridRow, p_GridCol].AddController(l_CustomEvents); }
public RuleGrid() { SpecialKeys = GridSpecialKeys.None | GridSpecialKeys.Enter | GridSpecialKeys.Escape | GridSpecialKeys.PageDownUp; SelectionMode = SourceGrid.GridSelectionMode.Row; BackColor = System.Drawing.SystemColors.Window; BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; // padding-right = 4 for ellipse text drag-select ColumnsCount = 5; RowsCount = 1; FixedRows = 1; // Initialise custom editors emptyEditor = new EditorBase(typeof(int)); emptyEditor.EnableEdit = false; readOnlyEditor = new EditorBase(typeof(String)); readOnlyEditor.EnableEdit = false; //ruleTypeEditor = new SourceGrid.Cells.Editors.ComboBox(typeof(string)); //ruleTypeEditor.StandardValues = new string[] { "Delete", "Copy", "Replace" }; //ruleTypeEditor.EditableMode = SourceGrid.EditableMode.Focus | SourceGrid.EditableMode.SingleClick; //ruleTypeEditor.Control.DropDownStyle = ComboBoxStyle.DropDownList; emptyGray = new SourceGrid.Cells.Views.Cell(); emptyGray.BackColor = System.Drawing.SystemColors.ControlDark; popMenu = new PopupMenu(this); //Header this[0, ColControl] = new SourceGrid.Cells.ColumnHeader(Textual.Enabled); this[0, ColType] = new SourceGrid.Cells.ColumnHeader(Textual.RuleType); this[0, ColDestination] = new SourceGrid.Cells.ColumnHeader(Textual.DestinationTag + "(?)"); this[0, ColReplacement] = new SourceGrid.Cells.ColumnHeader(Textual.ReplacementText); this[0, ColPattern] = new SourceGrid.Cells.ColumnHeader(Textual.SearchPatterns); this.Columns[ColControl].AutoSizeMode = SourceGrid.AutoSizeMode.EnableAutoSize; this.Columns[ColType].AutoSizeMode = SourceGrid.AutoSizeMode.EnableAutoSize; this.Columns[ColDestination].AutoSizeMode = SourceGrid.AutoSizeMode.EnableAutoSize; this.Columns[ColReplacement].AutoSizeMode = SourceGrid.AutoSizeMode.EnableAutoSize; this.Columns[ColPattern].AutoSizeMode = SourceGrid.AutoSizeMode.Default | SourceGrid.AutoSizeMode.MinimumSize; this.Columns[ColPattern].MinimalWidth = 800; this.AutoStretchColumnsToFitWidth = true; //Columns.AutoSize(true); //ScrollBar = ScrollBars.Vertical; //this.VScroll = true; //this.SetVScrollBarVisible(true); this[0, ColDestination].ToolTipText = Textual.DestinationTagTooltip; SourceGrid.Cells.Controllers.ToolTipText toolTipController = new SourceGrid.Cells.Controllers.ToolTipText(); toolTipController.IsBalloon = true; this[0, ColDestination].Controller.AddController(toolTipController); foreach(int i in new int[]{ColControl, ColType, ColDestination, ColReplacement, ColPattern}) { this[0, i].RemoveController(this[0, i].FindController(typeof(SourceGrid.Cells.Controllers.SortableHeader))); } AutoSizeCells(); }
/// <summary> /// Easy method to add a new Text column. /// /// </summary> /// <param name="AColumnTitle">Title of the HeaderColumn</param> /// <param name="ADataColumn">DataColumn to which this column should be DataBound</param> /// <param name="AColumnWidth">Column width in pixels (-1 for automatic width)</param> /// <param name="AController"></param> /// <param name="AEditor">An instance of an Editor (based on ICellVirtual.Editor)</param> /// <param name="AModel"></param> /// <param name="AView"></param> /// <param name="AConditionView"></param> /// /// <returns>void</returns> public void AddTextColumn(String AColumnTitle, DataColumn ADataColumn, Int16 AColumnWidth, ControllerBase AController, EditorBase AEditor, ModelContainer AModel, IView AView, SourceGrid.Conditions.ConditionView AConditionView) { SourceGrid.Cells.ICellVirtual ADataCell; SourceGrid.DataGridColumn AGridColumn; if (ADataColumn == null) { throw new ArgumentNullException("ADataColumn", "ADataColumn must not be nil!"); } ADataCell = new SourceGrid.Cells.DataGrid.Cell(); if (AController != null) { MessageBox.Show("AController <> nil!"); try { ADataCell.AddController(AController); } catch (Exception Exp) { MessageBox.Show("TSgrdDataGrid.AddTextColumn: Exeption: " + Exp.ToString()); } } if (AEditor != null) { ADataCell.Editor = AEditor; } if (AModel != null) { ADataCell.Model = AModel; } if (AView != null) { ADataCell.View = AView; } AGridColumn = new TSgrdTextColumn(this, ADataColumn, AColumnTitle, ADataCell, AColumnWidth, FSortableHeaders); if (AConditionView != null) { AGridColumn.Conditions.Add(AConditionView); } this.Columns.Insert(this.Columns.Count, AGridColumn); }
/// <summary> /// Easy method to add a new Text column. /// /// </summary> /// <param name="AColumnTitle">Title of the HeaderColumn</param> /// <param name="ADataColumn">DataColumn to which this column should be DataBound</param> /// <param name="AColumnWidth">Column width in pixels (-1 for automatic width)</param> /// <param name="AController"></param> /// <param name="AEditor">An instance of an Editor (based on ICellVirtual.Editor)</param> /// <param name="AModel"></param> /// <param name="AView"></param> /// <returns>void</returns> public void AddTextColumn(String AColumnTitle, DataColumn ADataColumn, Int16 AColumnWidth, ControllerBase AController, EditorBase AEditor, ModelContainer AModel, IView AView) { AddTextColumn(AColumnTitle, ADataColumn, AColumnWidth, AController, AEditor, AModel, AView, null); }
/// <summary> /// Easy method to add a new Text column. /// </summary> /// <param name="AColumnTitle"></param> /// <param name="ADataColumn"></param> /// <param name="AColumnWidth"></param> /// <param name="AEditor"></param> public void AddTextColumn(String AColumnTitle, DataColumn ADataColumn, Int16 AColumnWidth, EditorBase AEditor) { AddTextColumn(AColumnTitle, ADataColumn, AColumnWidth, null, AEditor, null, null); }
/// <summary> /// Easy method to add a new CheckBox column. /// </summary> /// <param name="AColumnTitle">Title of the HeaderColumn</param> /// <param name="ADataColumn">DataColumn to which this column should be DataBound</param> /// <param name="AColumnWidth">Column width in pixels (-1 for automatic width)</param> /// <param name="AEditor"></param> /// <param name="AReadOnly">Set to true if the column should be read-only</param> /// <returns>void</returns> public void AddCheckBoxColumn(String AColumnTitle, DataColumn ADataColumn, Int16 AColumnWidth, EditorBase AEditor, bool AReadOnly) { if (ADataColumn == null) { throw new ArgumentNullException("ADataColumn", "ADataColumn must not be nil!"); } SourceGrid.Cells.ICellVirtual ADataCell = new SourceGrid.Cells.DataGrid.CheckBox(); if (AEditor != null) { ADataCell.Editor = AEditor; } SourceGrid.DataGridColumn AGridColumn = new TSgrdTextColumn(this, ADataColumn, AColumnTitle, ADataCell, AColumnWidth, FSortableHeaders); if (AReadOnly) { ADataCell.Editor.EnableEdit = false; } this.Columns.Insert(this.Columns.Count, AGridColumn); }