/// <summary> /// Initializes a new instance of a <see cref="ExcelUndoStack"/>. /// </summary> /// <param name="flex"><see cref="C1FlexGrid"/> that owns this undo stack.</param> public ExcelUndoStack(C1FlexGridBook flex) { _flex = flex; flex.PrepareCellForEdit += flex_PrepareCellForEdit; flex.CellEditEnded += flex_CellEditEnded; flex.ResizingColumn += flex_ResizingColumn; flex.ResizedColumn += flex_ResizedColumn; flex.ResizingRow += flex_ResizingRow; flex.ResizedRow += flex_ResizedRow; flex.SortingColumn += flex_SortingColumn; }
/// <summary> /// Initializes a new instance of an <see cref="ExcelContextMenu"/>. /// </summary> /// <param name="grid"><see cref="C1FlexGridBook"/> that owns this context menu.</param> internal ExcelContextMenu(C1FlexGridBook grid) { // save reference to parent grid _grid = grid; // build menu Reset(); // set up event handlers for context menu _grid.MouseMove += _grid_MouseMove; _grid.MouseRightButtonDown += _grid_MouseRightButtonDown; _grid.MouseRightButtonUp += _grid_MouseRightButtonUp; }
/// <summary> /// Initializes a new instance of a <see cref="SortDialog"/>. /// </summary> public SortDialog(C1FlexGridBook owner) : this() { // save reference to owner grid (the one being sorted) _owner = owner; // initialize sort descriptors _sdc.Clear(); var sel = _owner.Selection; if (sel.IsValid) { for (int c = sel.LeftColumn; c <= sel.RightColumn; c++) { var sd = new UnboundSortDescription(_owner.Columns[c], ListSortDirection.Ascending); _sdc.Add(sd); } } else { _sdc.Add(new UnboundSortDescription()); } // update UI when the collection/selection change _flex.SelectionChanged += _flex_SelectionChanged; // add data map to "Column" column var col = _flex.Columns["Column"]; var dctColumn = new Dictionary<Column, string>(); foreach (var c in _owner.Columns) { dctColumn[c] = GetColumnName(c); } col.ValueConverter = new ColumnValueConverter(dctColumn); // add data map to "Direction" column col = _flex.Columns["Direction"]; var dctOrder = new Dictionary<ListSortDirection, string>(); dctOrder[ListSortDirection.Ascending] = "Ascending"; dctOrder[ListSortDirection.Descending] = "Descending"; col.ValueConverter = new ColumnValueConverter(dctOrder); // show sort descriptors on grid _flex.ItemsSource = _sdc; }
// ** ctor public ExcelCalcEngine(C1FlexGridBook grid) { // save reference to parent grid _flex = grid; // parse multi-cell range references ($A2:B$4) IdentifierChars = "$:"; // register Hyperlink function (returns a HyperlinkButton) CacheExpressions = false; RegisterFunction("hyperlink", 2, (parms) => { var h = new HyperlinkButton(); //h.NavigateUri = new Uri((string)parms[0]); h.Content = (string)parms[1]; h.BorderThickness = new Thickness(0); h.BorderBrush = null; h.VerticalAlignment = VerticalAlignment.Center; h.HorizontalAlignment = HorizontalAlignment.Left; h.Foreground = _brLinkForeground; //h.TargetName = "_blank"; return h; }); }
public CellStyleChangeAction(C1FlexGridBook flex) { _flex = flex; _oldStyles = new Dictionary <CellRange, CellStyle>(); SaveStyles(_oldStyles); }
public CellStyleChangeAction(C1FlexGridBook flex) { _flex = flex; _oldStyles = new Dictionary<CellRange, CellStyle>(); SaveStyles(_oldStyles); }
public SortAction(C1FlexGridBook flex) { _flex = flex; _rowsBefore = new List<Row>(); foreach (var row in _flex.Rows) { _rowsBefore.Add(row); } }
public EditAction(C1FlexGridBook flex) { _flex = flex; _range = _flex.Selection; _oldValue = GetValue(); }
public RowResizeAction(C1FlexGridBook flex, CellRangeEventArgs e) { _flex = flex; _row = e.Row; _oldSize = _flex.Rows[_row].Height; }
/// <summary> /// Initializes a new instance of an <see cref="PasteAction"/>. /// </summary> public PasteAction(C1FlexGridBook flex) { _flex = flex; _oldSel = _newSel = flex.Selection; }
public ColumnResizeAction(C1FlexGridBook flex) { _flex = flex; _oldCols = _flex.ColumnLayout; _range = _flex.Selection; }
public InsertDeleteRowAction(C1FlexGridBook flex) { _flex = flex; _oldSel = _flex.Selection; _oldRows = new List<Row>(); foreach (var row in _flex.Rows) { _oldRows.Add(row); } }
public InsertDeleteColumnAction(C1FlexGridBook flex) { _flex = flex; _oldSel = _flex.Selection; _oldColumns = new List<Column>(); foreach (var col in _flex.Columns) { _oldColumns.Add(col); } }