Re: INDIRECT and real-time question



Jody Goldberg writes:
Sounds like your goal would be to create a 'RealTime monitor range'
and just blit the data back at regular intervals.  Implementation is
msotly trivial with 2 wrinkles.  How to handle queued updates while
editing, and the implications for undo/redo.

    - Do we want recalcs even while editing ?  The simplest solution
      is to say yes.  but I frankly have no idea if the system will
      support it.
  Right now my RTS(<symbol_list>, <field_list>, "out_cell") function
register callback for the pipe (like in sample datasource example)
and upon receiving new data uses sheet_cell_fetch()/sheet_cell_set_value() 
calls to update corresponding cells and then workbook_recalc()
to recalculate workbook.
  It will be nice to have a function like gnumeric_status() which
tells me what user edit some cell, so I should not update real-time cells,
but start/stop or enable/disable real-time button or menu item will
be fine. Nobody really wanted to have spreadsheet updated while editing
it. 

    - undo assumes that it is the only thing changing content.  So
      if you do an undoable operation in a real time cell then undo
      & redo _after_ an update the undo mechanism will restore the
      updated value, not the original typing.
  As far as I understand undo/redo does not "see" changes made though
the sheet_cell_set_value() calls, so it will undo only values typed in by user. 
Its fine with me and intuitive. I think there is no much sense to restore
real-time data to its previous state.

Merging in new ui is actually partially supported (bonobo build only
for now).  Have a look in the uihello plugin for an example.
Thanks for pointing to the example. I will try it after we finish 
switching from Solaris/i86 to Linux.

Pavel.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]