gecko-dev/layout/xul/base/src/nsScrollbarButtonFrame.h

92 lines
2.9 KiB
C
Raw Normal View History

/* -*- 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.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*/
/**
Eric D Vaughan
This class lays out its children either vertically or horizontally
**/
#ifndef nsScrollbarButtonFrame_h___
#define nsScrollbarButtonFrame_h___
2000-03-31 07:02:06 +00:00
#include "nsButtonBoxFrame.h"
1999-08-19 22:16:23 +00:00
#include "nsITimerCallback.h"
class nsSliderFrame;
2000-03-31 07:02:06 +00:00
class nsScrollbarButtonFrame : public nsButtonBoxFrame,
public nsITimerCallback
{
public:
nsScrollbarButtonFrame(nsIPresShell* aPresShell);
1999-08-29 10:51:15 +00:00
// Overrides
NS_IMETHOD Destroy(nsIPresContext* aPresContext);
1999-08-29 10:51:15 +00:00
friend nsresult NS_NewScrollBarButtonFrame(nsIPresShell* aPresShell, nsIFrame** aNewFrame);
NS_IMETHOD HandleEvent(nsIPresContext* aPresContext,
nsGUIEvent* aEvent,
nsEventStatus* aEventStatus);
static nsresult GetChildWithTag(nsIPresContext* aPresContext,
nsIAtom* atom, nsIFrame* start, nsIFrame*& result);
static nsresult GetParentWithTag(nsIAtom* atom, nsIFrame* start, nsIFrame*& result);
NS_IMETHOD HandlePress(nsIPresContext* aPresContext,
1999-08-19 22:16:23 +00:00
nsGUIEvent * aEvent,
nsEventStatus* aEventStatus);
1999-08-19 22:16:23 +00:00
NS_IMETHOD HandleMultiplePress(nsIPresContext* aPresContext,
1999-08-19 22:16:23 +00:00
nsGUIEvent * aEvent,
nsEventStatus* aEventStatus) { return NS_OK; }
1999-08-19 22:16:23 +00:00
NS_IMETHOD HandleDrag(nsIPresContext* aPresContext,
1999-08-19 22:16:23 +00:00
nsGUIEvent * aEvent,
nsEventStatus* aEventStatus) { return NS_OK; }
1999-08-19 22:16:23 +00:00
NS_IMETHOD HandleRelease(nsIPresContext* aPresContext,
1999-08-19 22:16:23 +00:00
nsGUIEvent * aEvent,
nsEventStatus* aEventStatus);
1999-08-19 22:16:23 +00:00
NS_IMETHOD_(void) Notify(nsITimer *timer);
1999-08-19 22:16:23 +00:00
NS_IMETHOD QueryInterface(REFNSIID aIID, void** aInstancePtr);
NS_IMETHOD_(nsrefcnt) AddRef(void) { return NS_OK; }
NS_IMETHOD_(nsrefcnt) Release(void) { return NS_OK; }
protected:
virtual void MouseClicked(nsIPresContext* aPresContext, nsGUIEvent* aEvent);
1999-08-19 22:16:23 +00:00
virtual void MouseClicked();
}; // class nsTabFrame
#endif