This commit is contained in:
rods%netscape.com 1999-04-06 19:45:08 +00:00
Родитель 17b23cd83f
Коммит 3028d55fda
1 изменённых файлов: 60 добавлений и 23 удалений

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

@ -22,9 +22,14 @@
#endif #endif
#include "nsFileWidget.h" #include "nsFileWidget.h"
#include "nsFileSpec.h"
#include <windows.h> #include <windows.h>
NS_IMPL_ISUPPORTS(nsFileWidget, NS_IFILEWIDGET_IID) static NS_DEFINE_IID(kIFileWidgetIID, NS_IFILEWIDGET_IID);
NS_IMPL_ADDREF(nsFileWidget)
NS_IMPL_RELEASE(nsFileWidget)
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// //
@ -38,6 +43,40 @@ nsFileWidget::nsFileWidget() : nsIFileWidget()
mNumberOfFilters = 0; mNumberOfFilters = 0;
} }
//-------------------------------------------------------------------------
//
// nsFileWidget destructor
//
//-------------------------------------------------------------------------
nsFileWidget::~nsFileWidget()
{
}
/**
* @param aIID The name of the class implementing the method
* @param _classiiddef The name of the #define symbol that defines the IID
* for the class (e.g. NS_ISUPPORTS_IID)
*
*/
nsresult nsFileWidget::QueryInterface(const nsIID& aIID, void** aInstancePtr)
{
if (NULL == aInstancePtr) {
return NS_ERROR_NULL_POINTER;
}
nsresult rv = NS_NOINTERFACE;
if (aIID.Equals(kIFileWidgetIID)) {
*aInstancePtr = (void*) ((nsIFileWidget*)this);
NS_ADDREF_THIS();
return NS_OK;
}
return rv;
}
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// //
// Show - Display the file dialog // Show - Display the file dialog
@ -139,7 +178,7 @@ void nsFileWidget::GetFilterListArray(nsString& aFilterList)
// //
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
NS_METHOD nsFileWidget::SetFilterList(PRUint32 aNumberOfFilters,const nsString aTitles[],const nsString aFilters[]) NS_IMETHODIMP nsFileWidget::SetFilterList(PRUint32 aNumberOfFilters,const nsString aTitles[],const nsString aFilters[])
{ {
mNumberOfFilters = aNumberOfFilters; mNumberOfFilters = aNumberOfFilters;
mTitles = aTitles; mTitles = aTitles;
@ -153,15 +192,23 @@ NS_METHOD nsFileWidget::SetFilterList(PRUint32 aNumberOfFilters,const nsString a
// //
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
NS_METHOD nsFileWidget::GetFile(nsString& aFile) NS_IMETHODIMP nsFileWidget::GetFile(nsString& aFile)
{ {
aFile.SetLength(0); aFile.SetLength(0);
aFile.Append(mFile); aFile.Append(mFile);
return NS_OK; return NS_OK;
} }
//-------------------------------------------------------------------------
//
//-------------------------------------------------------------------------
NS_METHOD nsFileWidget::GetFile(nsFileSpec& aFile) NS_METHOD nsFileWidget::GetFile(nsFileSpec& aFile)
{ {
Show();
nsFilePath filePath(mFile);
nsFileSpec fileSpec(filePath);
aFile = filePath;
return NS_OK; return NS_OK;
} }
@ -171,7 +218,7 @@ NS_METHOD nsFileWidget::GetFile(nsFileSpec& aFile)
// Get the file + path // Get the file + path
// //
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
NS_METHOD nsFileWidget::SetDefaultString(nsString& aString) NS_IMETHODIMP nsFileWidget::SetDefaultString(nsString& aString)
{ {
mDefault = aString; mDefault = aString;
return NS_OK; return NS_OK;
@ -183,7 +230,7 @@ NS_METHOD nsFileWidget::SetDefaultString(nsString& aString)
// Set the display directory // Set the display directory
// //
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
NS_METHOD nsFileWidget::SetDisplayDirectory(nsString& aDirectory) NS_IMETHODIMP nsFileWidget::SetDisplayDirectory(nsString& aDirectory)
{ {
mDisplayDirectory = aDirectory; mDisplayDirectory = aDirectory;
return NS_OK; return NS_OK;
@ -195,7 +242,7 @@ NS_METHOD nsFileWidget::SetDisplayDirectory(nsString& aDirectory)
// Get the display directory // Get the display directory
// //
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
NS_METHOD nsFileWidget::GetDisplayDirectory(nsString& aDirectory) NS_IMETHODIMP nsFileWidget::GetDisplayDirectory(nsString& aDirectory)
{ {
aDirectory = mDisplayDirectory; aDirectory = mDisplayDirectory;
return NS_OK; return NS_OK;
@ -203,7 +250,7 @@ NS_METHOD nsFileWidget::GetDisplayDirectory(nsString& aDirectory)
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
NS_METHOD nsFileWidget::Create(nsIWidget *aParent, NS_IMETHODIMP nsFileWidget::Create(nsIWidget *aParent,
nsString& aTitle, nsString& aTitle,
nsMode aMode, nsMode aMode,
nsIDeviceContext *aContext, nsIDeviceContext *aContext,
@ -219,13 +266,3 @@ NS_METHOD nsFileWidget::Create(nsIWidget *aParent,
} }
//-------------------------------------------------------------------------
//
// nsFileWidget destructor
//
//-------------------------------------------------------------------------
nsFileWidget::~nsFileWidget()
{
}