From 36dae6fed32fc32b3de4d589b65e5f34f8bfbb67 Mon Sep 17 00:00:00 2001 From: "sfraser%netscape.com" Date: Thu, 11 Mar 1999 19:35:26 +0000 Subject: [PATCH] Add SelectAll() to the EditorAppCore git-svn-id: svn://10.0.0.236/trunk@23713 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/xpfe/AppCores/idl/EditorAppCore.idl | 2 ++ .../AppCores/public/nsIDOMEditorAppCore.h | 4 +++ mozilla/xpfe/AppCores/src/nsEditorAppCore.cpp | 10 ++++++ mozilla/xpfe/AppCores/src/nsEditorAppCore.h | 1 + .../xpfe/AppCores/src/nsJSEditorAppCore.cpp | 34 +++++++++++++++++++ 5 files changed, 51 insertions(+) diff --git a/mozilla/xpfe/AppCores/idl/EditorAppCore.idl b/mozilla/xpfe/AppCores/idl/EditorAppCore.idl index dde0f7cc917..131cb219ea5 100755 --- a/mozilla/xpfe/AppCores/idl/EditorAppCore.idl +++ b/mozilla/xpfe/AppCores/idl/EditorAppCore.idl @@ -16,6 +16,8 @@ interface EditorAppCore : BaseAppCore void copy(); void paste(); + void selectAll(); + void insertText(in wstring textToInsert); void exit(); diff --git a/mozilla/xpfe/AppCores/public/nsIDOMEditorAppCore.h b/mozilla/xpfe/AppCores/public/nsIDOMEditorAppCore.h index f4257e3ebb0..96bb3710980 100755 --- a/mozilla/xpfe/AppCores/public/nsIDOMEditorAppCore.h +++ b/mozilla/xpfe/AppCores/public/nsIDOMEditorAppCore.h @@ -51,6 +51,8 @@ public: NS_IMETHOD Paste()=0; + NS_IMETHOD SelectAll()=0; + NS_IMETHOD InsertText(const nsString& aTextToInsert)=0; NS_IMETHOD Exit()=0; @@ -72,6 +74,7 @@ public: NS_IMETHOD Cut(); \ NS_IMETHOD Copy(); \ NS_IMETHOD Paste(); \ + NS_IMETHOD SelectAll(); \ NS_IMETHOD InsertText(const nsString& aTextToInsert); \ NS_IMETHOD Exit(); \ NS_IMETHOD SetToolbarWindow(nsIDOMWindow* aWin); \ @@ -89,6 +92,7 @@ public: NS_IMETHOD Cut() { return _to##Cut(); } \ NS_IMETHOD Copy() { return _to##Copy(); } \ NS_IMETHOD Paste() { return _to##Paste(); } \ + NS_IMETHOD SelectAll() { return _to##SelectAll(); } \ NS_IMETHOD InsertText(const nsString& aTextToInsert) { return _to##InsertText(aTextToInsert); } \ NS_IMETHOD Exit() { return _to##Exit(); } \ NS_IMETHOD SetToolbarWindow(nsIDOMWindow* aWin) { return _to##SetToolbarWindow(aWin); } \ diff --git a/mozilla/xpfe/AppCores/src/nsEditorAppCore.cpp b/mozilla/xpfe/AppCores/src/nsEditorAppCore.cpp index fc539b2d3c0..c6196059fe9 100755 --- a/mozilla/xpfe/AppCores/src/nsEditorAppCore.cpp +++ b/mozilla/xpfe/AppCores/src/nsEditorAppCore.cpp @@ -458,6 +458,16 @@ nsEditorAppCore::Paste() return NS_OK; } +NS_IMETHODIMP +nsEditorAppCore::SelectAll() +{ + if (mEditor) { + mEditor->SelectAll(); + } + + return NS_OK; +} + NS_IMETHODIMP nsEditorAppCore::InsertText(const nsString& textToInsert) { diff --git a/mozilla/xpfe/AppCores/src/nsEditorAppCore.h b/mozilla/xpfe/AppCores/src/nsEditorAppCore.h index 0f76b57a035..381f285a3ba 100755 --- a/mozilla/xpfe/AppCores/src/nsEditorAppCore.h +++ b/mozilla/xpfe/AppCores/src/nsEditorAppCore.h @@ -75,6 +75,7 @@ class nsEditorAppCore : public nsBaseAppCore, NS_IMETHOD Cut(); NS_IMETHOD Copy(); NS_IMETHOD Paste(); + NS_IMETHOD SelectAll(); NS_IMETHOD InsertText(const nsString& textToInsert); diff --git a/mozilla/xpfe/AppCores/src/nsJSEditorAppCore.cpp b/mozilla/xpfe/AppCores/src/nsJSEditorAppCore.cpp index 7ed16cefce6..fb444f9eb53 100755 --- a/mozilla/xpfe/AppCores/src/nsJSEditorAppCore.cpp +++ b/mozilla/xpfe/AppCores/src/nsJSEditorAppCore.cpp @@ -362,6 +362,39 @@ EditorAppCorePaste(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval } +// +// Native method SelectAll +// +PR_STATIC_CALLBACK(JSBool) +EditorAppCoreSelectAll(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) +{ + nsIDOMEditorAppCore *nativeThis = (nsIDOMEditorAppCore*)JS_GetPrivate(cx, obj); + JSBool rBool = JS_FALSE; + + *rval = JSVAL_NULL; + + // If there's no private data, this must be the prototype, so ignore + if (nsnull == nativeThis) { + return JS_TRUE; + } + + if (argc >= 0) { + + if (NS_OK != nativeThis->SelectAll()) { + return JS_FALSE; + } + + *rval = JSVAL_VOID; + } + else { + JS_ReportError(cx, "Function selectAll requires 0 parameters"); + return JS_FALSE; + } + + return JS_TRUE; +} + + // // Native method InsertText // @@ -597,6 +630,7 @@ static JSFunctionSpec EditorAppCoreMethods[] = {"cut", EditorAppCoreCut, 0}, {"copy", EditorAppCoreCopy, 0}, {"paste", EditorAppCorePaste, 0}, + {"selectAll", EditorAppCoreSelectAll, 0}, {"insertText", EditorAppCoreInsertText, 1}, {"exit", EditorAppCoreExit, 0}, {"setToolbarWindow", EditorAppCoreSetToolbarWindow, 1},