new table selection code drag inside and outside of tables with ease. added some overriding methods to nsTableCellFrame and nsTableFrame to make selection "draw" correctly for those containers.

git-svn-id: svn://10.0.0.236/trunk@33352 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
mjudge%netscape.com
1999-06-01 23:04:13 +00:00
parent 07a75789a0
commit 45583c2b3d
15 changed files with 812 additions and 193 deletions

View File

@@ -2320,7 +2320,7 @@ NS_IMETHODIMP
nsTableFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSpread)
{
//traverse through children unselect tables
if ((aSpread == eSpreadAcross) && aSelected){
if ((aSpread == eSpreadDown) && aSelected){
nsIFrame* kid;
nsresult rv = FirstChild(nsnull, &kid);
while (nsnull != kid) {
@@ -2329,9 +2329,18 @@ nsTableFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSpread
kid->GetNextSibling(&kid);
}
}
return nsFrame::SetSelected(aRange,aSelected,aSpread);
return nsFrame::SetSelected(aRange,aSelected,eSpreadNone);
}
PRBool nsTableFrame::ParentDisablesSelection() const //override default behavior
{
PRBool returnval;
if (NS_FAILED(GetSelected(&returnval)))
return PR_FALSE;
if (returnval)
return PR_TRUE;
return nsFrame::ParentDisablesSelection();
}
PRIntn
nsTableFrame::GetSkipSides() const