Checkpointing changes. Not part of the build. Get scrollbars stubbed out and get the factory changes in place so they can be created.

This commit is contained in:
blizzard%redhat.com 2001-12-13 04:42:22 +00:00
Родитель 7fe5b2878e
Коммит 91731f0f76
3 изменённых файлов: 302 добавлений и 2 удалений

Просмотреть файл

@ -34,7 +34,6 @@
* ***** END LICENSE BLOCK ***** */
#include "nsScrollbar.h"
#include <gtk/gtkscrollbar.h>
nsScrollbar::nsScrollbar(PRBool aIsVertical)
@ -50,6 +49,194 @@ NS_IMPL_ADDREF_INHERITED(nsScrollbar, nsCommonWidget)
NS_IMPL_RELEASE_INHERITED(nsScrollbar, nsCommonWidget)
NS_IMPL_QUERY_INTERFACE2(nsScrollbar, nsIScrollbar, nsIWidget)
// nsIWidget
NS_IMETHODIMP
nsScrollbar::Create(nsIWidget *aParent,
const nsRect &aRect,
EVENT_CALLBACK aHandleEventFunction,
nsIDeviceContext *aContext,
nsIAppShell *aAppShell,
nsIToolkit *aToolkit,
nsWidgetInitData *aInitData)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
nsScrollbar::Create(nsNativeWidget aParent,
const nsRect &aRect,
EVENT_CALLBACK aHandleEventFunction,
nsIDeviceContext *aContext,
nsIAppShell *aAppShell,
nsIToolkit *aToolkit,
nsWidgetInitData *aInitData)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
nsScrollbar::Show(PRBool aState)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
nsScrollbar::IsVisible(PRBool & aState)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
nsScrollbar::ConstrainPosition(PRInt32 *aX, PRInt32 *aY)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
nsScrollbar::Move(PRInt32 aX, PRInt32 aY)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
nsScrollbar::Resize(PRInt32 aWidth, PRInt32 aHeight, PRBool aRepaint)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
nsScrollbar::Resize(PRInt32 aX, PRInt32 aY, PRInt32 aWidth, PRInt32 aHeight,
PRBool aRepaint)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
nsScrollbar::Enable(PRBool aState)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
nsScrollbar::SetFocus(PRBool aRaise)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
nsIFontMetrics*
nsScrollbar::GetFont(void)
{
return nsnull;
}
NS_IMETHODIMP
nsScrollbar::SetFont(const nsFont &aFont)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
nsScrollbar::Invalidate(PRBool aIsSynchronous)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
nsScrollbar::Invalidate(const nsRect & aRect, PRBool aIsSynchronous)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
nsScrollbar::Update()
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
nsScrollbar::SetColorMap(nsColorMap *aColorMap)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
nsScrollbar::Scroll(PRInt32 aDx, PRInt32 aDy, nsRect *aClipRect)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
void*
nsScrollbar::GetNativeData(PRUint32 aDataType)
{
return nsnull;
}
NS_IMETHODIMP
nsScrollbar::SetTitle(const nsString& aTitle)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
nsScrollbar::SetMenuBar(nsIMenuBar * aMenuBar)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
nsScrollbar::ShowMenuBar(PRBool aShow)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
nsScrollbar::WidgetToScreen(const nsRect& aOldRect, nsRect& aNewRect)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
nsScrollbar::ScreenToWidget(const nsRect& aOldRect, nsRect& aNewRect)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
nsScrollbar::BeginResizingChildren(void)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
nsScrollbar::EndResizingChildren(void)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
nsScrollbar::GetPreferredSize(PRInt32& aWidth, PRInt32& aHeight)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
nsScrollbar::SetPreferredSize(PRInt32 aWidth, PRInt32 aHeight)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
nsScrollbar::CaptureRollupEvents(nsIRollupListener * aListener,
PRBool aDoCapture,
PRBool aConsumeRollupEvent)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
// nsIScrollbar
NS_IMETHODIMP
nsScrollbar::SetMaxRange(PRUint32 aEndRange)
{

Просмотреть файл

@ -48,6 +48,51 @@ class nsScrollbar : public nsCommonWidget,
NS_DECL_ISUPPORTS_INHERITED
// nsIWidget
NS_IMETHOD Create(nsIWidget *aParent,
const nsRect &aRect,
EVENT_CALLBACK aHandleEventFunction,
nsIDeviceContext *aContext,
nsIAppShell *aAppShell = nsnull,
nsIToolkit *aToolkit = nsnull,
nsWidgetInitData *aInitData = nsnull);
NS_IMETHOD Create(nsNativeWidget aParent,
const nsRect &aRect,
EVENT_CALLBACK aHandleEventFunction,
nsIDeviceContext *aContext,
nsIAppShell *aAppShell = nsnull,
nsIToolkit *aToolkit = nsnull,
nsWidgetInitData *aInitData = nsnull);
NS_IMETHOD Show(PRBool aState);
NS_IMETHOD IsVisible(PRBool & aState);
NS_IMETHOD ConstrainPosition(PRInt32 *aX, PRInt32 *aY);
NS_IMETHOD Move(PRInt32 aX, PRInt32 aY);
NS_IMETHOD Resize(PRInt32 aWidth, PRInt32 aHeight, PRBool aRepaint);
NS_IMETHOD Resize(PRInt32 aX, PRInt32 aY, PRInt32 aWidth, PRInt32 aHeight,
PRBool aRepaint);
NS_IMETHOD Enable(PRBool aState);
NS_IMETHOD SetFocus(PRBool aRaise = PR_FALSE);
virtual nsIFontMetrics* GetFont(void);
NS_IMETHOD SetFont(const nsFont &aFont);
NS_IMETHOD Invalidate(PRBool aIsSynchronous);
NS_IMETHOD Invalidate(const nsRect & aRect, PRBool aIsSynchronous);
NS_IMETHOD Update();
NS_IMETHOD SetColorMap(nsColorMap *aColorMap);
NS_IMETHOD Scroll(PRInt32 aDx, PRInt32 aDy, nsRect *aClipRect);
virtual void* GetNativeData(PRUint32 aDataType);
NS_IMETHOD SetTitle(const nsString& aTitle);
NS_IMETHOD SetMenuBar(nsIMenuBar * aMenuBar);
NS_IMETHOD ShowMenuBar(PRBool aShow);
NS_IMETHOD WidgetToScreen(const nsRect& aOldRect, nsRect& aNewRect);
NS_IMETHOD ScreenToWidget(const nsRect& aOldRect, nsRect& aNewRect);
NS_IMETHOD BeginResizingChildren(void);
NS_IMETHOD EndResizingChildren(void);
NS_IMETHOD GetPreferredSize(PRInt32& aWidth, PRInt32& aHeight);
NS_IMETHOD SetPreferredSize(PRInt32 aWidth, PRInt32 aHeight);
NS_IMETHOD CaptureRollupEvents(nsIRollupListener * aListener,
PRBool aDoCapture,
PRBool aConsumeRollupEvent);
// nsIScrollbar
NS_IMETHOD SetMaxRange(PRUint32 aEndRange);
NS_IMETHOD GetMaxRange(PRUint32& aMaxRange);

Просмотреть файл

@ -35,9 +35,11 @@
#include "nsIGenericFactory.h"
#include "nsWidgetsCID.h"
#include "nsWindow.h"
#include "nsAppShell.h"
#include "nsBaseWidget.h"
#include "nsLookAndFeel.h"
#include "nsWindow.h"
#include "nsScrollbar.h"
#ifdef IBMBIDI
#include "nsBidiKeyboard.h"
#endif
@ -48,6 +50,64 @@ NS_GENERIC_FACTORY_CONSTRUCTOR(nsAppShell)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsLookAndFeel)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsBidiKeyboard)
static
nsresult nsHorizScrollbarConstructor (nsISupports *aOuter,
REFNSIID aIID,
void **aResult)
{
nsresult rv;
nsISupports *inst = nsnull;
if (!aResult)
return NS_ERROR_NULL_POINTER;
*aResult = nsnull;
if (aOuter)
return NS_ERROR_NO_AGGREGATION;
inst = (nsISupports *)(nsBaseWidget *)(nsCommonWidget *)
new nsScrollbar(PR_FALSE);
if (!inst)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(inst);
rv = inst->QueryInterface(aIID, aResult);
NS_RELEASE(inst);
return rv;
}
static
nsresult nsVertScrollbarConstructor (nsISupports *aOuter,
REFNSIID aIID,
void **aResult)
{
nsresult rv;
nsISupports *inst = nsnull;
if (!aResult)
return NS_ERROR_NULL_POINTER;
*aResult = nsnull;
if (aOuter)
return NS_ERROR_NO_AGGREGATION;
inst = (nsISupports *)(nsBaseWidget *)(nsCommonWidget *)
new nsScrollbar(PR_TRUE);
if (!inst)
return NS_ERROR_OUT_OF_MEMORY;
NS_ADDREF(inst);
rv = inst->QueryInterface(aIID, aResult);
NS_RELEASE(inst);
return rv;
}
static nsModuleComponentInfo components[] =
{
{ "Gtk2 Window",
@ -66,6 +126,14 @@ static nsModuleComponentInfo components[] =
NS_LOOKANDFEEL_CID,
"@mozilla.org/widget/lookandfeel/gtk;1",
nsLookAndFeelConstructor },
{ "Gtk2 Horiz Scrollbar",
NS_HORZSCROLLBAR_CID,
"@mozilla.org/widgets/hoizscroll/gtk;1",
nsHorizScrollbarConstructor },
{ "Gtk2 Vert Scrollbar",
NS_VERTSCROLLBAR_CID,
"@mozilla.org/widgets/vertscroll/gtk;1",
nsVertScrollbarConstructor },
#ifdef IBMBIDI
{ "Gtk2 Bidi Keyboard",
NS_BIDIKEYBOARD_CID,