On Fri, 2011-11-04 at 22:10 +0100, Christoph Noack wrote: > Hi Kohei, all! > > A small disclaimer: currently there are so many topics at the same time, > that I have difficulties to follow all the mails ... so please bear with > me if I missed a comment from your side. > > > Am Donnerstag, den 03.11.2011, 12:01 -0400 schrieb Kohei Yoshida: > > Hi Christoph, > > > > On Thu, 2011-11-03 at 08:06 +0100, Christoph Noack wrote: > > > I assumed that because also Excel only provides to update one name or > > > range at a time. > > > > Ah! Well, this needs a bit more explanation, I suppose. In short, this > > assumption of yours is not entirely correct. > > Thanks for the explanation below ... I wanted to have a look at Excel > 2007 at work, since I don't have a version at home. So I have to rely on > your description, my brain and the documentation in the web. > Unfortunately, the information from the different sources seems to > differ ;-) > > Just to remember: The original question was, whether people do > experience bad performance, if only one range name is changed at once. > You told me "yes", so we need to offer a "change multiply names, then > apply the changes". I've asked why Excel can do this, since I understand > their implementation that way. > > So here we go ... > > > In Excel 2007 and up, the Name Manager dialog is in fact modal, and it > > launches a separate sub dialog to allow editing of individual names one > > at a time. > > An example of the Excel 2010 manage names dialog can be seen here: > http://media.wiley.com/Lux/10/209010.image0.jpg > > I understand it the following way ... adding / editing a single entry > launches a separate window that needs confirmation. It exists a shortcut > to change the expression - but that also needs confirmation via the > checkmark button. But, the manage names dialog itself is non-modal, > since it generally seems to allow working with the document. > > Only one exception: "You cannot use the Name Manager dialog box while > you are changing the contents of the cell." according: > http://office.microsoft.com/en-us/excel-help/define-and-use-names-in-formulas-HA010147120.aspx > > So, in general, the name manager is non-modal. > > > > Whether it updates the name directly in the model directly > > when it's updated in the dialog is unknown (since we don't know what > > Excel does internally), but because the main Name Manager dialog is > > modal, it won't perform re-calculation until that dialog is dismissed. > > What this means is that Excel's name manager dialog only performs > > re-calculation *once* even when you modify two or more names as long as > > you don't dismiss the main dialog between the editing of the names. > > If I understand the Excel help well enough, it works differently. The > documentation (see link above) mentions several times: "The Close button > only closes the Name Manager dialog box. It is not required to commit > changes that have already been made."
This only indicates that Excel updates the names directly in the model from the dialog. But that alone has nothing to do with the modality of the dialog, and when the re-calculation occurs, which is the heart of this performance discussion. I already indicated that this may be what Excel does in my previous post, and based on what the above help says that's indeed what Excel seems to do. However, I also indicated that, even if we decide to update the name directly in the model (which basically removes the possibility of canceling the changes, but I guess that's the trend we are following), we could still turn off auto re-calc temporarily before launching the dialog, then turning it back on after dismissing the dialog, to hold of re-calculation until the dialog is dismissed, as long as the dialog is modal. And, since Excel's dialog is modal, Excel can do exactly that, to hold of re-calc until the dialog is closed. > To me it seems that all the actions within the manage names dialog do > handle "one change" per time - whether it is a modal dialog, or the > expression field. That was my starting point to ask why Excel seems to > perform well enough for such a interaction design. Again, what we are primarily focusing on in this discussion is when to perform the re-calculation, not when to modify the names in the model. These two are closely related, but they are not the same thing. Excel updates the model one change at a time, but it doesn't perform re-calculation at every name update; it performs it only when the dialog is dismissed, which happens only once. The only reason it can do that is because the dialog is modal. I hope that makes sense. And Christoph, I sincerely hope that you will find the opportunity to play with Excel 2007 or 2010 to see what this functionality works in person, and see when and how often Excel performs re-calculation in relation to name updates. Otherwise we could go back and forth with this endless see-saw. All the best, Kohei -- Kohei Yoshida, LibreOffice hacker, Calc _______________________________________________ Libreoffice-ux-advise mailing list Libreoffice-ux-advise@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise