changes to selection code to stop a never ending loop
This commit is contained in:
@@ -165,6 +165,7 @@ private:
|
|||||||
|
|
||||||
|
|
||||||
void setAnchorFocusRange(PRInt32 aIndex); //pass in index into rangelist
|
void setAnchorFocusRange(PRInt32 aIndex); //pass in index into rangelist
|
||||||
|
NS_IMETHOD selectFrames(nsIContentIterator *aInnerIter, nsIContent *aContent, nsIDOMRange *aRange, PRBool aFlags);
|
||||||
NS_IMETHOD selectFrames(nsIDOMRange *aRange, PRBool aSelect);
|
NS_IMETHOD selectFrames(nsIDOMRange *aRange, PRBool aSelect);
|
||||||
|
|
||||||
NS_IMETHOD FixupSelectionPoints(nsIDOMRange *aRange, nsDirection *aDir, PRBool *aFixupState);
|
NS_IMETHOD FixupSelectionPoints(nsIDOMRange *aRange, nsDirection *aDir, PRBool *aFixupState);
|
||||||
@@ -837,6 +838,7 @@ nsRangeList::HandleKeyEvent(nsGUIEvent *aGuiEvent)
|
|||||||
break;
|
break;
|
||||||
default :return NS_ERROR_FAILURE;
|
default :return NS_ERROR_FAILURE;
|
||||||
}
|
}
|
||||||
|
pos.mPreferLeft = mHint;
|
||||||
if (NS_SUCCEEDED(result) && NS_SUCCEEDED(frame->PeekOffset(&pos)) && pos.mResultContent)
|
if (NS_SUCCEEDED(result) && NS_SUCCEEDED(frame->PeekOffset(&pos)) && pos.mResultContent)
|
||||||
result = TakeFocus(pos.mResultContent, pos.mContentOffset, pos.mContentOffset, keyEvent->isShift, PR_FALSE);
|
result = TakeFocus(pos.mResultContent, pos.mContentOffset, pos.mContentOffset, keyEvent->isShift, PR_FALSE);
|
||||||
if (NS_SUCCEEDED(result))
|
if (NS_SUCCEEDED(result))
|
||||||
@@ -1654,6 +1656,41 @@ nsDOMSelection::GetPrimaryFrameForFocusNode(nsIFrame **aReturnFrame)
|
|||||||
return NS_ERROR_FAILURE;
|
return NS_ERROR_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//select all content children of aContent
|
||||||
|
NS_IMETHODIMP
|
||||||
|
nsDOMSelection::selectFrames(nsIContentIterator *aInnerIter, nsIContent *aContent, nsIDOMRange *aRange, PRBool aFlags)
|
||||||
|
{
|
||||||
|
nsresult result = aInnerIter->Init(aContent);
|
||||||
|
nsIFrame *frame;
|
||||||
|
if (NS_SUCCEEDED(result))
|
||||||
|
{
|
||||||
|
nsCOMPtr<nsIContent> innercontent;
|
||||||
|
while (NS_COMFALSE == aInnerIter->IsDone())
|
||||||
|
{
|
||||||
|
result = aInnerIter->CurrentNode(getter_AddRefs(innercontent));
|
||||||
|
if (NS_FAILED(result) || !innercontent)
|
||||||
|
continue;
|
||||||
|
result = mRangeList->GetTracker()->GetPrimaryFrameFor(innercontent, &frame);
|
||||||
|
if (NS_SUCCEEDED(result) && frame)
|
||||||
|
frame->SetSelected(aRange,aFlags,eSpreadDown);//spread from here to hit all frames in flow
|
||||||
|
result = aInnerIter->Next();
|
||||||
|
if (NS_FAILED(result))
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
#if 0
|
||||||
|
result = mRangeList->GetTracker()->GetPrimaryFrameFor(content, &frame);
|
||||||
|
if (NS_SUCCEEDED(result) && frame)
|
||||||
|
frame->SetSelected(aRange,aFlags,eSpreadDown);//spread from here to hit all frames in flow
|
||||||
|
#endif
|
||||||
|
return NS_OK;
|
||||||
|
}
|
||||||
|
return NS_ERROR_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//the idea of this helper method is to select, deselect "top to bottom" traversing through the frames
|
//the idea of this helper method is to select, deselect "top to bottom" traversing through the frames
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
nsDOMSelection::selectFrames(nsIDOMRange *aRange, PRBool aFlags)
|
nsDOMSelection::selectFrames(nsIDOMRange *aRange, PRBool aFlags)
|
||||||
@@ -1693,38 +1730,13 @@ nsDOMSelection::selectFrames(nsIDOMRange *aRange, PRBool aFlags)
|
|||||||
}
|
}
|
||||||
//end start content
|
//end start content
|
||||||
result = iter->First();
|
result = iter->First();
|
||||||
if (NS_SUCCEEDED(result))
|
while (NS_SUCCEEDED(result) && NS_COMFALSE == iter->IsDone())
|
||||||
{
|
{
|
||||||
while (NS_COMFALSE == iter->IsDone())
|
result = iter->CurrentNode(getter_AddRefs(content));
|
||||||
{
|
if (NS_FAILED(result) || !content)
|
||||||
result = iter->CurrentNode(getter_AddRefs(content));
|
return result;
|
||||||
if (NS_FAILED(result) || !content)
|
selectFrames(inneriter, content, aRange, aFlags);
|
||||||
return result;
|
result = iter->Next();
|
||||||
#if OLD_SELECTION
|
|
||||||
result = inneriter->Init(content);
|
|
||||||
if (NS_SUCCEEDED(result))
|
|
||||||
{
|
|
||||||
nsCOMPtr<nsIContent> innercontent;
|
|
||||||
while (NS_COMFALSE == inneriter->IsDone())
|
|
||||||
{
|
|
||||||
result = iter->CurrentNode(getter_AddRefs(innercontent));
|
|
||||||
if (NS_FAILED(result) || !innercontent)
|
|
||||||
continue;
|
|
||||||
result = mRangeList->GetTracker()->GetPrimaryFrameFor(innercontent, &frame);
|
|
||||||
if (NS_SUCCEEDED(result) && frame)
|
|
||||||
frame->SetSelected(aRange,aFlags,eSpreadDown);//spread from here to hit all frames in flow
|
|
||||||
result = inneriter->Next();
|
|
||||||
if (NS_FAILED(result))
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
result = mRangeList->GetTracker()->GetPrimaryFrameFor(content, &frame);
|
|
||||||
if (NS_SUCCEEDED(result) && frame)
|
|
||||||
frame->SetSelected(aRange,aFlags,eSpreadDown);//spread from here to hit all frames in flow
|
|
||||||
#endif
|
|
||||||
result = iter->Next();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
//we must now do the last one if it is not the same as the first
|
//we must now do the last one if it is not the same as the first
|
||||||
if (FetchEndParent(aRange) != FetchStartParent(aRange))
|
if (FetchEndParent(aRange) != FetchStartParent(aRange))
|
||||||
|
|||||||
@@ -1690,7 +1690,8 @@ nsFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSpread)
|
|||||||
{
|
{
|
||||||
if (aSelected && ParentDisablesSelection())
|
if (aSelected && ParentDisablesSelection())
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
nsresult rv;
|
/* nsresult rv;
|
||||||
|
|
||||||
if (eSpreadDown == aSpread){
|
if (eSpreadDown == aSpread){
|
||||||
nsIFrame* kid;
|
nsIFrame* kid;
|
||||||
rv = FirstChild(nsnull, &kid);
|
rv = FirstChild(nsnull, &kid);
|
||||||
@@ -1701,6 +1702,7 @@ nsFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSpread)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
nsFrameState frameState;
|
nsFrameState frameState;
|
||||||
GetFrameState(&frameState);
|
GetFrameState(&frameState);
|
||||||
PRBool isSelected = ((frameState & NS_FRAME_SELECTED_CONTENT) == NS_FRAME_SELECTED_CONTENT);
|
PRBool isSelected = ((frameState & NS_FRAME_SELECTED_CONTENT) == NS_FRAME_SELECTED_CONTENT);
|
||||||
@@ -1718,6 +1720,7 @@ nsFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSpread)
|
|||||||
GetRect(frameRect);
|
GetRect(frameRect);
|
||||||
nsRect rect(0, 0, frameRect.width, frameRect.height);
|
nsRect rect(0, 0, frameRect.width, frameRect.height);
|
||||||
Invalidate(rect, PR_FALSE);
|
Invalidate(rect, PR_FALSE);
|
||||||
|
#if 0
|
||||||
if (aRange) {
|
if (aRange) {
|
||||||
//lets see if the range contains us, if so we must redraw!
|
//lets see if the range contains us, if so we must redraw!
|
||||||
nsCOMPtr<nsIDOMNode> endNode;
|
nsCOMPtr<nsIDOMNode> endNode;
|
||||||
@@ -1744,6 +1747,7 @@ nsFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSpread)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1791,10 +1791,13 @@ nsTextFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSpread)
|
|||||||
nsCOMPtr<nsIDOMNode> thisNode;
|
nsCOMPtr<nsIDOMNode> thisNode;
|
||||||
thisNode = do_QueryInterface(content);
|
thisNode = do_QueryInterface(content);
|
||||||
|
|
||||||
if (thisNode == startNode){
|
if (thisNode == startNode)
|
||||||
if ((mContentOffset + mContentLength) >= startOffset){
|
{
|
||||||
|
if ((mContentOffset + mContentLength) >= startOffset)
|
||||||
|
{
|
||||||
found = PR_TRUE;
|
found = PR_TRUE;
|
||||||
if (thisNode == endNode){ //special case
|
if (thisNode == endNode)
|
||||||
|
{ //special case
|
||||||
if (endOffset == startOffset) //no need to redraw since drawing takes place with cursor
|
if (endOffset == startOffset) //no need to redraw since drawing takes place with cursor
|
||||||
found = PR_FALSE;
|
found = PR_FALSE;
|
||||||
|
|
||||||
@@ -1803,16 +1806,19 @@ nsTextFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSpread)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (thisNode == endNode){
|
else if (thisNode == endNode)
|
||||||
|
{
|
||||||
if (mContentOffset < endOffset)
|
if (mContentOffset < endOffset)
|
||||||
found = PR_TRUE;
|
found = PR_TRUE;
|
||||||
else
|
else
|
||||||
|
{
|
||||||
found = PR_FALSE;
|
found = PR_FALSE;
|
||||||
|
wholeContentFound = PR_TRUE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else//this WHOLE content is selected.
|
else
|
||||||
{
|
{
|
||||||
found = PR_TRUE;
|
found = PR_TRUE;
|
||||||
wholeContentFound = PR_TRUE;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -1843,13 +1849,17 @@ nsTextFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSpread)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
frame = GetNextInFlow();
|
frame = GetNextInFlow();
|
||||||
while (frame){
|
if (!wholeContentFound)
|
||||||
frame->SetSelected(aRange,aSelected,eSpreadNone);
|
{
|
||||||
result = frame->GetNextInFlow(&frame);
|
while (frame){
|
||||||
if (NS_FAILED(result))
|
frame->SetSelected(aRange,aSelected,eSpreadNone);
|
||||||
break;
|
result = frame->GetNextInFlow(&frame);
|
||||||
|
if (NS_FAILED(result))
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (wholeContentFound)//we need to talk to siblings as well as flow
|
#if 0
|
||||||
|
else //we need to talk to siblings as well as flow
|
||||||
{
|
{
|
||||||
nsIFrame *frame;
|
nsIFrame *frame;
|
||||||
result = GetNextSibling(&frame);
|
result = GetNextSibling(&frame);
|
||||||
@@ -1860,6 +1870,7 @@ nsTextFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSpread)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1690,7 +1690,8 @@ nsFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSpread)
|
|||||||
{
|
{
|
||||||
if (aSelected && ParentDisablesSelection())
|
if (aSelected && ParentDisablesSelection())
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
nsresult rv;
|
/* nsresult rv;
|
||||||
|
|
||||||
if (eSpreadDown == aSpread){
|
if (eSpreadDown == aSpread){
|
||||||
nsIFrame* kid;
|
nsIFrame* kid;
|
||||||
rv = FirstChild(nsnull, &kid);
|
rv = FirstChild(nsnull, &kid);
|
||||||
@@ -1701,6 +1702,7 @@ nsFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSpread)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
nsFrameState frameState;
|
nsFrameState frameState;
|
||||||
GetFrameState(&frameState);
|
GetFrameState(&frameState);
|
||||||
PRBool isSelected = ((frameState & NS_FRAME_SELECTED_CONTENT) == NS_FRAME_SELECTED_CONTENT);
|
PRBool isSelected = ((frameState & NS_FRAME_SELECTED_CONTENT) == NS_FRAME_SELECTED_CONTENT);
|
||||||
@@ -1718,6 +1720,7 @@ nsFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSpread)
|
|||||||
GetRect(frameRect);
|
GetRect(frameRect);
|
||||||
nsRect rect(0, 0, frameRect.width, frameRect.height);
|
nsRect rect(0, 0, frameRect.width, frameRect.height);
|
||||||
Invalidate(rect, PR_FALSE);
|
Invalidate(rect, PR_FALSE);
|
||||||
|
#if 0
|
||||||
if (aRange) {
|
if (aRange) {
|
||||||
//lets see if the range contains us, if so we must redraw!
|
//lets see if the range contains us, if so we must redraw!
|
||||||
nsCOMPtr<nsIDOMNode> endNode;
|
nsCOMPtr<nsIDOMNode> endNode;
|
||||||
@@ -1744,6 +1747,7 @@ nsFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSpread)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1791,10 +1791,13 @@ nsTextFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSpread)
|
|||||||
nsCOMPtr<nsIDOMNode> thisNode;
|
nsCOMPtr<nsIDOMNode> thisNode;
|
||||||
thisNode = do_QueryInterface(content);
|
thisNode = do_QueryInterface(content);
|
||||||
|
|
||||||
if (thisNode == startNode){
|
if (thisNode == startNode)
|
||||||
if ((mContentOffset + mContentLength) >= startOffset){
|
{
|
||||||
|
if ((mContentOffset + mContentLength) >= startOffset)
|
||||||
|
{
|
||||||
found = PR_TRUE;
|
found = PR_TRUE;
|
||||||
if (thisNode == endNode){ //special case
|
if (thisNode == endNode)
|
||||||
|
{ //special case
|
||||||
if (endOffset == startOffset) //no need to redraw since drawing takes place with cursor
|
if (endOffset == startOffset) //no need to redraw since drawing takes place with cursor
|
||||||
found = PR_FALSE;
|
found = PR_FALSE;
|
||||||
|
|
||||||
@@ -1803,16 +1806,19 @@ nsTextFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSpread)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (thisNode == endNode){
|
else if (thisNode == endNode)
|
||||||
|
{
|
||||||
if (mContentOffset < endOffset)
|
if (mContentOffset < endOffset)
|
||||||
found = PR_TRUE;
|
found = PR_TRUE;
|
||||||
else
|
else
|
||||||
|
{
|
||||||
found = PR_FALSE;
|
found = PR_FALSE;
|
||||||
|
wholeContentFound = PR_TRUE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else//this WHOLE content is selected.
|
else
|
||||||
{
|
{
|
||||||
found = PR_TRUE;
|
found = PR_TRUE;
|
||||||
wholeContentFound = PR_TRUE;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -1843,13 +1849,17 @@ nsTextFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSpread)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
frame = GetNextInFlow();
|
frame = GetNextInFlow();
|
||||||
while (frame){
|
if (!wholeContentFound)
|
||||||
frame->SetSelected(aRange,aSelected,eSpreadNone);
|
{
|
||||||
result = frame->GetNextInFlow(&frame);
|
while (frame){
|
||||||
if (NS_FAILED(result))
|
frame->SetSelected(aRange,aSelected,eSpreadNone);
|
||||||
break;
|
result = frame->GetNextInFlow(&frame);
|
||||||
|
if (NS_FAILED(result))
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (wholeContentFound)//we need to talk to siblings as well as flow
|
#if 0
|
||||||
|
else //we need to talk to siblings as well as flow
|
||||||
{
|
{
|
||||||
nsIFrame *frame;
|
nsIFrame *frame;
|
||||||
result = GetNextSibling(&frame);
|
result = GetNextSibling(&frame);
|
||||||
@@ -1860,6 +1870,7 @@ nsTextFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSpread)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -269,6 +269,7 @@ NS_IMETHODIMP
|
|||||||
nsTableCellFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSpread)
|
nsTableCellFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSpread)
|
||||||
{
|
{
|
||||||
//traverse through children unselect tables
|
//traverse through children unselect tables
|
||||||
|
#if 0
|
||||||
if ((aSpread == eSpreadDown)){
|
if ((aSpread == eSpreadDown)){
|
||||||
nsIFrame* kid;
|
nsIFrame* kid;
|
||||||
FirstChild(nsnull, &kid);
|
FirstChild(nsnull, &kid);
|
||||||
@@ -278,7 +279,9 @@ nsTableCellFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSp
|
|||||||
kid->GetNextSibling(&kid);
|
kid->GetNextSibling(&kid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return NS_OK;//nsFrame::SetSelected(aRange,aSelected,eSpreadNone);
|
//return nsFrame::SetSelected(aRange,aSelected,eSpreadNone);
|
||||||
|
#endif
|
||||||
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
PRIntn
|
PRIntn
|
||||||
|
|||||||
@@ -1962,6 +1962,7 @@ NS_METHOD nsTableFrame::Paint(nsIPresContext& aPresContext,
|
|||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
nsTableFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSpread)
|
nsTableFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSpread)
|
||||||
{
|
{
|
||||||
|
#if 0
|
||||||
//traverse through children unselect tables
|
//traverse through children unselect tables
|
||||||
if ((aSpread == eSpreadDown)){
|
if ((aSpread == eSpreadDown)){
|
||||||
nsIFrame* kid;
|
nsIFrame* kid;
|
||||||
@@ -1972,7 +1973,9 @@ nsTableFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSpread
|
|||||||
rv = kid->GetNextSibling(&kid);
|
rv = kid->GetNextSibling(&kid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return NS_OK;//nsFrame::SetSelected(aRange,aSelected,eSpreadNone);
|
#endif
|
||||||
|
return NS_OK;//return nsFrame::SetSelected(aRange,aSelected,eSpreadNone);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PRBool nsTableFrame::ParentDisablesSelection() const //override default behavior
|
PRBool nsTableFrame::ParentDisablesSelection() const //override default behavior
|
||||||
|
|||||||
@@ -269,6 +269,7 @@ NS_IMETHODIMP
|
|||||||
nsTableCellFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSpread)
|
nsTableCellFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSpread)
|
||||||
{
|
{
|
||||||
//traverse through children unselect tables
|
//traverse through children unselect tables
|
||||||
|
#if 0
|
||||||
if ((aSpread == eSpreadDown)){
|
if ((aSpread == eSpreadDown)){
|
||||||
nsIFrame* kid;
|
nsIFrame* kid;
|
||||||
FirstChild(nsnull, &kid);
|
FirstChild(nsnull, &kid);
|
||||||
@@ -278,7 +279,9 @@ nsTableCellFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSp
|
|||||||
kid->GetNextSibling(&kid);
|
kid->GetNextSibling(&kid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return NS_OK;//nsFrame::SetSelected(aRange,aSelected,eSpreadNone);
|
//return nsFrame::SetSelected(aRange,aSelected,eSpreadNone);
|
||||||
|
#endif
|
||||||
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
PRIntn
|
PRIntn
|
||||||
|
|||||||
@@ -1962,6 +1962,7 @@ NS_METHOD nsTableFrame::Paint(nsIPresContext& aPresContext,
|
|||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
nsTableFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSpread)
|
nsTableFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSpread)
|
||||||
{
|
{
|
||||||
|
#if 0
|
||||||
//traverse through children unselect tables
|
//traverse through children unselect tables
|
||||||
if ((aSpread == eSpreadDown)){
|
if ((aSpread == eSpreadDown)){
|
||||||
nsIFrame* kid;
|
nsIFrame* kid;
|
||||||
@@ -1972,7 +1973,9 @@ nsTableFrame::SetSelected(nsIDOMRange *aRange,PRBool aSelected, nsSpread aSpread
|
|||||||
rv = kid->GetNextSibling(&kid);
|
rv = kid->GetNextSibling(&kid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return NS_OK;//nsFrame::SetSelected(aRange,aSelected,eSpreadNone);
|
#endif
|
||||||
|
return NS_OK;//return nsFrame::SetSelected(aRange,aSelected,eSpreadNone);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PRBool nsTableFrame::ParentDisablesSelection() const //override default behavior
|
PRBool nsTableFrame::ParentDisablesSelection() const //override default behavior
|
||||||
|
|||||||
Reference in New Issue
Block a user