Beispiel #1
0
 /// <summary>
 /// Invoked whenever one of the grids is modified.
 /// Propagates the signal up to the presenter.
 /// </summary>
 /// <param name="sender">Sender object.</param>
 /// <param name="args">Event arguments.</param>
 private void GridCellEdited(object sender, EventArgs args)
 {
     try
     {
         OnCellEndEdit?.Invoke(this, EventArgs.Empty);
     }
     catch (Exception err)
     {
         ShowError(err);
     }
 }
Beispiel #2
0
 /// <summary>
 /// Invoked whenever one of the grids is modified.
 /// Propagates the signal up to the presenter.
 /// </summary>
 /// <param name="sender">Sender object.</param>
 /// <param name="args">Event arguments.</param>
 private void GridCellEdited(object sender, GridCellsChangedArgs args)
 {
     try
     {
         OnCellEndEdit?.Invoke(sender, args);
     }
     catch (Exception err)
     {
         ShowError(err);
     }
 }
Beispiel #3
0
        private void GridCellEdited(object o, EditedArgs args)
        {
            Gtk.TreeIter iter;
            Gtk.TreePath path = new Gtk.TreePath(args.Path);
            gridModel.GetIter(out iter, path);
            int row = path.Indices[0];
            int col;

            for (col = 0; col < treeview2.Columns.Count(); col++)
            {
                if (treeview2.Columns[col].CellRenderers[0] == o)
                {
                    break;
                }
            }
            if (col == treeview2.Columns.Count())
            {
                return;  // Could not locate the column!
            }
            string value = args.NewText.Trim();

            if (value == gridModel.GetValue(iter, col) as string)
            {
                return;
            }
            double numval;

            if (Double.TryParse(args.NewText, out numval))
            {
                // It seems a bit silly to have two parallel data stores -
                // a Gtk.ListStore and a System.Data.Table. However, we want a
                // ListStore for the GUI, and don't want the Presenter to
                // have to know about Gtk.
                gridModel.SetValue(iter, col, value);
                table.Rows[row][col] = value;
                if (OnCellEndEdit != null)
                {
                    OnCellEndEdit.Invoke(this, new EventArgs());
                }
            }
        }