[cells-devel] c-formula and setf
Kenneth Tilton
kentilton at gmail.com
Sun Feb 15 17:48:53 UTC 2009
Bastian Müller wrote:
> Hi,
>
> I don't know if that has been discussed yet, but I've several use cases
> where I want to do sth. like that: A cell should be calculated by a
> formula if it isn't set to a value. I thought that's possible with
> (c-formula (:inputp t) ... ), which does calculate the slot by a formula
> and can be setf, but how is it possible to unset the setf value and let
> cells calculate it again?
>
> Example: A textbox is by default calculated by a formula. If the user
> enters sth. into it, that value is used. If the user clears the field of
> his input, the value should be calculated again.
Could you just have?:
(or (user-entered-value self)
(calculated-value self))
One thing not clear to me is how you know they first indicate they want
to enter a value and then communicate that they have decided against,
and those things really come into play.
Lemme know and I'll tell you how I would handle it.
Pretty much I would avoid SETF as much as possible and end up with
something still formulaic:
(if (user-owns-value self)
(editor-result self (key-input self))
(application-decides-value self))
>
> Maybe the c-formula ... approach is completely the wrong way or that's
> not possible at all. I've read the documentation and primer but couldn't
> find anything helpful. Sorry, I'm new to cells.
No problem. This is a common case where one really wants to think
procedurally and it gets to be a little fun thinking declaratively. But
really the interesting part is this change from user-owning to
application-owning mode, so lemme know your protocol for that and I will
do what I can.
btw, as Jakub suggested often it is easier to divide and conquer:
(or (user-value self)
(application-decided-value self))
...but I think you will end up with the same issue at some point of
needing to know what state the field is in, so tell me more and I'll
give it a shot.
cheers, ken
ps. might make a good use case. k
More information about the cells-devel
mailing list