Making eyes bleed less, one file at a time.

rs=blizzard
This commit is contained in:
caillon%redhat.com 2005-02-28 20:37:50 +00:00
Родитель e220b8aa28
Коммит 1c75254755
1 изменённых файлов: 107 добавлений и 141 удалений

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

@ -35,27 +35,20 @@
* *
* ***** END LICENSE BLOCK ***** */ * ***** END LICENSE BLOCK ***** */
#include "nsWidgetSupport.h" #include "nsWidgetSupport.h"
#include "nsRect.h" #include "nsRect.h"
#include "nsIAppShell.h"
#include "nsIButton.h" #include "nsIButton.h"
#include "nsIEventListener.h"
#include "nsITextWidget.h" #include "nsITextWidget.h"
#include "nsILabel.h" #include "nsILabel.h"
#include "nsILookAndFeel.h"
#include "nsIMouseListener.h"
#include "nsIToolkit.h"
#include "nsIWidget.h" #include "nsIWidget.h"
#include "nsICheckButton.h" #include "nsICheckButton.h"
static NS_DEFINE_IID(kIWidgetIID, NS_IWIDGET_IID);
#ifdef XP_MAC #ifdef XP_MAC
#define WIDGET_SUPPORT_EXPORT(returnType) PR_PUBLIC_API(returnType) #define WIDGET_SUPPORT_EXPORT(returnType) \
PR_PUBLIC_API(returnType)
#else #else
#define WIDGET_SUPPORT_EXPORT(returnType) returnType #define WIDGET_SUPPORT_EXPORT(returnType) \
returnType
#endif #endif
WIDGET_SUPPORT_EXPORT(nsresult) WIDGET_SUPPORT_EXPORT(nsresult)
@ -65,21 +58,18 @@ NS_CreateButton(nsISupports* aParent,
EVENT_CALLBACK aHandleEventFunction, EVENT_CALLBACK aHandleEventFunction,
const nsFont* aFont) const nsFont* aFont)
{ {
nsIWidget* parent = nsnull; nsCOMPtr<nsIWidget> parent = do_QueryInterface(aParent);
if (aParent != nsnull) if (parent) {
aParent->QueryInterface(kIWidgetIID,(void**)&parent); nsCOMPtr<nsIWidget> widget = do_QueryInterface(aButton);
if (widget) {
nsIWidget* widget; widget->Create(parent, aRect, aHandleEventFunction, nsnull);
if (NS_OK == aButton->QueryInterface(kIWidgetIID,(void**)&widget)) {
widget->Create(parent, aRect, aHandleEventFunction, NULL);
widget->Show(PR_TRUE); widget->Show(PR_TRUE);
if (aFont != nsnull) if (aFont) {
widget->SetFont(*aFont); widget->SetFont(*aFont);
NS_IF_RELEASE(widget); }
}
} }
if (aParent != nsnull)
NS_IF_RELEASE(parent);
return NS_OK; return NS_OK;
} }
@ -90,26 +80,21 @@ NS_CreateCheckButton(nsISupports* aParent,
EVENT_CALLBACK aHandleEventFunction, EVENT_CALLBACK aHandleEventFunction,
const nsFont* aFont) const nsFont* aFont)
{ {
nsIWidget* parent = nsnull; nsCOMPtr<nsIWidget> parent = do_QueryInterface(aParent);
if (aParent != nsnull) if (parent) {
aParent->QueryInterface(kIWidgetIID,(void**)&parent); nsCOMPtr<nsIWidget> widget = do_QueryInterface(aCheckButton);
if (widget) {
nsIWidget* widget; widget->Create(parent, aRect, aHandleEventFunction, nsnull);
if (NS_OK == aCheckButton->QueryInterface(kIWidgetIID,(void**)&widget)) {
widget->Create(parent, aRect, aHandleEventFunction, NULL);
widget->Show(PR_TRUE); widget->Show(PR_TRUE);
if (aFont != nsnull) if (aFont) {
widget->SetFont(*aFont); widget->SetFont(*aFont);
NS_IF_RELEASE(widget);
} }
if (aParent != nsnull) }
NS_IF_RELEASE(parent); }
return NS_OK; return NS_OK;
} }
WIDGET_SUPPORT_EXPORT(nsresult) WIDGET_SUPPORT_EXPORT(nsresult)
NS_CreateLabel(nsISupports* aParent, NS_CreateLabel(nsISupports* aParent,
nsILabel* aLabel, nsILabel* aLabel,
@ -117,22 +102,20 @@ NS_CreateLabel( nsISupports* aParent,
EVENT_CALLBACK aHandleEventFunction, EVENT_CALLBACK aHandleEventFunction,
const nsFont* aFont) const nsFont* aFont)
{ {
nsIWidget* parent = nsnull; nsCOMPtr<nsIWidget> parent = do_QueryInterface(aParent);
if (NS_OK == aParent->QueryInterface(kIWidgetIID,(void**)&parent)) if (parent) {
{ nsCOMPtr<nsIWidget> widget = do_QueryInterface(aLabel);
nsIWidget* widget; if (widget) {
if (NS_OK == aLabel->QueryInterface(kIWidgetIID,(void**)&widget)) {
widget->Create(parent, aRect, aHandleEventFunction, NULL); widget->Create(parent, aRect, aHandleEventFunction, NULL);
widget->Show(PR_TRUE); widget->Show(PR_TRUE);
if (aFont != nsnull) if (aFont) {
widget->SetFont(*aFont); widget->SetFont(*aFont);
NS_IF_RELEASE(widget);
} }
NS_IF_RELEASE(parent);
} }
return NS_OK;
} }
return NS_OK;
}
WIDGET_SUPPORT_EXPORT(nsresult) WIDGET_SUPPORT_EXPORT(nsresult)
NS_CreateTextWidget(nsISupports* aParent, NS_CreateTextWidget(nsISupports* aParent,
@ -141,39 +124,27 @@ NS_CreateTextWidget(nsISupports* aParent,
EVENT_CALLBACK aHandleEventFunction, EVENT_CALLBACK aHandleEventFunction,
const nsFont* aFont) const nsFont* aFont)
{ {
nsIWidget* parent = nsnull; nsCOMPtr<nsIWidget> parent = do_QueryInterface(aParent);
if (aParent != nsnull) if (parent) {
aParent->QueryInterface(kIWidgetIID,(void**)&parent); nsCOMPtr<nsIWidget> widget = do_QueryInterface(aWidget);
if (widget) {
nsIWidget* widget = nsnull;
if (NS_OK == aWidget->QueryInterface(kIWidgetIID,(void**)&widget)) {
widget->Create(parent, aRect, aHandleEventFunction, NULL); widget->Create(parent, aRect, aHandleEventFunction, NULL);
widget->Show(PR_TRUE); widget->Show(PR_TRUE);
if (aFont != nsnull) if (aFont) {
widget->SetFont(*aFont); widget->SetFont(*aFont);
NS_IF_RELEASE(widget);
} }
else
{
NS_ERROR("Called QueryInterface on a non kIWidgetIID supported object");
} }
}
if (aParent)
NS_IF_RELEASE(parent);
return NS_OK; return NS_OK;
} }
WIDGET_SUPPORT_EXPORT(nsresult) WIDGET_SUPPORT_EXPORT(nsresult)
NS_ShowWidget(nsISupports* aWidget, PRBool aShow) NS_ShowWidget(nsISupports* aWidget, PRBool aShow)
{ {
nsCOMPtr<nsIWidget> widget = do_QueryInterface(aWidget);
nsIWidget* widget = nsnull; if (widget) {
if (NS_OK == aWidget->QueryInterface(kIWidgetIID,(void**)&widget)) {
widget->Show(aShow); widget->Show(aShow);
NS_IF_RELEASE(widget);
} }
return NS_OK; return NS_OK;
@ -182,37 +153,33 @@ NS_ShowWidget(nsISupports* aWidget, PRBool aShow)
WIDGET_SUPPORT_EXPORT(nsresult) WIDGET_SUPPORT_EXPORT(nsresult)
NS_MoveWidget(nsISupports* aWidget, PRUint32 aX, PRUint32 aY) NS_MoveWidget(nsISupports* aWidget, PRUint32 aX, PRUint32 aY)
{ {
nsCOMPtr<nsIWidget> widget = do_QueryInterface(aWidget);
nsIWidget* widget = nsnull; if (widget) {
if (NS_OK == aWidget->QueryInterface(kIWidgetIID,(void**)&widget)) {
widget->Move(aX, aY); widget->Move(aX, aY);
NS_IF_RELEASE(widget);
} }
return NS_OK; return NS_OK;
} }
WIDGET_SUPPORT_EXPORT(nsresult) WIDGET_SUPPORT_EXPORT(nsresult)
NS_EnableWidget(nsISupports* aWidget, PRBool aEnable) NS_EnableWidget(nsISupports* aWidget, PRBool aEnable)
{ {
nsIWidget* widget; nsCOMPtr<nsIWidget> widget = do_QueryInterface(aWidget);
if (NS_OK == aWidget->QueryInterface(kIWidgetIID,(void**)&widget)) if (widget) {
{
widget->Enable(aEnable); widget->Enable(aEnable);
NS_RELEASE(widget);
}
return NS_OK;
} }
return NS_OK;
}
WIDGET_SUPPORT_EXPORT(nsresult) WIDGET_SUPPORT_EXPORT(nsresult)
NS_SetFocusToWidget(nsISupports* aWidget) NS_SetFocusToWidget(nsISupports* aWidget)
{ {
nsCOMPtr<nsIWidget> widget = do_QueryInterface(aWidget);
nsIWidget* widget = nsnull; if (widget) {
if (NS_OK == aWidget->QueryInterface(kIWidgetIID,(void**)&widget)) {
widget->SetFocus(); widget->SetFocus();
NS_IF_RELEASE(widget);
} }
return NS_OK; return NS_OK;
} }
@ -220,13 +187,12 @@ WIDGET_SUPPORT_EXPORT(nsresult)
NS_GetWidgetNativeData(nsISupports* aWidget, void** aNativeData) NS_GetWidgetNativeData(nsISupports* aWidget, void** aNativeData)
{ {
void *result = nsnull; void *result = nsnull;
nsIWidget* widget; nsCOMPtr<nsIWidget> widget = do_QueryInterface(aWidget);
if (NS_OK == aWidget->QueryInterface(kIWidgetIID,(void**)&widget)) if (widget) {
{
result = widget->GetNativeData(NS_NATIVE_WIDGET); result = widget->GetNativeData(NS_NATIVE_WIDGET);
NS_RELEASE(widget);
} }
*aNativeData = result;
return NS_OK;
*aNativeData = result;
return NS_OK;
} }