diff options
Diffstat (limited to 'toolkit/components/find')
-rw-r--r-- | toolkit/components/find/moz.build | 17 | ||||
-rw-r--r-- | toolkit/components/find/nsFindService.cpp | 101 | ||||
-rw-r--r-- | toolkit/components/find/nsFindService.h | 46 | ||||
-rw-r--r-- | toolkit/components/find/nsIFindService.idl | 26 |
4 files changed, 190 insertions, 0 deletions
diff --git a/toolkit/components/find/moz.build b/toolkit/components/find/moz.build new file mode 100644 index 000000000..be28d0cc4 --- /dev/null +++ b/toolkit/components/find/moz.build @@ -0,0 +1,17 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +XPIDL_SOURCES += [ + 'nsIFindService.idl', +] + +XPIDL_MODULE = 'mozfind' + +SOURCES += [ + 'nsFindService.cpp', +] + +FINAL_LIBRARY = 'xul' diff --git a/toolkit/components/find/nsFindService.cpp b/toolkit/components/find/nsFindService.cpp new file mode 100644 index 000000000..3e80823ce --- /dev/null +++ b/toolkit/components/find/nsFindService.cpp @@ -0,0 +1,101 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/* + * The sole purpose of the Find service is to store globally the + * last used Find settings + * + */ + + +#include "nsFindService.h" + + +nsFindService::nsFindService() +: mFindBackwards(false) +, mWrapFind(true) +, mEntireWord(false) +, mMatchCase(false) +{ +} + + +nsFindService::~nsFindService() +{ +} + +NS_IMPL_ISUPPORTS(nsFindService, nsIFindService) + +NS_IMETHODIMP nsFindService::GetSearchString(nsAString & aSearchString) +{ + aSearchString = mSearchString; + return NS_OK; +} + +NS_IMETHODIMP nsFindService::SetSearchString(const nsAString & aSearchString) +{ + mSearchString = aSearchString; + return NS_OK; +} + +NS_IMETHODIMP nsFindService::GetReplaceString(nsAString & aReplaceString) +{ + aReplaceString = mReplaceString; + return NS_OK; +} +NS_IMETHODIMP nsFindService::SetReplaceString(const nsAString & aReplaceString) +{ + mReplaceString = aReplaceString; + return NS_OK; +} + +NS_IMETHODIMP nsFindService::GetFindBackwards(bool *aFindBackwards) +{ + NS_ENSURE_ARG_POINTER(aFindBackwards); + *aFindBackwards = mFindBackwards; + return NS_OK; +} +NS_IMETHODIMP nsFindService::SetFindBackwards(bool aFindBackwards) +{ + mFindBackwards = aFindBackwards; + return NS_OK; +} + +NS_IMETHODIMP nsFindService::GetWrapFind(bool *aWrapFind) +{ + NS_ENSURE_ARG_POINTER(aWrapFind); + *aWrapFind = mWrapFind; + return NS_OK; +} +NS_IMETHODIMP nsFindService::SetWrapFind(bool aWrapFind) +{ + mWrapFind = aWrapFind; + return NS_OK; +} + +NS_IMETHODIMP nsFindService::GetEntireWord(bool *aEntireWord) +{ + NS_ENSURE_ARG_POINTER(aEntireWord); + *aEntireWord = mEntireWord; + return NS_OK; +} +NS_IMETHODIMP nsFindService::SetEntireWord(bool aEntireWord) +{ + mEntireWord = aEntireWord; + return NS_OK; +} + +NS_IMETHODIMP nsFindService::GetMatchCase(bool *aMatchCase) +{ + NS_ENSURE_ARG_POINTER(aMatchCase); + *aMatchCase = mMatchCase; + return NS_OK; +} +NS_IMETHODIMP nsFindService::SetMatchCase(bool aMatchCase) +{ + mMatchCase = aMatchCase; + return NS_OK; +} + diff --git a/toolkit/components/find/nsFindService.h b/toolkit/components/find/nsFindService.h new file mode 100644 index 000000000..6b391d5bf --- /dev/null +++ b/toolkit/components/find/nsFindService.h @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/* + * The sole purpose of the Find service is to store globally the + * last used Find settings + * + */ + +#include "nsString.h" + +#include "nsIFindService.h" + + +// {5060b803-340e-11d5-be5b-b3e063ec6a3c} +#define NS_FIND_SERVICE_CID \ + {0x5060b803, 0x340e, 0x11d5, {0xbe, 0x5b, 0xb3, 0xe0, 0x63, 0xec, 0x6a, 0x3c}} + + +#define NS_FIND_SERVICE_CONTRACTID \ + "@mozilla.org/find/find_service;1" + + +class nsFindService : public nsIFindService +{ +public: + + nsFindService(); + + NS_DECL_ISUPPORTS + NS_DECL_NSIFINDSERVICE + +protected: + + virtual ~nsFindService(); + + nsString mSearchString; + nsString mReplaceString; + + bool mFindBackwards; + bool mWrapFind; + bool mEntireWord; + bool mMatchCase; +}; diff --git a/toolkit/components/find/nsIFindService.idl b/toolkit/components/find/nsIFindService.idl new file mode 100644 index 000000000..c5fb96f76 --- /dev/null +++ b/toolkit/components/find/nsIFindService.idl @@ -0,0 +1,26 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsISupports.idl" + +[scriptable, uuid(5060b801-340e-11d5-be5b-b3e063ec6a3c)] +interface nsIFindService : nsISupports +{ + + /* + * The sole purpose of the Find service is to store globally the + * last used Find settings + * + */ + + attribute AString searchString; + attribute AString replaceString; + + attribute boolean findBackwards; + attribute boolean wrapFind; + attribute boolean entireWord; + attribute boolean matchCase; + +}; |