Exemplo n.º 1
0
        /// <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);
            }
        }
Exemplo n.º 2
0
		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);
		}
Exemplo n.º 3
0
		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);
		}
Exemplo n.º 4
0
		/// <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;
		}
Exemplo n.º 5
0
        /// <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;
        }
Exemplo n.º 6
0
 /// <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);
        }
Exemplo n.º 8
0
        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();
        }
Exemplo n.º 9
0
        /// <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);
        }
Exemplo n.º 10
0
 /// <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);
 }
Exemplo n.º 11
0
 /// <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);
 }
Exemplo n.º 12
0
        /// <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);
        }