Added anonymous node support.

Added splitters
Added Grippies.


git-svn-id: svn://10.0.0.236/trunk@37561 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
evaughan%netscape.com
1999-06-30 22:17:43 +00:00
parent 826f677168
commit 09d003848a
35 changed files with 1507 additions and 701 deletions

View File

@@ -19,18 +19,29 @@
#ifndef nsFileControlFrame_h___
#define nsFileControlFrame_h___
#include "nsHTMLContainerFrame.h"
#include "nsAreaFrame.h"
#include "nsIFormControlFrame.h"
#include "nsIDOMMouseListener.h"
#include "nsIAnonymousContentCreator.h"
class nsButtonControlFrame;
class nsTextControlFrame;
class nsFormFrame;
class nsISupportsArray;
class nsFileControlFrame : public nsAreaFrame,
public nsIFormControlFrame,
public nsIDOMMouseListener,
public nsIAnonymousContentCreator
class nsFileControlFrame : public nsHTMLContainerFrame,
public nsIFormControlFrame
{
public:
nsFileControlFrame();
virtual void MouseClicked(nsIPresContext* aPresContext) {}
virtual void SetFormFrame(nsFormFrame* aFormFrame) { mFormFrame = aFormFrame; }
virtual nsFormFrame* GetFromFrame() { return mFormFrame; }
NS_IMETHOD Paint(nsIPresContext& aPresContext,
nsIRenderingContext& aRenderingContext,
const nsRect& aDirtyRect,
@@ -54,14 +65,7 @@ public:
virtual PRBool GetNamesValues(PRInt32 aMaxNumValues, PRInt32& aNumValues,
nsString* aValues, nsString* aNames);
nsTextControlFrame* GetTextFrame() { return mTextFrame; }
void SetTextFrame(nsTextControlFrame* aFrame) { mTextFrame = aFrame; }
nsButtonControlFrame* GetBrowseFrame() { return mBrowseFrame; }
void SetBrowseFrame(nsButtonControlFrame* aFrame) { mBrowseFrame = aFrame; }
NS_IMETHOD GetName(nsString* aName);
virtual void SetFormFrame(nsFormFrame* aFormFrame) { mFormFrame = aFormFrame; }
virtual PRBool IsSuccessful(nsIFormControlFrame* aSubmitter);
virtual void Reset();
NS_IMETHOD GetType(PRInt32* aType) const;
@@ -83,20 +87,68 @@ public:
PRBool HasWidget();
// nsIFormMouseListener
virtual void MouseClicked(nsIPresContext* aPresContext);
// from nsIAnonymousContentCreator
NS_IMETHOD CreateAnonymousContent(nsISupportsArray& aChildList);
// mouse events when out browse button is pressed
/**
* Processes a mouse down event
* @param aMouseEvent @see nsIDOMEvent.h
* @returns whether the event was consumed or ignored. @see nsresult
*/
virtual nsresult MouseDown(nsIDOMEvent* aMouseEvent) { return NS_OK; }
/**
* Processes a mouse up event
* @param aMouseEvent @see nsIDOMEvent.h
* @returns whether the event was consumed or ignored. @see nsresult
*/
virtual nsresult MouseUp(nsIDOMEvent* aMouseEvent) { return NS_OK; }
/**
* Processes a mouse click event
* @param aMouseEvent @see nsIDOMEvent.h
* @returns whether the event was consumed or ignored. @see nsresult
*
*/
virtual nsresult MouseClick(nsIDOMEvent* aMouseEvent); // we only care when the button is clicked
/**
* Processes a mouse click event
* @param aMouseEvent @see nsIDOMEvent.h
* @returns whether the event was consumed or ignored. @see nsresult
*
*/
virtual nsresult MouseDblClick(nsIDOMEvent* aMouseEvent) { return NS_OK; }
/**
* Processes a mouse enter event
* @param aMouseEvent @see nsIDOMEvent.h
* @returns whether the event was consumed or ignored. @see nsresult
*/
virtual nsresult MouseOver(nsIDOMEvent* aMouseEvent) { return NS_OK; }
/**
* Processes a mouse leave event
* @param aMouseEvent @see nsIDOMEvent.h
* @returns whether the event was consumed or ignored. @see nsresult
*/
virtual nsresult MouseOut(nsIDOMEvent* aMouseEvent) { return NS_OK; }
virtual nsresult HandleEvent(nsIDOMEvent* aEvent) { return NS_OK; }
protected:
nsIWidget* GetWindowTemp(nsIView *aView); // XXX temporary
virtual PRIntn GetSkipSides() const;
nsTextControlFrame* mTextFrame;
nsButtonControlFrame* mBrowseFrame;
nsFormFrame* mFormFrame;
nsFormFrame* mFormFrame;
private:
nsTextControlFrame* GetTextControlFrame(nsIFrame* aStart);
NS_IMETHOD_(nsrefcnt) AddRef() { return NS_OK; }
NS_IMETHOD_(nsrefcnt) Release() { return NS_OK; }
};