mirror of
https://github.com/storytold/gridcraft.git
synced 2026-11-07 02:51:33 +00:00
The Insert tab gains Button, Slider and Spin Button beside Cell Controls › Checkbox, which is unchanged. Each arms placement: a drag on the grid draws the control at that size (a tall drag makes a vertical slider), a click places it at its default size, and Escape disarms. Key tips (N B U, N S L, N S B) place one at the active cell. A new button opens Assign Action, as Excel opens Assign Macro. form_controls.rs draws the controls in the sheet tokens, so they look the same in both themes: buttons with hover and pressed states, sliders with a track, a filled part and a thumb (and the value beside the thumb while it is dragged), spin buttons with two arrows, stacked or side by side. A plain click works a control: dragging the thumb, clicking the track (a page), clicking or holding an arrow (it repeats after 0.4 s), pressing a button (it runs on release over it). A drag or a hold is one undo step. The control last worked takes the arrows, Page Up and Page Down, Home and End, and Space or Enter for a button. Ctrl or Cmd+click or a right-click selects a control to move or resize it; a right-click opens the object menu, which for a control adds Edit Text and Assign Action (buttons) and Format Control before Delete. Double-clicking a selected control opens its editor. On a right-to-left sheet a control moves as a whole and works where it is drawn. Assign Action runs a macro (from the list or typed, on the selection or a fixed range, with an optional output cell) or a command (searched among those a macro may run, with JSON parameters). Format Control edits the value, limits, incremental and page change, cell link, orientation, name and the locked and print flags, checking the same rules as the engine. A button whose action needs approval, or whose macro would write over data, asks in a prompt whose buttons press it again with the answer. New theme tokens (thumb, hover, pressed, fill, focus ring) are in the contrast test; Button, Slider and Spin icons are drawn in code; the new labels are translated in every interface language. The catalog gains Developer › Controls (280 / 296).
15 KiB
15 KiB
Excel parity checklist
Each entry is an Excel ribbon or menu command (feature names only). It counts as implemented when GridCraft registers a command with the same id. This measures breadth only; the overall assessment (depth, fidelity, effort) is in target-app-parity.md.
Overall: 280 / 296 commands implemented (94.6%).
| Tab | Implemented | Total | Parity |
|---|---|---|---|
| File | 11 | 11 | 100% |
| Home | 94 | 94 | 100% |
| Insert | 17 | 25 | 68% |
| Draw | 4 | 4 | 100% |
| Page Layout | 23 | 23 | 100% |
| Formulas | 23 | 23 | 100% |
| Data | 23 | 28 | 82% |
| Review | 15 | 18 | 83% |
| View | 21 | 21 | 100% |
| Automate | 4 | 4 | 100% |
| Developer | 4 | 4 | 100% |
| Table Design | 13 | 13 | 100% |
| Chart Design | 8 | 8 | 100% |
| Format | 3 | 3 | 100% |
| PivotTable Analyze | 13 | 13 | 100% |
| PivotTable Design | 4 | 4 | 100% |
File (11 / 11, 100%)
Implemented:
file.newNew (File)file.openOpen (File)file.saveSave (File)file.saveAsSave As (File)file.closeClose (File)file.printPrint (File)file.exportPdfExport to PDF (Export)file.exportCsvCSV (Export)file.exportHtmlWeb Page (Export)file.propertiesProperties (Info)file.optionsOptions (Options)
Home (94 / 94, 100%)
Implemented:
edit.pastePaste (Clipboard)edit.pasteSpecialPaste Special (Clipboard)edit.cutCut (Clipboard)edit.copyCopy (Clipboard)edit.formatPainterFormat Painter (Clipboard)home.fontNameFont (Font)home.fontSizeFont Size (Font)home.increaseFontSizeIncrease Font Size (Font)home.decreaseFontSizeDecrease Font Size (Font)home.boldBold (Font)home.italicItalic (Font)home.underlineUnderline (Font)home.doubleUnderlineDouble Underline (Font)home.strikethroughStrikethrough (Font)home.superscriptSuperscript (Font)home.subscriptSubscript (Font)home.bordersBorders (Font)home.drawBorderDraw Border (Font)home.fillColorFill Color (Font)home.fontColorFont Color (Font)home.alignTopTop Align (Alignment)home.alignMiddleMiddle Align (Alignment)home.alignBottomBottom Align (Alignment)home.orientationOrientation (Alignment)home.alignLeftAlign Left (Alignment)home.alignCenterCenter (Alignment)home.alignRightAlign Right (Alignment)home.decreaseIndentDecrease Indent (Alignment)home.increaseIndentIncrease Indent (Alignment)home.wrapTextWrap Text (Alignment)home.mergeCenterMerge & Center (Alignment)home.mergeAcrossMerge Across (Alignment)home.mergeCellsMerge Cells (Alignment)home.unmergeCellsUnmerge Cells (Alignment)home.numberFormatNumber Format (Number)home.accountingAccounting Number Format (Number)home.percentPercent Style (Number)home.commaComma Style (Number)home.increaseDecimalIncrease Decimal (Number)home.decreaseDecimalDecrease Decimal (Number)home.conditionalFormatConditional Formatting (Styles)home.clearRulesClear Rules (Styles)home.manageRulesManage Rules (Styles)home.formatAsTableFormat as Table (Styles)home.cellStyleCell Styles (Styles)home.newCellStyleNew Cell Style (Styles)home.insertCellsInsert Cells (Cells)home.insertRowsInsert Sheet Rows (Cells)home.insertColumnsInsert Sheet Columns (Cells)home.insertSheetInsert Sheet (Cells)home.deleteCellsDelete Cells (Cells)home.deleteRowsDelete Sheet Rows (Cells)home.deleteColumnsDelete Sheet Columns (Cells)home.deleteSheetDelete Sheet (Cells)home.rowHeightRow Height (Cells)home.autofitRowHeightAutoFit Row Height (Cells)home.columnWidthColumn Width (Cells)home.autofitColumnWidthAutoFit Column Width (Cells)home.defaultWidthDefault Width (Cells)home.hideRowsHide Rows (Cells)home.hideColumnsHide Columns (Cells)home.unhideRowsUnhide Rows (Cells)home.unhideColumnsUnhide Columns (Cells)sheet.hideHide Sheet (Cells)sheet.unhideUnhide Sheet (Cells)sheet.renameRename Sheet (Cells)sheet.moveMove or Copy Sheet (Cells)sheet.tabColorTab Color (Cells)review.protectSheetProtect Sheet (Cells)home.lockCellLock Cell (Cells)home.formatCellsFormat Cells (Cells)formulas.autoSumAutoSum (Editing)edit.fillDownFill Down (Editing)edit.fillRightFill Right (Editing)edit.fillUpFill Up (Editing)edit.fillLeftFill Left (Editing)edit.fillSeriesSeries (Editing)edit.flashFillFlash Fill (Editing)edit.clearAllClear All (Editing)edit.clearFormatsClear Formats (Editing)edit.clearContentsClear Contents (Editing)edit.clearCommentsClear Comments (Editing)edit.clearHyperlinksClear Hyperlinks (Editing)data.sortAscendingSort A to Z (Editing)data.sortDescendingSort Z to A (Editing)data.sortCustom Sort (Editing)data.filterFilter (Editing)data.clearFilterClear Filter (Editing)data.reapplyReapply (Editing)edit.findFind (Editing)edit.replaceReplace (Editing)edit.goToGo To (Editing)edit.goToSpecialGo To Special (Editing)home.addInsAdd-ins (Add-ins)
Insert (17 / 25, 68%)
Implemented:
insert.pivotTablePivotTable (Tables)insert.recommendedPivotTablesRecommended PivotTables (Tables)insert.tableTable (Tables)insert.picturePictures (Illustrations)insert.shapeShapes (Illustrations)insert.iconsIcons (Illustrations)insert.recommendedChartsRecommended Charts (Charts)insert.chartCharts (Charts)insert.pivotChartPivotChart (Charts)insert.sparklineSparklines (Sparklines)insert.slicerSlicer (Filters)insert.linkLink (Links)review.newCommentComment (Comments)insert.textBoxText Box (Text)pageLayout.headerFooterHeader & Footer (Text)insert.symbolSymbol (Symbols)insert.checkboxCheckbox (Cell Controls)
Missing:
insert.smartArtSmartArt (Illustrations)insert.screenshotScreenshot (Illustrations)insert.mapMaps (Charts)insert.timelineTimeline (Filters)insert.wordArtWordArt (Text)insert.signatureLineSignature Line (Text)insert.objectObject (Text)insert.equationEquation (Symbols)
Draw (4 / 4, 100%)
Implemented:
draw.penPen (Tools)draw.eraserEraser (Tools)draw.lassoLasso Select (Tools)draw.inkToShapeInk to Shape (Convert)
Page Layout (23 / 23, 100%)
Implemented:
pageLayout.themeThemes (Themes)pageLayout.themeColorsColors (Themes)pageLayout.themeFontsFonts (Themes)pageLayout.themeEffectsEffects (Themes)pageLayout.marginsMargins (Page Setup)pageLayout.orientationOrientation (Page Setup)pageLayout.sizeSize (Page Setup)pageLayout.printAreaPrint Area (Page Setup)pageLayout.breaksBreaks (Page Setup)pageLayout.backgroundBackground (Page Setup)pageLayout.printTitlesPrint Titles (Page Setup)pageLayout.pageSetupPage Setup (Page Setup)pageLayout.scaleToFitScale to Fit (Scale to Fit)view.gridlinesView Gridlines (Sheet Options)pageLayout.printGridlinesPrint Gridlines (Sheet Options)view.headingsView Headings (Sheet Options)pageLayout.printHeadingsPrint Headings (Sheet Options)arrange.bringForwardBring Forward (Arrange)arrange.sendBackwardSend Backward (Arrange)arrange.selectionPaneSelection Pane (Arrange)arrange.alignAlign (Arrange)arrange.groupGroup (Arrange)arrange.rotateRotate (Arrange)
Formulas (23 / 23, 100%)
Implemented:
formulas.insertFunctionInsert Function (Function Library)formulas.recentlyUsedRecently Used (Function Library)formulas.financialFinancial (Function Library)formulas.logicalLogical (Function Library)formulas.textText (Function Library)formulas.dateTimeDate & Time (Function Library)formulas.lookupReferenceLookup & Reference (Function Library)formulas.mathTrigMath & Trig (Function Library)formulas.moreFunctionsMore Functions (Function Library)formulas.nameManagerName Manager (Defined Names)formulas.defineNameDefine Name (Defined Names)formulas.useInFormulaUse in Formula (Defined Names)formulas.createFromSelectionCreate from Selection (Defined Names)formulas.tracePrecedentsTrace Precedents (Formula Auditing)formulas.traceDependentsTrace Dependents (Formula Auditing)formulas.removeArrowsRemove Arrows (Formula Auditing)formulas.showFormulasShow Formulas (Formula Auditing)formulas.errorCheckingError Checking (Formula Auditing)formulas.evaluateFormulaEvaluate Formula (Formula Auditing)formulas.watchWindowWatch Window (Formula Auditing)formulas.calculationOptionsCalculation Options (Calculation)formulas.calculateNowCalculate Now (Calculation)formulas.calculateSheetCalculate Sheet (Calculation)
Data (23 / 28, 82%)
Implemented:
data.getDataGet Data (Get & Transform Data)data.fromTextCsvFrom Text/CSV (Get & Transform Data)data.fromTableRangeFrom Table/Range (Get & Transform Data)data.refreshAllRefresh All (Queries & Connections)data.queriesConnectionsQueries & Connections (Queries & Connections)data.advancedFilterAdvanced (Sort & Filter)data.textToColumnsText to Columns (Data Tools)data.flashFillFlash Fill (Data Tools)data.removeDuplicatesRemove Duplicates (Data Tools)data.validationData Validation (Data Tools)data.circleInvalidCircle Invalid Data (Data Tools)data.consolidateConsolidate (Data Tools)data.scenarioManagerScenario Manager (Forecast)data.goalSeekGoal Seek (Forecast)data.dataTableData Table (Forecast)data.forecastSheetForecast Sheet (Forecast)data.groupGroup (Outline)data.ungroupUngroup (Outline)data.subtotalSubtotal (Outline)data.showDetailShow Detail (Outline)data.hideDetailHide Detail (Outline)data.solverSolver (Analysis)data.analysisToolPakData Analysis (Analysis)
Missing:
data.fromWebFrom Web (Get & Transform Data)data.stocksStocks (Data Types)data.geographyGeography (Data Types)data.relationshipsRelationships (Data Tools)data.analyzeDataAnalyze Data (Analysis)
Review (15 / 18, 83%)
Implemented:
review.spellingSpelling (Proofing)review.thesaurusThesaurus (Proofing)review.workbookStatisticsWorkbook Statistics (Proofing)review.checkAccessibilityCheck Accessibility (Accessibility)review.deleteCommentDelete Comment (Comments)review.previousCommentPrevious Comment (Comments)review.nextCommentNext Comment (Comments)review.showCommentsShow Comments (Comments)review.newNoteNew Note (Notes)review.showNoteShow/Hide Note (Notes)review.showAllNotesShow All Notes (Notes)review.convertToCommentsConvert to Comments (Notes)review.unprotectSheetUnprotect Sheet (Protect)review.protectWorkbookProtect Workbook (Protect)review.allowEditRangesAllow Edit Ranges (Protect)
Missing:
review.smartLookupSmart Lookup (Insights)review.translateTranslate (Language)review.showChangesShow Changes (Changes)
View (21 / 21, 100%)
Implemented:
view.normalNormal (Workbook Views)view.pageBreakPreviewPage Break Preview (Workbook Views)view.pageLayoutPage Layout (Workbook Views)view.customViewsCustom Views (Workbook Views)view.rulerRuler (Show)view.formulaBarFormula Bar (Show)view.zoomZoom (Zoom)view.zoom100100% (Zoom)view.zoomToSelectionZoom to Selection (Zoom)view.newWindowNew Window (Window)view.arrangeAllArrange All (Window)view.freezePanesFreeze Panes (Window)view.freezeTopRowFreeze Top Row (Window)view.freezeFirstColumnFreeze First Column (Window)view.unfreezePanesUnfreeze Panes (Window)view.splitSplit (Window)view.hideWindowHide (Window)view.unhideWindowUnhide (Window)view.switchWindowsSwitch Windows (Window)view.macrosMacros (Macros)macro.recordRecord Macro (Macros)
Automate (4 / 4, 100%)
Implemented:
automate.newScriptNew Script (Scripting Tools)automate.allScriptsAll Scripts (Scripting Tools)automate.recordActionsRecord Actions (Scripting Tools)automate.trustScriptsTrust Scripts (Scripting Tools)
Developer (4 / 4, 100%)
Implemented:
insert.buttonButton (Form Control) (Controls)insert.spinButtonSpin Button (Form Control) (Controls)insert.sliderScroll Bar (Form Control) (Controls)control.formatProperties (Controls)
Table Design (13 / 13, 100%)
Implemented:
table.renameTable Name (Properties)table.resizeResize Table (Properties)table.summarizePivotSummarize with PivotTable (Tools)table.removeDuplicatesRemove Duplicates (Tools)table.convertToRangeConvert to Range (Tools)table.insertSlicerInsert Slicer (Tools)table.headerRowHeader Row (Table Style Options)table.totalRowTotal Row (Table Style Options)table.bandedRowsBanded Rows (Table Style Options)table.firstColumnFirst Column (Table Style Options)table.lastColumnLast Column (Table Style Options)table.bandedColumnsBanded Columns (Table Style Options)table.styleTable Styles (Table Styles)
Chart Design (8 / 8, 100%)
Implemented:
chart.addElementAdd Chart Element (Chart Layouts)chart.quickLayoutQuick Layout (Chart Layouts)chart.changeColorsChange Colors (Chart Styles)chart.setChart Styles (Chart Styles)chart.switchRowColumnSwitch Row/Column (Data)chart.selectDataSelect Data (Data)chart.changeTypeChange Chart Type (Type)chart.moveMove Chart (Location)
Format (3 / 3, 100%)
Implemented:
chart.formatSelectionFormat Selection (Current Selection)chart.shapeFillShape Fill (Shape Styles)chart.shapeOutlineShape Outline (Shape Styles)
PivotTable Analyze (13 / 13, 100%)
Implemented:
pivot.fieldListField List (Show)pivot.refreshRefresh (Data)pivot.changeSourceChange Data Source (Data)pivot.calculatedFieldFields, Items & Sets (Calculations)pivot.addFieldAdd Field (Fields)pivot.removeFieldRemove Field (Fields)pivot.moveFieldMove Field (Fields)pivot.valueSettingsValue Field Settings (Active Field)pivot.filterFilter (Filter)pivot.sortSort (Sort)pivot.groupGroup Field (Group)pivot.collapseCollapse Field (Active Field)pivot.deleteClear All (Actions)
PivotTable Design (4 / 4, 100%)
Implemented:
pivot.grandTotalsGrand Totals (Layout)pivot.subtotalsSubtotals (Layout)pivot.reportLayoutReport Layout (Layout)pivot.stylePivotTable Styles (PivotTable Styles)