Bug 36943 - Clicking 'Edit Points' button in Calc doesnt show 'Edit Points' toolbar
Summary: Clicking 'Edit Points' button in Calc doesnt show 'Edit Points' toolbar
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
Inherited From OOo
Hardware: Other All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: needsDevEval
: 45225 67341 95756 (view as bug list)
Depends on:
Blocks: Unify-Across-Apps Shape-Points
  Show dependency treegraph
 
Reported: 2011-05-07 13:31 UTC by gleppert
Modified: 2018-07-02 23:04 UTC (History)
10 users (show)

See Also:
Crash report or crash signature:


Attachments
Example for typical usage of bended lines (14.50 KB, application/vnd.ms-excel)
2011-05-08 01:05 UTC, gleppert
Details
screenshot of edit points toolbar (216.13 KB, image/png)
2012-01-24 09:42 UTC, sasha.libreoffice
Details

Note You need to log in before you can comment on or make changes to this bug.
Description gleppert 2011-05-07 13:31:53 UTC
Problem in the drawing layer of Calc: Adding points to a line in Calc does not work. Clicking on the icon "Points" has no effect. Also the toolbar "edit points" does not show up. This bug is only in Calc. This feature works perfectly in Writer, Draw and Impress.

MenuItem : edit -> "Edit points" missing from menu

Steps to reproduce:
* Open Calc
* Make sure that the toolbar "Drawing" is activated (view->Toolbars->drawing)
* Draw a line in the empty spreadsheet
* Click on the icon "Points" in the toolbar "drawing"
* Nothing happens. In Writer,Draw, Impress, the toolbar "edit points" opens and makes it possible to add points and to bend the line. 

As far as I know this used to work in Calc some years ago. During that date, the bug was entered in the OpenOffice issue tracker: http://openoffice.org/bugzilla/show_bug.cgi?id=55720 Nevertheless, I assume that it is an easy to solve bug. Apparently, no developer has ever looked into it since 2005.
Comment 1 Rainer Bielefeld Retired 2011-05-08 00:08:56 UTC
[Reproducible] with "LibreOffice 3.4Beta3  – WIN7  Home Premium  (64bit) German UI [DEV300m103 (Build:3)]"
Same with OOo 1.1.4, 3.1, dev 3.4

The corresponding OOo Issue is 
"Toolbar and menu "edit - edit points" missing in CALC"
<http://openoffice.org/bugzilla/show_bug.cgi?id=55720>

I doubt that that is intended, but because of the long history of the problem I do not see much importance.

@gleppert@gmx.de:
Is there any definition for Whiteboard "SkillCpp"?
Comment 2 gleppert 2011-05-08 01:05:34 UTC
Created attachment 46440 [details]
Example for typical usage of bended lines
Comment 3 gleppert 2011-05-08 01:08:03 UTC
I doubt that the importance of the bug is low/minor. I very often receive
Excel-files that include bended lines/arrows in order to highlight important
relations between cells. Please see attached .xls-file as an example. To produce something similar in Calc is impossible due to this bug. I really wouldn't take the age of the OOo-bug as indicator for the importance of the bug ;-)

I believe that this is an easy to solve bug. Am I right?

@Rainer: I took the Whiteboard definition from
http://wiki.documentfoundation.org/Development/EasyHacks_Bugzilla_Migration. It
means C++ skills.

Small remark to original bug entry: 
Before committing the bug, I wanted to have deleted the phrase "MenuItem : edit
-> "Edit points" missing from menu". Apparently, I didn't. This phrase is
unimportant for this bug entry.
Comment 4 Björn Michaelsen 2011-12-23 12:01:43 UTC Comment hidden (obsolete)
Comment 5 sasha.libreoffice 2012-01-24 09:42:34 UTC
Created attachment 56093 [details]
screenshot of edit points toolbar

reproduced in LibO 3.6.0 master on Fedora 64 bit
to reproduce: draw line, select it and press button "Points" on Drawing toolbar
"Edit points" toolbar not appears
Comment 6 gleppert 2012-03-15 10:48:00 UTC
This request for enhancement is still valid for current versions of LibreOffice
Comment 7 sasha.libreoffice 2012-05-11 02:13:20 UTC
*** Bug 45225 has been marked as a duplicate of this bug. ***
Comment 8 zevans23 2012-06-01 03:07:21 UTC
I have the same problem - but in Draw. No way to get toolbar to appear. Edit menu item is missing. If I add the icon to the Drawing toolbar, it is not functional.

LibreOffice 3.5.3.2 
Build ID: 235ab8a-3802056-4a8fed3-2d66ea8-e241b80
Windows 7 64-bit
Comment 9 Rainer Bielefeld Retired 2012-06-01 08:51:13 UTC
Already see that with OOo-Dev 3.2.2, so inherited from OOo.
May be one of the the roots of the problem is that you even can't create such a toolbar because the functions (add point, ...) are not available in Calc under 'Tools -> Customize -> Toolbars -> Add ... -> Category=Drawing- Commands'
In WRITER it's available.
May be it never was intended to have those functions in Calc? But I wonder why.

@zevans23
I believe your problem is something completely different.
Comment 10 gleppert 2012-06-01 11:09:50 UTC
@Rainer: As far as I know, this functionality was there in OpenOffice in pre-2.0 days. However I do not have the possibility to cross-check now (version 1.1.5 is in fact quite long time ago :-)

I still believe that this issue can be easily fixed, but I believe no one had a look at the issue since 2005.

The old link to the OpenOffice bug entry was broken. Here is the new one:
https://issues.apache.org/ooo/show_bug.cgi?id=55720
Comment 11 gleppert 2012-06-01 11:44:10 UTC
Side note: I just installed some old OpenOffice.org 1.1.5 in an Crossover Bottle and also there it does not work. Now, I am a bit confused, because I remember a discussion with OpenOffice developers seven years ago where it was mentioned that this bug came in with version 2.0.?!
Comment 12 Marina Latini (CIB) 2014-01-24 14:44:33 UTC
Same problem with Calc in 
LibreOffice 4.1.4.2 – Ubuntu 13.10 (64bit) Italian UI Build ID:410m0(Build:2)
Comment 13 Rachit Gupta 2014-02-09 14:46:37 UTC
I wish to work on this bug. Can someone tell me where to look for the code for the Drawing Toolbar in Writer as well as Calc?
Comment 14 sasha.libreoffice 2014-02-10 05:09:39 UTC
Thanks for interesting in this bug
Please, try to ask here:
irc://chat.freenode.net/libreoffice-dev
Comment 15 Gerry 2014-02-27 10:32:59 UTC
@Rachit: Thanks for looking into this bug, this is highly appreciated. Have you received the code pointers and information you were looking for? If not, have you already asked at the developers mailing list?
Comment 16 Aldo Fiorentin 2014-03-06 20:45:11 UTC
I confirm the problem in LibreOffice 4.2, 4.1.5 and 4.1.3, with Windows XP.
In my opinion the problem has a certain importance.
Comment 17 Gerry 2014-04-16 11:57:52 UTC
"Edit points" either was never implemented in Calc (only the icon is there, but no feature behind) or it is a very old bug. In a forum, there was a user who started his StarOffice 5.2 and could confirm this bug.

Original post (in German language):
"Punkte hinzfügen" gibt es nicht, weil die "Bezierobjektleiste" in
StarOffice Calc 5.2 nicht angezeigt wird. Die gibt es nur in Writer, Draw und
Impress.

Es ist also keine Regression, sondern tatsächlich ein uralter Bug aus
den 90ern. :-)
Comment 18 QA Administrators 2015-06-08 14:41:48 UTC Comment hidden (obsolete)
Comment 19 Gerry 2015-06-08 15:29:58 UTC
Bug/enhancement request still valid for Version: 4.4.2.2
Build-ID: 40m0(Build:2), Gebietsschema: de_DE
Comment 20 Maxim Monastirsky 2015-11-11 22:40:52 UTC
*** Bug 67341 has been marked as a duplicate of this bug. ***
Comment 21 Maxim Monastirsky 2015-11-11 23:04:31 UTC
*** Bug 95756 has been marked as a duplicate of this bug. ***
Comment 22 Robinson Tryon (qubit) 2015-12-13 11:20:53 UTC Comment hidden (obsolete)
Comment 23 Gerry 2016-05-01 08:04:32 UTC
@Gülşah: I felt free to add you to this bug. I have see that you worked on the drawing tools of Calc. This bug here is also related to the drawing features of Calc. It refers to a bug related to Bezier lines and particularly the "add points to line" feature.
Comment 24 Gülşah Köse 2017-06-05 07:57:17 UTC
@Gerry Added my list. Thanks let me know.
Comment 25 Vikas Mahato 2018-01-02 08:38:27 UTC
It seems that @Rachit is not working on this bug. Can I work on this one?
Comment 26 Yousuf Philips (jay) (retired) 2018-01-03 15:18:54 UTC
So the main issue is that the Calc doesnt have the Edit Points toolbar in View > Toolbars, so I assume all that is needed to be done is to

1. copy bezierobjectbar.xml from writer[1] into calc

2. copy the toolbar entry from writer's window state file[2] into calc's window state file[3]

[1] https://opengrok.libreoffice.org/xref/core/sw/uiconfig/swriter/toolbar/bezierobjectbar.xml

[2] https://opengrok.libreoffice.org/xref/core/officecfg/registry/data/org/openoffice/Office/UI/WriterWindowState.xcu#312

[3] https://opengrok.libreoffice.org/xref/core/officecfg/registry/data/org/openoffice/Office/UI/CalcWindowState.xcu
Comment 27 Vikas Mahato 2018-01-03 15:54:13 UTC
@Yousuf Thanks! That helps a lot.
Comment 28 Vikas Mahato 2018-01-06 07:10:32 UTC
I copied https://opengrok.libreoffice.org/xref/core/sw/uiconfig/swriter/toolbar/bezierobjectbar.xml to core/sc/uiconfig/scalc/toolbar/bezierobjectbar.xml and edited https://opengrok.libreoffice.org/xref/core/officecfg/registry/data/org/openoffice/Office/UI/CalcWind... Here is the diff of CalcWindowState.xcu https://pastebin.com/SZ796WZB However I still cannot see ‘Edit Points’ option in View >Toolbars

Any suggestions?
Comment 29 Yousuf Philips (jay) (retired) 2018-01-06 21:31:18 UTC
(In reply to Vikas Mahato from comment #28)
> Any suggestions?

You'd likely also need to add it into UIConfig_scalc.mk[1] like UIConfig_swriter.mk[2].

[1] https://opengrok.libreoffice.org/xref/core/sc/UIConfig_scalc.mk

[2] https://opengrok.libreoffice.org/xref/core/sw/UIConfig_swriter.mk#43
Comment 30 Vikas Mahato 2018-01-08 07:00:42 UTC
Yes, the 'Edit Points' option and bezierobjectbar are now visible. I also saw that the code for the functionality of bezierobjectbar lives in beziersh.cxx[1]. However a corresponding uibase folder does not exist in calc. How should I proceed?

[1] https://opengrok.libreoffice.org/xref/core/sw/source/uibase/shells/beziersh.cxx
Comment 31 Vikas Mahato 2018-01-08 07:02:08 UTC Comment hidden (obsolete)
Comment 32 Yousuf Philips (jay) (retired) 2018-01-08 14:39:49 UTC
(In reply to Vikas Mahato from comment #30)
> Yes, the 'Edit Points' option and bezierobjectbar are now visible.

Great. Submit the patch to gerrit for review.

> I also
> saw that the code for the functionality of bezierobjectbar lives in
> beziersh.cxx[1]. However a corresponding uibase folder does not exist in
> calc. How should I proceed?

beziersh.cxx isnt available in impress and draw, so likely its also not needed for calc. If the toolbar functions fine, then likely there isnt anything else to be done. Beyond this a dev would have to give input on what else is needed.

Maxim, Gulsah: thoughts.
Comment 33 Vikas Mahato 2018-01-08 15:36:29 UTC
(In reply to Yousuf Philips (jay) from comment #32)
> Great. Submit the patch to gerrit for review.

I have submitted a patch
https://gerrit.libreoffice.org/47604
Comment 34 Yousuf Philips (jay) (retired) 2018-01-08 16:28:03 UTC
(In reply to Vikas Mahato from comment #33)
> I have submitted a patch
> https://gerrit.libreoffice.org/47604

Guess more work is needed as clicking the button doesnt show/hide the contextual toolbar and the buttons on the toolbar dont get activated when on an appropriate drawing object.
Comment 35 Vikas Mahato 2018-01-08 16:30:51 UTC
(In reply to Yousuf Philips (jay) from comment #34)

> Guess more work is needed as clicking the button doesnt show/hide the
> contextual toolbar and the buttons on the toolbar dont get activated when on
> an appropriate drawing object.

Yes. I am unable to find the corresponding code in writer. Can you give me any pointers or docs which I can use to find how it works in writer?
Comment 36 Gerry 2018-02-11 14:35:27 UTC
@Vikas: Thank you very much for working on this bug. This is highly appreciated.

Has there been any progress since January? I have seen that there is an unanswered question on https://gerrit.libreoffice.org/#/c/47604/
Comment 37 Vikas Mahato 2018-02-12 02:06:21 UTC
@Gerry: Sorry for the delay but I was a bit occupied with college. I'll still be continuing on the bug as I am free now. A few pointers on how to proceed further would be of immense help and would speed up the process of getting the patch ready.
Comment 38 Gerry 2018-02-12 08:07:18 UTC
Hi Eike, I felt free to add you to this bug. Vikas works on this bug, nut looks for code pointers (comment 35 and comment 37). You know the Calc code and also commented the gerrit commit https://gerrit.libreoffice.org/#/c/47604/ 
Thanks
Comment 39 Eike Rathke 2018-02-12 16:55:15 UTC
Well I commented on it because it touches Calc source.
Seeing that the entire implementation is missing we should first have an implementation before activating the UI. So, Calc probably needs a shell mode similar to Writer's SwBezierShell, to implement the GetState() and Execute() functions at that calls the SdrView functions, which gets switched to/from when Edit Points is activated/deactivated.

Maybe to be derived from ScDrawShell, see sc/source/ui/inc/*sh.hxx and implementation files for examples, not sure, maybe it's already sufficient to obtain the current view's SdrView to work with.
Comment 40 Vikas Mahato 2018-02-13 05:51:32 UTC
(In reply to Eike Rathke from comment #39)
> Well I commented on it because it touches Calc source.
> Seeing that the entire implementation is missing we should first have an
> implementation before activating the UI. So, Calc probably needs a shell
> mode similar to Writer's SwBezierShell, to implement the GetState() and
> Execute() functions at that calls the SdrView functions, which gets switched
> to/from when Edit Points is activated/deactivated.
> 
> Maybe to be derived from ScDrawShell, see sc/source/ui/inc/*sh.hxx and
> implementation files for examples, not sure, maybe it's already sufficient
> to obtain the current view's SdrView to work with.

That means I should try to implement a ScBezierShell similar to SwBezierShell? Is that right?
Comment 41 Eike Rathke 2018-02-13 14:07:29 UTC
(In reply to Vikas Mahato from comment #40)
> That means I should try to implement a ScBezierShell similar to
> SwBezierShell? Is that right?
Probably. Note that some of that functionality and slot binding is specific to Writer, you need to figure out if and how details are available in Calc. You'll also need to define the slots in a corresponding sc/sdi/beziersh.sdi
Comment 42 Vikas Mahato 2018-02-19 06:17:34 UTC
I can see in sw that the header for Bezier shell is located in 

[1] https://opengrok.libreoffice.org/xref/core/sw/source/uibase/inc/beziersh.hxx
and its definition in 

[2] https://opengrok.libreoffice.org/xref/core/sw/source/uibase/shells/beziersh.cxx

I can't find the uibase folder in sc and am wondering if calc follows a different directory structure from sw? Also should I create 
sc/source/uibase/inc and sc/source/uibase/shells ?
Comment 43 Eike Rathke 2018-02-20 10:45:57 UTC
You'll find that in Calc all shells except the ScDocShell are under either sc/source/ui/view/ or the drawing layer related ones under sc/source/ui/drawfunc/, so implementation should go to sc/source/ui/drawfunc/beziersh.cxx and the header file sc/source/ui/inc/beziersh.hxx
Comment 44 Vikas Mahato 2018-02-23 19:41:57 UTC
SwBezierShell inherits from SwBaseShell defined in 

https://opengrok.libreoffice.org/xref/core/sw/source/uibase/inc/basesh.hxx

which in turn inherits from SfxShell.


I have added sc/source/ui/inc/beziersh.hxx but I think here we can directly inherit from SfxShell

Here is a pastebin link of beziersh.hxx for calc https://pastebin.com/jcknZPD5

Also I cannot find a class ScView which coressponds to SwView. Can ScViewData be used in its place?
Comment 45 Gerry 2018-03-16 19:36:42 UTC
Hi Vikas, I just wanted to ask you whether you are still working on https://gerrit.libreoffice.org/#/c/47604/ ? 

Or did you encounter any technical problems fixing the bug? Did you get stuck on anything? 

Thanks!
Comment 46 Vikas Mahato 2018-03-17 05:28:49 UTC
Hi Gerry,
I do have a query. Please refer to Comment 44

>I have added sc/source/ui/inc/beziersh.hxx but I think here we can directly inherit from SfxShell

Is this correct?

>Also I cannot find a class ScView which coressponds to SwView. Can ScViewData be used in its place?

Also I have been exploring the libreoffice codebase for GSoC and hence was not able to give enough time. I plan to continue on this after 27 March till 23 April fulltime on this bug. Sorry for the delay and inconvenience caused.
Comment 47 Gerry 2018-03-17 10:34:53 UTC
Hi Vikas,

@Eike Rathke : Concerning your questions in comment 44 and comment 46, I hope Eike can answer.

> Also I have been exploring the libreoffice codebase for GSoC and hence was
> not able to give enough time. I plan to continue on this after 27 March till
> 23 April fulltime on this bug. Sorry for the delay and inconvenience caused.

You are voluntarily working on this bug, so no need to say sorry. Many thanks in any case. I wish you good luck with your GSoC application!
Comment 48 Vikas Mahato 2018-04-01 13:21:44 UTC
(In reply to Eike Rathke from comment #39)

> Maybe to be derived from ScDrawShell, see sc/source/ui/inc/*sh.hxx and
> implementation files for examples, not sure, maybe it's already sufficient
> to obtain the current view's SdrView to work with.

Does this mean ScBezierShell should be derived from ScDrawShell like SwBezierShell has been derived from SwBaseShell?
Comment 49 Vikas Mahato 2018-04-01 13:48:44 UTC
(In reply to Eike Rathke from comment #41)
> (In reply to Vikas Mahato from comment #40)
> Probably. Note that some of that functionality and slot binding is specific
> to Writer, you need to figure out if and how details are available in Calc.
> You'll also need to define the slots in a corresponding sc/sdi/beziersh.sdi

Also while declaring the slot bindngs I came across 

DisableFlags="SfxDisableFlags::SwOnProtectedCursor";

However https://opengrok.libreoffice.org/xref/core/include/sfx2/shell.hxx does not have a corresponding ScOnProtectedCursor. Should I create one?
Comment 50 Xisco Faulí 2018-07-02 23:04:49 UTC
Dear Vikas Mahato,
This bug has been in ASSIGNED status for more than 3 months without any
activity. Resetting it to NEW.
Please assigned it back to yourself if you're still working on this.