Fix for frames not resizing.

git-svn-id: svn://10.0.0.236/trunk@22676 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
joki%netscape.com
1999-03-03 01:59:50 +00:00
parent 614b3fd83c
commit c41dbba1c6
5 changed files with 24 additions and 0 deletions

View File

@@ -1341,6 +1341,9 @@ nsHTMLFramesetFrame::StartMouseDrag(nsIPresContext& aPresContext, nsHTMLFrameset
NS_RELEASE(viewMan);
mDragger = aBorder;
//XXX This should go away! Border should have own view instead
view->SetViewFlags(NS_VIEW_FLAG_DONT_CHECK_CHILDREN);
// can't set it to this event's point - it is not in framesetframe coords
mLastDragPoint.MoveTo(NULL_POINT_X, NULL_POINT_Y);
@@ -1444,6 +1447,8 @@ nsHTMLFramesetFrame::EndMouseDrag()
PRBool ignore;
viewMan->GrabMouseEvents(nsnull, ignore);
NS_RELEASE(viewMan);
//XXX This should go away! Border should have own view instead
view->ClearViewFlags(NS_VIEW_FLAG_DONT_CHECK_CHILDREN);
}
}
gDragInProgress = PR_FALSE;

View File

@@ -1341,6 +1341,9 @@ nsHTMLFramesetFrame::StartMouseDrag(nsIPresContext& aPresContext, nsHTMLFrameset
NS_RELEASE(viewMan);
mDragger = aBorder;
//XXX This should go away! Border should have own view instead
view->SetViewFlags(NS_VIEW_FLAG_DONT_CHECK_CHILDREN);
// can't set it to this event's point - it is not in framesetframe coords
mLastDragPoint.MoveTo(NULL_POINT_X, NULL_POINT_Y);
@@ -1444,6 +1447,8 @@ nsHTMLFramesetFrame::EndMouseDrag()
PRBool ignore;
viewMan->GrabMouseEvents(nsnull, ignore);
NS_RELEASE(viewMan);
//XXX This should go away! Border should have own view instead
view->ClearViewFlags(NS_VIEW_FLAG_DONT_CHECK_CHILDREN);
}
}
gDragInProgress = PR_FALSE;

View File

@@ -428,6 +428,13 @@ public:
*/
NS_IMETHOD SetViewFlags(PRInt32 aFlags) = 0;
/**
* Remove flags from view to allow customization of view behavior during
* event handling
* @param aFlags flags to be removed from view
*/
NS_IMETHOD ClearViewFlags(PRInt32 aFlags) = 0;
private:
NS_IMETHOD_(nsrefcnt) AddRef(void) = 0;
NS_IMETHOD_(nsrefcnt) Release(void) = 0;

View File

@@ -1296,6 +1296,12 @@ NS_IMETHODIMP nsView :: SetViewFlags(PRInt32 aFlags)
return NS_OK;
}
NS_IMETHODIMP nsView :: ClearViewFlags(PRInt32 aFlags)
{
mVFlags &= ~aFlags;
return NS_OK;
}
NS_IMETHODIMP nsView :: GetOffsetFromWidget(nscoord *aDx, nscoord *aDy, nsIWidget *&aWidget)
{
nsIView *ancestor;

View File

@@ -94,6 +94,7 @@ public:
NS_IMETHOD GetWidget(nsIWidget *&aWidget);
virtual void List(FILE* out = stdout, PRInt32 aIndent = 0) const;
NS_IMETHOD SetViewFlags(PRInt32 aFlags);
NS_IMETHOD ClearViewFlags(PRInt32 aFlags);
// Helper function to get the view that's associated with a widget
static nsIView* GetViewFor(nsIWidget* aWidget);