From: David C. <unc...@un...> - 2005-04-03 00:08:36
|
I'm trying to understand how the list_box_emulator example works as far as disabling the Insert and Delete buttons. There is a 'can_do_element_operation' in the sheet, and yet it is not referenced anywhere. It looks like the buttons are being disabled because they are bound to 'insert/delete_params' which both reference 'selection' which is referenced in the invariant, but I still don't quite follow how that works. What exactly is the connection between 'insert/delete_params' and 'can_do_element_operation'? Is it just the fact that 'selection' is in the definition of 'can_do_element_operation'? -- David Catmull unc...@un... http://www.uncommonplace.com/ |
From: Ralph T. <ra...@gm...> - 2005-04-03 01:56:25
|
can_do_element_operation is in the invariant section, meaning that it should be true. I think what happens is: * When "selection == @item_end" the invariant can_do_element operation is not satisfied * "selection" caused to an invariant violation. * .._params are dictionaries, all of which reference "selection" * the buttons are bound to the .._params which contain a cell contributing to an invariant violation and are disabled. It seems like if a dictionary contains any cell which contributed to an invariant violation then anything bound to the dictionary is disabled. Ralph On Apr 2, 2005 4:08 PM, David Catmull <unc...@un...> wrote: > I'm trying to understand how the list_box_emulator example works as far > as disabling the Insert and Delete buttons. > > There is a 'can_do_element_operation' in the sheet, and yet it is not > referenced anywhere. It looks like the buttons are being disabled > because they are bound to 'insert/delete_params' which both reference > 'selection' which is referenced in the invariant, but I still don't > quite follow how that works. What exactly is the connection between > 'insert/delete_params' and 'can_do_element_operation'? Is it just the > fact that 'selection' is in the definition of > 'can_do_element_operation'? > > -- > David Catmull > unc...@un... > http://www.uncommonplace.com/ > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > Adobe-source-devel mailing list > Ado...@li... > https://lists.sourceforge.net/lists/listinfo/adobe-source-devel > |
From: Sean P. <sea...@ma...> - 2005-04-03 04:48:11
|
Correct! Adam tracks which values contribute to which other values through all operations - Any cell value contributing to an invariant is "poison". Any cell value derived from a poison value is invalid. Button right now are latches in a pipe (in the future, I want to change them to be latch controls, rather than the latch itself). A button receives a value and forwards it when clicked. If the value is invalid, the button is disabled. Other controls enable/disable depending on if the cell they are bound to was "considered" or not. Every interface cell has a priority, if the priority or value contributes, then the cell was considered. Right now, considered isn't tracked at as fine a granularity as contributing (priority is tracked at the sheet level). Sean On Apr 2, 2005, at 5:56 PM, Ralph Thomas wrote: > can_do_element_operation is in the invariant section, meaning that it > should be true. > > I think what happens is: > > * When "selection == @item_end" the invariant can_do_element > operation is not satisfied > * "selection" caused to an invariant violation. > * .._params are dictionaries, all of which reference "selection" > * the buttons are bound to the .._params which contain a cell > contributing to an invariant violation and are disabled. > > It seems like if a dictionary contains any cell which contributed to > an invariant violation then anything bound to the dictionary is > disabled. > > Ralph > > On Apr 2, 2005 4:08 PM, David Catmull <unc...@un...> > wrote: >> I'm trying to understand how the list_box_emulator example works as >> far >> as disabling the Insert and Delete buttons. >> >> There is a 'can_do_element_operation' in the sheet, and yet it is not >> referenced anywhere. It looks like the buttons are being disabled >> because they are bound to 'insert/delete_params' which both reference >> 'selection' which is referenced in the invariant, but I still don't >> quite follow how that works. What exactly is the connection between >> 'insert/delete_params' and 'can_do_element_operation'? Is it just the >> fact that 'selection' is in the definition of >> 'can_do_element_operation'? >> >> -- >> David Catmull >> unc...@un... >> http://www.uncommonplace.com/ >> >> ------------------------------------------------------- >> SF email is sponsored by - The IT Product Guide >> Read honest & candid reviews on hundreds of IT Products from real >> users. >> Discover which products truly live up to the hype. Start reading now. >> http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click >> _______________________________________________ >> Adobe-source-devel mailing list >> Ado...@li... >> https://lists.sourceforge.net/lists/listinfo/adobe-source-devel >> > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real > users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > Adobe-source-devel mailing list > Ado...@li... > https://lists.sourceforge.net/lists/listinfo/adobe-source-devel |