Files
Mozilla/mozilla/layout/html/forms/src/nsButtonControlFrame.h
karnaze%netscape.com 081ed90d75 nsIFormControlFrames initiate insertion into nsFormFrame's list;
turned off url encoding of '.' and '_" to match Nav
fixed bug where non clicked buttons submitted data;
fixed bug where <select>s with initial values were not submitting that value;


git-svn-id: svn://10.0.0.236/trunk@13727 18797224-902f-48f8-a5cc-f745e15eee43
1998-10-30 18:05:29 +00:00

82 lines
3.1 KiB
C++

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef nsButtonControlFrame_h___
#define nsButtonControlFrame_h___
#include "nsFormControlFrame.h"
#include "nsHTMLImage.h"
class nsFileControlFrame;
class nsButtonControlFrame : public nsFormControlFrame {
public:
nsButtonControlFrame(nsIContent* aContent, nsIFrame* aParentFrame);
NS_IMETHOD Paint(nsIPresContext& aPresContext,
nsIRenderingContext& aRenderingContext,
const nsRect& aDirtyRect);
NS_IMETHOD Reflow(nsIPresContext& aPresContext,
nsHTMLReflowMetrics& aDesiredSize,
const nsHTMLReflowState& aReflowState,
nsReflowStatus& aStatus);
virtual void PostCreateWidget(nsIPresContext* aPresContext,
nscoord& aWidth,
nscoord& aHeight);
virtual void MouseClicked(nsIPresContext* aPresContext);
virtual const nsIID& GetCID();
virtual const nsIID& GetIID();
virtual nscoord GetVerticalBorderWidth(float aPixToTwip) const;
virtual nscoord GetHorizontalBorderWidth(float aPixToTwip) const;
virtual nscoord GetVerticalInsidePadding(float aPixToTwip,
nscoord aInnerHeight) const;
virtual nscoord GetHorizontalInsidePadding(nsIPresContext& aPresContext,
float aPixToTwip,
nscoord aInnerWidth,
nscoord aCharWidth) const;
nsFileControlFrame* GetFileControlFrame() { return mFileControlFrame; }
void SetFileControlFrame(nsFileControlFrame* aFrame) { mFileControlFrame = aFrame; }
void GetDefaultLabel(nsString& aLabel);
PRBool IsSuccessful(nsIFormControlFrame* aSubmitter);
virtual PRInt32 GetMaxNumValues();
virtual PRBool GetNamesValues(PRInt32 aMaxNumValues, PRInt32& aNumValues,
nsString* aValues, nsString* aNames);
protected:
virtual ~nsButtonControlFrame();
virtual void GetDesiredSize(nsIPresContext* aPresContext,
const nsHTMLReflowState& aReflowState,
nsHTMLReflowMetrics& aDesiredLayoutSize,
nsSize& aDesiredWidgetSize);
nsHTMLImageLoader mImageLoader;
nsFileControlFrame* mFileControlFrame; // for browse buttons only
};
#endif