Removed 5 convenience functions from nsIFrame

This commit is contained in:
troy%netscape.com 1999-10-22 14:53:52 +00:00
parent 8f4ae7163a
commit f5ba346bdc
22 changed files with 70 additions and 204 deletions

View File

@ -560,12 +560,6 @@ public:
NS_IMETHOD GetNextInFlow(nsIFrame** aNextInFlow) const = 0;
NS_IMETHOD SetNextInFlow(nsIFrame*) = 0;
NS_IMETHOD AppendToFlow(nsIFrame* aAfterFrame) = 0;
NS_IMETHOD PrependToFlow(nsIFrame* aBeforeFrame) = 0;
NS_IMETHOD RemoveFromFlow() = 0;
NS_IMETHOD BreakFromPrevFlow() = 0;
NS_IMETHOD BreakFromNextFlow() = 0;
/**
* Accessor functions to get/set the associated view object
*/

View File

@ -4879,7 +4879,7 @@ nsBlockFrame::DoRemoveFrame(nsIPresContext* aPresContext,
nsSplittableType st;
aDeletedFrame->IsSplittable(st);
if (NS_FRAME_NOT_SPLITTABLE != st) {
aDeletedFrame->RemoveFromFlow();
nsSplittableFrame::RemoveFromFlow(aDeletedFrame);
}
#ifdef NOISY_REMOVE_FRAME
printf("DoRemoveFrame: prevLine=%p line=%p frame=",

View File

@ -4879,7 +4879,7 @@ nsBlockFrame::DoRemoveFrame(nsIPresContext* aPresContext,
nsSplittableType st;
aDeletedFrame->IsSplittable(st);
if (NS_FRAME_NOT_SPLITTABLE != st) {
aDeletedFrame->RemoveFromFlow();
nsSplittableFrame::RemoveFromFlow(aDeletedFrame);
}
#ifdef NOISY_REMOVE_FRAME
printf("DoRemoveFrame: prevLine=%p line=%p frame=",

View File

@ -4879,7 +4879,7 @@ nsBlockFrame::DoRemoveFrame(nsIPresContext* aPresContext,
nsSplittableType st;
aDeletedFrame->IsSplittable(st);
if (NS_FRAME_NOT_SPLITTABLE != st) {
aDeletedFrame->RemoveFromFlow();
nsSplittableFrame::RemoveFromFlow(aDeletedFrame);
}
#ifdef NOISY_REMOVE_FRAME
printf("DoRemoveFrame: prevLine=%p line=%p frame=",

View File

@ -442,7 +442,7 @@ nsContainerFrame::DeleteChildsNextInFlow(nsIPresContext& aPresContext,
}
// Disconnect the next-in-flow from the flow list
nextInFlow->BreakFromPrevFlow();
nsSplittableFrame::BreakFromPrevFlow(nextInFlow);
// Take the next-in-flow out of the parent's child list
PRBool result = parent->mFrames.RemoveFrame(nextInFlow);

View File

@ -1402,36 +1402,6 @@ NS_IMETHODIMP nsFrame::SetNextInFlow(nsIFrame*)
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsFrame::AppendToFlow(nsIFrame* aAfterFrame)
{
NS_ERROR("not splittable");
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsFrame::PrependToFlow(nsIFrame* aBeforeFrame)
{
NS_ERROR("not splittable");
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsFrame::RemoveFromFlow()
{
NS_ERROR("not splittable");
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsFrame::BreakFromPrevFlow()
{
NS_ERROR("not splittable");
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsFrame::BreakFromNextFlow()
{
NS_ERROR("not splittable");
return NS_ERROR_NOT_IMPLEMENTED;
}
// Associated view object
NS_IMETHODIMP nsFrame::GetView(nsIView** aView) const
{

View File

@ -204,11 +204,6 @@ public:
NS_IMETHOD SetPrevInFlow(nsIFrame*);
NS_IMETHOD GetNextInFlow(nsIFrame** aNextInFlow) const;
NS_IMETHOD SetNextInFlow(nsIFrame*);
NS_IMETHOD AppendToFlow(nsIFrame* aAfterFrame);
NS_IMETHOD PrependToFlow(nsIFrame* aAfterFrame);
NS_IMETHOD RemoveFromFlow();
NS_IMETHOD BreakFromPrevFlow();
NS_IMETHOD BreakFromNextFlow();
NS_IMETHOD GetView(nsIView** aView) const;
NS_IMETHOD SetView(nsIView* aView);
NS_IMETHOD GetParentWithView(nsIFrame** aParent) const;

View File

@ -560,12 +560,6 @@ public:
NS_IMETHOD GetNextInFlow(nsIFrame** aNextInFlow) const = 0;
NS_IMETHOD SetNextInFlow(nsIFrame*) = 0;
NS_IMETHOD AppendToFlow(nsIFrame* aAfterFrame) = 0;
NS_IMETHOD PrependToFlow(nsIFrame* aBeforeFrame) = 0;
NS_IMETHOD RemoveFromFlow() = 0;
NS_IMETHOD BreakFromPrevFlow() = 0;
NS_IMETHOD BreakFromNextFlow() = 0;
/**
* Accessor functions to get/set the associated view object
*/

View File

@ -996,7 +996,7 @@ nsInlineFrame::RemoveFrame(nsIPresContext& aPresContext,
nsSplittableType st;
aOldFrame->IsSplittable(st);
if (NS_FRAME_NOT_SPLITTABLE != st) {
aOldFrame->RemoveFromFlow();
nsSplittableFrame::RemoveFromFlow(aOldFrame);
}
parent->mFrames.DestroyFrame(aPresContext, aOldFrame);
aOldFrame = oldFrameNextInFlow;

View File

@ -34,7 +34,8 @@ nsSplittableFrame::Init(nsIPresContext& aPresContext,
if (aPrevInFlow) {
// Hook the frame into the flow
AppendToFlow(aPrevInFlow);
mPrevInFlow = aPrevInFlow;
aPrevInFlow->SetNextInFlow(this);
// Make sure the general flags bits are the same
nsFrameState state;
@ -108,67 +109,39 @@ nsIFrame* nsSplittableFrame::GetLastInFlow() const
return lastInFlow;
}
// Append this frame to flow after aAfterFrame
NS_METHOD nsSplittableFrame::AppendToFlow(nsIFrame* aAfterFrame)
{
NS_PRECONDITION(aAfterFrame != nsnull, "null pointer");
mPrevInFlow = aAfterFrame;
aAfterFrame->GetNextInFlow(&mNextInFlow);
mPrevInFlow->SetNextInFlow(this);
if (mNextInFlow) {
mNextInFlow->SetPrevInFlow(this);
}
return NS_OK;
}
// Prepend this frame to flow before aBeforeFrame
NS_METHOD nsSplittableFrame::PrependToFlow(nsIFrame* aBeforeFrame)
{
NS_PRECONDITION(aBeforeFrame != nsnull, "null pointer");
aBeforeFrame->GetPrevInFlow(&mPrevInFlow);
mNextInFlow = aBeforeFrame;
mNextInFlow->SetPrevInFlow(this);
if (mPrevInFlow) {
mPrevInFlow->SetNextInFlow(this);
}
return NS_OK;
}
// Remove this frame from the flow. Connects prev in flow and next in flow
NS_METHOD nsSplittableFrame::RemoveFromFlow()
void
nsSplittableFrame::RemoveFromFlow(nsIFrame* aFrame)
{
if (mPrevInFlow) {
mPrevInFlow->SetNextInFlow(mNextInFlow);
nsIFrame* prevInFlow;
nsIFrame* nextInFlow;
aFrame->GetPrevInFlow(&prevInFlow);
aFrame->GetNextInFlow(&nextInFlow);
if (prevInFlow) {
prevInFlow->SetNextInFlow(nextInFlow);
}
if (mNextInFlow) {
mNextInFlow->SetPrevInFlow(mPrevInFlow);
if (nextInFlow) {
nextInFlow->SetPrevInFlow(prevInFlow);
}
mPrevInFlow = mNextInFlow = nsnull;
return NS_OK;
aFrame->SetPrevInFlow(nsnull);
aFrame->SetNextInFlow(nsnull);
}
// Detach from previous frame in flow
NS_METHOD nsSplittableFrame::BreakFromPrevFlow()
void
nsSplittableFrame::BreakFromPrevFlow(nsIFrame* aFrame)
{
if (mPrevInFlow) {
mPrevInFlow->SetNextInFlow(nsnull);
mPrevInFlow = nsnull;
}
return NS_OK;
}
nsIFrame* prevInFlow;
// Detach from next frame in flow
NS_METHOD nsSplittableFrame::BreakFromNextFlow()
{
if (mNextInFlow) {
mNextInFlow->SetPrevInFlow(nsnull);
mNextInFlow = nsnull;
aFrame->GetPrevInFlow(&prevInFlow);
if (prevInFlow) {
prevInFlow->SetNextInFlow(nsnull);
aFrame->SetPrevInFlow(nsnull);
}
return NS_OK;
}
nsIFrame * nsSplittableFrame::GetPrevInFlow()

View File

@ -51,11 +51,12 @@ public:
*/
nsIFrame* GetLastInFlow() const;
NS_IMETHOD AppendToFlow(nsIFrame* aAfterFrame);
NS_IMETHOD PrependToFlow(nsIFrame* aAfterFrame);
NS_IMETHOD RemoveFromFlow();
NS_IMETHOD BreakFromPrevFlow();
NS_IMETHOD BreakFromNextFlow();
// Remove the frame from the flow. Connects the frame's prev-in-flow
// and its next-in-flow
static void RemoveFromFlow(nsIFrame* aFrame);
// Detach from previous frame in flow
static void BreakFromPrevFlow(nsIFrame* aFrame);
nsIFrame* GetPrevInFlow();
nsIFrame* GetNextInFlow();

View File

@ -4879,7 +4879,7 @@ nsBlockFrame::DoRemoveFrame(nsIPresContext* aPresContext,
nsSplittableType st;
aDeletedFrame->IsSplittable(st);
if (NS_FRAME_NOT_SPLITTABLE != st) {
aDeletedFrame->RemoveFromFlow();
nsSplittableFrame::RemoveFromFlow(aDeletedFrame);
}
#ifdef NOISY_REMOVE_FRAME
printf("DoRemoveFrame: prevLine=%p line=%p frame=",

View File

@ -4879,7 +4879,7 @@ nsBlockFrame::DoRemoveFrame(nsIPresContext* aPresContext,
nsSplittableType st;
aDeletedFrame->IsSplittable(st);
if (NS_FRAME_NOT_SPLITTABLE != st) {
aDeletedFrame->RemoveFromFlow();
nsSplittableFrame::RemoveFromFlow(aDeletedFrame);
}
#ifdef NOISY_REMOVE_FRAME
printf("DoRemoveFrame: prevLine=%p line=%p frame=",

View File

@ -4879,7 +4879,7 @@ nsBlockFrame::DoRemoveFrame(nsIPresContext* aPresContext,
nsSplittableType st;
aDeletedFrame->IsSplittable(st);
if (NS_FRAME_NOT_SPLITTABLE != st) {
aDeletedFrame->RemoveFromFlow();
nsSplittableFrame::RemoveFromFlow(aDeletedFrame);
}
#ifdef NOISY_REMOVE_FRAME
printf("DoRemoveFrame: prevLine=%p line=%p frame=",

View File

@ -442,7 +442,7 @@ nsContainerFrame::DeleteChildsNextInFlow(nsIPresContext& aPresContext,
}
// Disconnect the next-in-flow from the flow list
nextInFlow->BreakFromPrevFlow();
nsSplittableFrame::BreakFromPrevFlow(nextInFlow);
// Take the next-in-flow out of the parent's child list
PRBool result = parent->mFrames.RemoveFrame(nextInFlow);

View File

@ -1402,36 +1402,6 @@ NS_IMETHODIMP nsFrame::SetNextInFlow(nsIFrame*)
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsFrame::AppendToFlow(nsIFrame* aAfterFrame)
{
NS_ERROR("not splittable");
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsFrame::PrependToFlow(nsIFrame* aBeforeFrame)
{
NS_ERROR("not splittable");
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsFrame::RemoveFromFlow()
{
NS_ERROR("not splittable");
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsFrame::BreakFromPrevFlow()
{
NS_ERROR("not splittable");
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsFrame::BreakFromNextFlow()
{
NS_ERROR("not splittable");
return NS_ERROR_NOT_IMPLEMENTED;
}
// Associated view object
NS_IMETHODIMP nsFrame::GetView(nsIView** aView) const
{

View File

@ -204,11 +204,6 @@ public:
NS_IMETHOD SetPrevInFlow(nsIFrame*);
NS_IMETHOD GetNextInFlow(nsIFrame** aNextInFlow) const;
NS_IMETHOD SetNextInFlow(nsIFrame*);
NS_IMETHOD AppendToFlow(nsIFrame* aAfterFrame);
NS_IMETHOD PrependToFlow(nsIFrame* aAfterFrame);
NS_IMETHOD RemoveFromFlow();
NS_IMETHOD BreakFromPrevFlow();
NS_IMETHOD BreakFromNextFlow();
NS_IMETHOD GetView(nsIView** aView) const;
NS_IMETHOD SetView(nsIView* aView);
NS_IMETHOD GetParentWithView(nsIFrame** aParent) const;

View File

@ -996,7 +996,7 @@ nsInlineFrame::RemoveFrame(nsIPresContext& aPresContext,
nsSplittableType st;
aOldFrame->IsSplittable(st);
if (NS_FRAME_NOT_SPLITTABLE != st) {
aOldFrame->RemoveFromFlow();
nsSplittableFrame::RemoveFromFlow(aOldFrame);
}
parent->mFrames.DestroyFrame(aPresContext, aOldFrame);
aOldFrame = oldFrameNextInFlow;

View File

@ -34,7 +34,8 @@ nsSplittableFrame::Init(nsIPresContext& aPresContext,
if (aPrevInFlow) {
// Hook the frame into the flow
AppendToFlow(aPrevInFlow);
mPrevInFlow = aPrevInFlow;
aPrevInFlow->SetNextInFlow(this);
// Make sure the general flags bits are the same
nsFrameState state;
@ -108,67 +109,39 @@ nsIFrame* nsSplittableFrame::GetLastInFlow() const
return lastInFlow;
}
// Append this frame to flow after aAfterFrame
NS_METHOD nsSplittableFrame::AppendToFlow(nsIFrame* aAfterFrame)
{
NS_PRECONDITION(aAfterFrame != nsnull, "null pointer");
mPrevInFlow = aAfterFrame;
aAfterFrame->GetNextInFlow(&mNextInFlow);
mPrevInFlow->SetNextInFlow(this);
if (mNextInFlow) {
mNextInFlow->SetPrevInFlow(this);
}
return NS_OK;
}
// Prepend this frame to flow before aBeforeFrame
NS_METHOD nsSplittableFrame::PrependToFlow(nsIFrame* aBeforeFrame)
{
NS_PRECONDITION(aBeforeFrame != nsnull, "null pointer");
aBeforeFrame->GetPrevInFlow(&mPrevInFlow);
mNextInFlow = aBeforeFrame;
mNextInFlow->SetPrevInFlow(this);
if (mPrevInFlow) {
mPrevInFlow->SetNextInFlow(this);
}
return NS_OK;
}
// Remove this frame from the flow. Connects prev in flow and next in flow
NS_METHOD nsSplittableFrame::RemoveFromFlow()
void
nsSplittableFrame::RemoveFromFlow(nsIFrame* aFrame)
{
if (mPrevInFlow) {
mPrevInFlow->SetNextInFlow(mNextInFlow);
nsIFrame* prevInFlow;
nsIFrame* nextInFlow;
aFrame->GetPrevInFlow(&prevInFlow);
aFrame->GetNextInFlow(&nextInFlow);
if (prevInFlow) {
prevInFlow->SetNextInFlow(nextInFlow);
}
if (mNextInFlow) {
mNextInFlow->SetPrevInFlow(mPrevInFlow);
if (nextInFlow) {
nextInFlow->SetPrevInFlow(prevInFlow);
}
mPrevInFlow = mNextInFlow = nsnull;
return NS_OK;
aFrame->SetPrevInFlow(nsnull);
aFrame->SetNextInFlow(nsnull);
}
// Detach from previous frame in flow
NS_METHOD nsSplittableFrame::BreakFromPrevFlow()
void
nsSplittableFrame::BreakFromPrevFlow(nsIFrame* aFrame)
{
if (mPrevInFlow) {
mPrevInFlow->SetNextInFlow(nsnull);
mPrevInFlow = nsnull;
}
return NS_OK;
}
nsIFrame* prevInFlow;
// Detach from next frame in flow
NS_METHOD nsSplittableFrame::BreakFromNextFlow()
{
if (mNextInFlow) {
mNextInFlow->SetPrevInFlow(nsnull);
mNextInFlow = nsnull;
aFrame->GetPrevInFlow(&prevInFlow);
if (prevInFlow) {
prevInFlow->SetNextInFlow(nsnull);
aFrame->SetPrevInFlow(nsnull);
}
return NS_OK;
}
nsIFrame * nsSplittableFrame::GetPrevInFlow()

View File

@ -51,11 +51,12 @@ public:
*/
nsIFrame* GetLastInFlow() const;
NS_IMETHOD AppendToFlow(nsIFrame* aAfterFrame);
NS_IMETHOD PrependToFlow(nsIFrame* aAfterFrame);
NS_IMETHOD RemoveFromFlow();
NS_IMETHOD BreakFromPrevFlow();
NS_IMETHOD BreakFromNextFlow();
// Remove the frame from the flow. Connects the frame's prev-in-flow
// and its next-in-flow
static void RemoveFromFlow(nsIFrame* aFrame);
// Detach from previous frame in flow
static void BreakFromPrevFlow(nsIFrame* aFrame);
nsIFrame* GetPrevInFlow();
nsIFrame* GetNextInFlow();

View File

@ -1059,7 +1059,7 @@ void nsTableOuterFrame::DeleteChildsNextInFlow(nsIPresContext& aPresContext,
}
// Disconnect the next-in-flow from the flow list
nextInFlow->BreakFromPrevFlow();
nsSplittableFrame::BreakFromPrevFlow(nextInFlow);
// Take the next-in-flow out of the parent's child list
if (parent->mFrames.FirstChild() == nextInFlow) {

View File

@ -1059,7 +1059,7 @@ void nsTableOuterFrame::DeleteChildsNextInFlow(nsIPresContext& aPresContext,
}
// Disconnect the next-in-flow from the flow list
nextInFlow->BreakFromPrevFlow();
nsSplittableFrame::BreakFromPrevFlow(nextInFlow);
// Take the next-in-flow out of the parent's child list
if (parent->mFrames.FirstChild() == nextInFlow) {