On Wed, Mar 19, 2008 at 12:33:20PM -0400, Richard Heck wrote:
> Stefan Schimanski wrote:
>> Am 19.03.2008 um 17:11 schrieb Richard Heck:
>>>
>>> So, it seems to me that fixing "our most embarrassing bug" is going to 
>>> require doing something that maybe ought to have been done before, 
>>> namely, introducing an InsetTableCell that will contain a pointer (or 
>>> reference) to the associated CellData. Doing that much is near 
>>> trivial---InsetTableCell itself will override but a handful of 
>>> InsetText's methods---but I'm guessing this pointer will need updating 
>>> whenever the cell is copied or, at least, whenever the CellData is 
>>> copied. So one possibility here would be to write copy (and assignment?) 
>>> constructors for CellData. Is there any easier way to do this than 
>>> manually to copy all of the member data?
>>>
>>> Here's another possibility. s/CellData/CellInfo/g, and then:
>>> class CellInfo {
>>> CellData cell_data_;
>>> InsetTableCell itc_;
>>> CellInfo(CellInfo const & ci) {
>>> cell_data_ = ci.cell_data;
>>> itc_ = ci.itc_;
>>> itc_.cellDataPtr = cell_data_;
>>> }
>>> etc.
>>> }
>>> A handful of other changes, too, of course, but the idea obviously is to 
>>> wrap the data and associated inset in the CellInfo class and then deal 
>>> with the copy constructor more easily.
>>
>> Will the InsetTableCell show up in the cursor as another slice? Or is it 
>> just to get some functionality from InsetText?
>>
> Right now, each cell has an associated InsetText that contains the cell's 
> data. It's a member of CellData, and the table itself represents its cells 
> as a vector<CellData>. So not that much would actually be changing in the 
> code; the idea is just to replace the InsetText that is already there with 
> an InsetTableCell that would contain a pointer back to the associated 
> CellData, so we can find out, in particular, whether our width has been 
> explicitly set or is still default.

Could this 'InsetTableCell' just be an extended InsetText containg the
other data members of the current CellData?

Andre'

Reply via email to