removing unneeded native frames and unneeded frame classes that these derived from
fixing checkbox and radiobutton state restore fixing right btn click on dropdown adding in initial work for accesskey bug 17027,26296,27063,7559; carpool a=leaf; r=kmcclusk git-svn-id: svn://10.0.0.236/trunk@60248 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -22,13 +22,13 @@
|
||||
#ifndef nsGfxCheckboxControlFrame_h___
|
||||
#define nsGfxCheckboxControlFrame_h___
|
||||
|
||||
#include "nsCheckboxControlFrame.h"
|
||||
#include "nsFormControlFrame.h"
|
||||
#include "nsIStatefulFrame.h"
|
||||
|
||||
|
||||
class nsGfxCheckboxControlFrame : public nsCheckboxControlFrame {
|
||||
private:
|
||||
typedef nsCheckboxControlFrame Inherited;
|
||||
|
||||
class nsGfxCheckboxControlFrame : public nsFormControlFrame,
|
||||
public nsIStatefulFrame
|
||||
{
|
||||
public:
|
||||
nsGfxCheckboxControlFrame();
|
||||
|
||||
@@ -37,17 +37,43 @@ public:
|
||||
return MakeFrameName("CheckboxControl", aResult);
|
||||
}
|
||||
#endif
|
||||
// this should be protected, but VC6 is lame.
|
||||
enum CheckState { eOff, eOn, eMixed } ;
|
||||
|
||||
// overrides base class HandleEvent to do nothing
|
||||
// events are handled by the DOM
|
||||
NS_IMETHOD HandleEvent(nsIPresContext* aPresContext,
|
||||
nsGUIEvent* aEvent,
|
||||
nsEventStatus* aEventStatus) { return NS_OK; }
|
||||
NS_IMETHOD Init(nsIPresContext* aPresContext,
|
||||
nsIContent* aContent,
|
||||
nsIFrame* aParent,
|
||||
nsIStyleContext* aContext,
|
||||
nsIFrame* aPrevInFlow) ;
|
||||
|
||||
NS_IMETHOD AttributeChanged(nsIPresContext* aPresContext,
|
||||
nsIContent* aChild,
|
||||
PRInt32 aNameSpaceID,
|
||||
nsIAtom* aAttribute,
|
||||
PRInt32 aHint) ;
|
||||
|
||||
NS_IMETHOD Paint(nsIPresContext* aPresContext,
|
||||
nsIRenderingContext& aRenderingContext,
|
||||
const nsRect& aDirtyRect,
|
||||
nsFramePaintLayer aWhichLayer);
|
||||
|
||||
void InitializeControl(nsIPresContext* aPresContext);
|
||||
|
||||
// nsIFormControlFrame
|
||||
NS_IMETHOD SetProperty(nsIPresContext* aPresContext, nsIAtom* aName, const nsString& aValue);
|
||||
NS_IMETHOD GetProperty(nsIAtom* aName, nsString& aValue);
|
||||
virtual void Reset(nsIPresContext* aPresContext);
|
||||
virtual PRInt32 GetMaxNumValues();
|
||||
virtual PRBool GetNamesValues(PRInt32 aMaxNumValues, PRInt32& aNumValues,
|
||||
nsString* aValues, nsString* aNames);
|
||||
|
||||
// nsIStatefulFrame
|
||||
NS_IMETHOD QueryInterface(const nsIID& aIID, void** aInstancePtr);
|
||||
NS_IMETHOD GetStateType(nsIPresContext* aPresContext, nsIStatefulFrame::StateType* aStateType);
|
||||
NS_IMETHOD SaveState(nsIPresContext* aPresContext, nsIPresState** aState);
|
||||
NS_IMETHOD RestoreState(nsIPresContext* aPresContext, nsIPresState* aState);
|
||||
|
||||
|
||||
#ifdef DEBUG_rodsXXX
|
||||
NS_IMETHOD Reflow(nsIPresContext* aCX,
|
||||
nsHTMLReflowMetrics& aDesiredSize,
|
||||
@@ -56,8 +82,35 @@ public:
|
||||
#endif
|
||||
|
||||
protected:
|
||||
virtual CheckState GetCheckboxState();
|
||||
virtual void SetCheckboxState(nsIPresContext* aPresContext, CheckState aValue);
|
||||
|
||||
// native/gfx implementations need to implement needs.
|
||||
CheckState GetCheckboxState();
|
||||
void SetCheckboxState(nsIPresContext* aPresContext, CheckState aValue);
|
||||
|
||||
// Utility methods for implementing SetProperty/GetProperty
|
||||
void SetCheckboxControlFrameState(nsIPresContext* aPresContext,
|
||||
const nsString& aValue);
|
||||
void GetCheckboxControlFrameState(nsString& aValue);
|
||||
|
||||
// utility routine for converting from DOM values to internal enum
|
||||
void CheckStateToString ( CheckState inState, nsString& outStateAsString ) ;
|
||||
CheckState StringToCheckState ( const nsString & aStateAsString ) ;
|
||||
|
||||
// figure out if we're a tri-state checkbox.
|
||||
PRBool IsTristateCheckbox ( ) const { return mIsTristate; }
|
||||
|
||||
// we just became a tri-state, or we just lost tri-state status. fix up
|
||||
// the attributes for the new mode.
|
||||
void SwitchModesWithEmergencyBrake ( nsIPresContext* aPresContext,
|
||||
PRBool inIsNowTristate ) ;
|
||||
|
||||
// for tri-state checkbox. meaningless for normal HTML
|
||||
PRBool mIsTristate;
|
||||
|
||||
static nsIAtom* GetTristateAtom() ;
|
||||
static nsIAtom* GetTristateValueAtom() ;
|
||||
|
||||
protected:
|
||||
|
||||
virtual void PaintCheckBox(nsIPresContext* aPresContext,
|
||||
nsIRenderingContext& aRenderingContext,
|
||||
@@ -68,7 +121,11 @@ protected:
|
||||
|
||||
//GFX-rendered state variables
|
||||
CheckState mChecked;
|
||||
|
||||
|
||||
private:
|
||||
NS_IMETHOD_(nsrefcnt) AddRef() { return NS_OK; }
|
||||
NS_IMETHOD_(nsrefcnt) Release() { return NS_OK; }
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user