[Libreoffice-bugs] [Bug 127633] Relative Cells
https://bugs.documentfoundation.org/show_bug.cgi?id=127633 --- Comment #16 from Eike Rathke --- (In reply to Rick C. Hodgin from comment #14) > 3) A post-processing step on UI presentation, where the actual formula for > the cell is processed to reference !!native cells (like !!A1 for the real > A1), and to take anything in the visible range and PRESENT IT as a relative > name. You mean you want to re-parse the formula string generated from tokens and present it differently? Sounds error-prone to me. > 4) A pre-processing step on the syntax parser for formula input, that does > the reverse of 3), making the relative values be real values. Same here, pre-processing a string to produce another string is an error-prone overhead. > 5) A new flag in the saved ods file indicating if the sheet's in relative > view or not. I'd not save/load that to/from file. It would be utterly confusing to a user loading such document if not familiar with the feature/syntax. > This could be implemented as a visible-at-the-UI-level change only, with > post- and pre- processing code injected in 3) and 4) as indicated. You'd have to re-implement a lexicalizer just to handle the cell reference bits. But maybe I'm missing something in your idea. Anyway, if that's the approach to go then probably post-processing should take place in sc/source/ui/view/tabvwsha.cxx ScTabViewShell::UpdateInputHandler() line 669 where rCell.mpFormula->GetFormula(aString) is called. The pre-processing probably in sc/source/ui/view/viewfunc.cxx ScViewFunc::EnterData() that detects a formula entry and ScViewFunc::EnterMatrix(). -- You are receiving this mail because: You are the assignee for the bug.___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 127633] Relative Cells
https://bugs.documentfoundation.org/show_bug.cgi?id=127633 --- Comment #15 from Eike Rathke --- (In reply to Rick C. Hodgin from comment #13) > Point me in the general direction in the source code base and I'll begin > investigating it. Of specific interest are include/formula/grammar.hxx formula::FormulaGrammar::AddressConvention formula/source/core/api/grammar.cxx sc/inc/address.hxx ScAddress::Details sc/source/core/tool/address.cxx specifically the parts that handle a ScAddress::Details sc/source/core/tool/compiler.cxx to see how things are called in ScCompiler::IsSingleReference() ScCompiler::IsDoubleReference() ScCompiler::CreateStringFromSingleRef() ScCompiler::CreateStringFromDoubleRef() and maybe formula/source/core/api/FormulaCompiler.cxx for the base class implementation. -- You are receiving this mail because: You are the assignee for the bug.___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 127633] Relative Cells
https://bugs.documentfoundation.org/show_bug.cgi?id=127633 --- Comment #14 from Rick C. Hodgin --- I was thinking this morning that 7 things would need to be modified to make this work, and 8 if you include unit testing: 1) An icon to toggle Relative View. 2) A keyboard shortcut to toggle Relative View, and to turn it on or off explicitly. 3) A post-processing step on UI presentation, where the actual formula for the cell is processed to reference !!native cells (like !!A1 for the real A1), and to take anything in the visible range and PRESENT IT as a relative name. 4) A pre-processing step on the syntax parser for formula input, that does the reverse of 3), making the relative values be real values. 5) A new flag in the saved ods file indicating if the sheet's in relative view or not. 6) An alteration to the row and column painting algorithms to paint them in relative view mode. 7) Changes to the help file. 8) Unit testing. Nothing in the core algorithms, parsers, or logic would have to change. This could be implemented as a visible-at-the-UI-level change only, with post- and pre- processing code injected in 3) and 4) as indicated. -- You are receiving this mail because: You are the assignee for the bug.___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 127633] Relative Cells
https://bugs.documentfoundation.org/show_bug.cgi?id=127633 --- Comment #13 from Rick C. Hodgin --- "...provide a fully working patch (preferably along with unit tests) and we could happily integrate it" Point me in the general direction in the source code base and I'll begin investigating it. I'll put together a proposed change outline for review, and if it's acceptable I'll code it. Sound doable? -- You are receiving this mail because: You are the assignee for the bug.___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 127633] Relative Cells
https://bugs.documentfoundation.org/show_bug.cgi?id=127633 --- Comment #12 from Eike Rathke --- It would be yet another different reference syntax in the context of the compiler lexicalizer and tokenizer/parser (and stringizer). Also clashes between what now is a valid named expression like L1U1 and then suddenly couldn't be anymore would have to be resolved. Certainly more to come.. Regarding "this is an open source project?", yes of course, provide a fully working patch (preferably along with unit tests) and we could happily integrate it. I personally won't invest my time on developing this. Specifically I also don't see the need as the Excel R1C1 syntax does exactly that, just with the slight inconvenience of having to type in the additional [] brackets for the relative addressing. -- You are receiving this mail because: You are the assignee for the bug.___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 127633] Relative Cells
https://bugs.documentfoundation.org/show_bug.cgi?id=127633 --- Comment #11 from Rick C. Hodgin --- This is an open source project? It's not a reference syntax. It's a display and input feature. The underlying syntax remains the same. The only difference is what's seen on screen in relative mode, and how things are parsed when in relative mode. The values in the upper-left refer to A1 and proceed out and down from there, but internally everything remains the existing syntax. That's the beauty of this enhancement. Nothing changes except the input parser and the display, and only when in relative mode, and only for the visible cells. Even the visible cells maintain their original designated identity entirely as by however they're designed today internally. -- You are receiving this mail because: You are the assignee for the bug.___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 127633] Relative Cells
https://bugs.documentfoundation.org/show_bug.cgi?id=127633 Eike Rathke changed: What|Removed |Added Resolution|--- |WONTFIX Status|UNCONFIRMED |RESOLVED --- Comment #10 from Eike Rathke --- As said above, either use named expressions with relative cell references, or go to menu Tools -> Options -> Calc -> Formula, Formula Options, Formula syntax, select Excel R1C1 syntax => problem solved. We will not introduce yet another reference syntax. Period. -- You are receiving this mail because: You are the assignee for the bug.___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 127633] Relative Cells
https://bugs.documentfoundation.org/show_bug.cgi?id=127633 Eike Rathke changed: What|Removed |Added Status|RESOLVED|CLOSED -- You are receiving this mail because: You are the assignee for the bug.___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 127633] Relative Cells
https://bugs.documentfoundation.org/show_bug.cgi?id=127633 --- Comment #9 from Heiko Tietze --- We could introduce the option "A1 always on top" and have negative values like -C -B A +B +C -3 -2 -1 +1 x +2 (you never see negative values when the cursor moves, only with scrolling) But I'm still rather for WF. -- You are receiving this mail because: You are the assignee for the bug.___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 127633] Relative Cells
https://bugs.documentfoundation.org/show_bug.cgi?id=127633 --- Comment #8 from m.a.riosv --- If I'm not wrong table functionalities works in Calc, but you need to save the file in xlsx format. https://wiki.documentfoundation.org/ReleaseNotes/5.1#Table_structured_references Similar, in some way, to table functionalities is the use of Labels in ODF, (Menu/Sheet/Named ranges/Labels) Also there is the option to use ExcelR1C1 formula syntax. Something like (left 1 up 1) = =R[-1]C[-1] -- You are receiving this mail because: You are the assignee for the bug.___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 127633] Relative Cells
https://bugs.documentfoundation.org/show_bug.cgi?id=127633 --- Comment #7 from Tomaz Vajngerl --- Actually the only thing I can think of that would make this simple and not blow up in complexity is to support a relative referencing from the current cell you edit the formula in, which will immediately change. Something like (left 1 up 1) (right 2 down 4). If the cursor is in cell C13 this would be replaced immediately with B12 and E17. BTW. implementing Table functionality from Excel would solve some of the issues as with Tables you can reference with the named column or row and with auto-completion this gets easy. -- You are receiving this mail because: You are the assignee for the bug.___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 127633] Relative Cells
https://bugs.documentfoundation.org/show_bug.cgi?id=127633 --- Comment #6 from Rick C. Hodgin --- Taking this whole "Relative A1" concept a step further, it's almost like the idea of having virtual spreadsheets within a root spreadsheet. Imagine you're on cell K92, and you need a calculation to feed into that cell's value. Rather than consume 2D space in the surrounding row,col cells, you dive into 3D and create a virtual spreadsheet at that cell which can pop up and handle normal input. That virtual spreadsheet pops up with a full A1..max_extent sheet available with all of the abilities the parent had. And from there you could have more pop up, all relative to the parent. Rather than having new sheet tabs to select from, you can reference the calculations directly there, at the cell, in the virtual sheet. Ctrl+PgUp enters the virtual sheet. It pops up to a 1/3rd screen presentation by default looking like a popup, and you can assign values to the "RESULT" name to populate a value into that cell using something like: RESULT=[normal formulas / values here]. Only one RESULT cell can be used for the virtual. If you need to update more information, reference it by a long-hand syntax identifying the tab and cell. There's so much possibility here. It's time to evolve a little and think "flexibility!" (be sure you read that with the same intonation as Phlox saying, "Optimism, Captain!") -- You are receiving this mail because: You are the assignee for the bug.___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 127633] Relative Cells
https://bugs.documentfoundation.org/show_bug.cgi?id=127633 --- Comment #5 from Rick C. Hodgin --- Should be: Cells could be displayed like this in Relative view: [ ][ A=AA ][ B=AB] ... [ 1=281 ] [ 2=282 ] [ 3=283 ] Something like that. Not sure the = is the best character, but it could also just display like this, with hovering tooltips showing the real values: [ Rel ][ A ][ B ] ... [ 1 ] [ 2 ] [ 3 ] Other people can figure out the details. The whole concept is to make it easier to use. -- You are receiving this mail because: You are the assignee for the bug.___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 127633] Relative Cells
https://bugs.documentfoundation.org/show_bug.cgi?id=127633 --- Comment #4 from Rick C. Hodgin --- Another option that might be simpler and just occurred to me could be a relative view from the current visible page and visible cells. Click the "Relative View" icon, and the upper-left cell becomes A1. Things proceed across and down from there, but only on the visible page. As you scroll around, the upper-left cell becomes A1 in the new location. Turn it off, back to normal. Cells could be displayed like this in Relative view: [ ][ A1.AA281 ][ A2.AB283] ... The whole purpose of this feature would be to allow easy human-readable / writable references for quick-and-dirty calculations wherever you are in the sheet, so you can populate a value, range of values, whatever it is, without having to use the fully qualified multi-letter + lengthy number references. When you complete your work using the more convenient names, turn Relative View off, and now the formulas are auto-updated with their more lengthy / less convenient names. Usage: Toggle Relative View on/off. Off is like it is today. On always makes what you see in the upper-left cell be A1, proceeding over and down from there to something like O39 if that's the lower-right cell. The Relative View is always just the visible cells on-screen in this design / use scenario. It wouldn't work with any type of programmatic automation. -- You are receiving this mail because: You are the assignee for the bug.___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 127633] Relative Cells
https://bugs.documentfoundation.org/show_bug.cgi?id=127633 Heiko Tietze changed: What|Removed |Added Keywords||needsUXEval --- Comment #3 from Heiko Tietze --- If you want to enter =AA281+AB283 the easy way is per clicking the cells. In case you have more advanced it's possible to use the INDIRECT() function, eg. BA1==AA, BA2==281, BB1==AB, BB2==283 -> =INDIRECT(BA1)-INDIRECT(BB1). While the use case is clear I doubt the relative area is a good solution. It wouldn't be clear what cells are calculated precisely since you may always have so relation. There might be solutions but I cannot imagine anything absolute clear for every user. So my take: WF. -- You are receiving this mail because: You are the assignee for the bug.___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 127633] Relative Cells
https://bugs.documentfoundation.org/show_bug.cgi?id=127633 m.a.riosv changed: What|Removed |Added CC||miguelangelrv@libreoffice.o ||rg --- Comment #2 from m.a.riosv --- BTW something can be done with Named Ranges using relative address in it. But I can't believe even the U team spending time on this. -- You are receiving this mail because: You are the assignee for the bug.___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
[Libreoffice-bugs] [Bug 127633] Relative Cells
https://bugs.documentfoundation.org/show_bug.cgi?id=127633 Roman Kuznetsov <79045_79...@mail.ru> changed: What|Removed |Added CC||79045_79...@mail.ru, ||libreoffice-ux-advise@lists ||.freedesktop.org --- Comment #1 from Roman Kuznetsov <79045_79...@mail.ru> --- ohohoIt looks strange and very hard for real work UX-team, what do you think? -- You are receiving this mail because: You are the assignee for the bug.___ Libreoffice-bugs mailing list Libreoffice-bugs@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs