r=akkana sr=sfrasier 125146 a=asa This patch will make the embedding API's a better friend to all. It eliminates the use of multibyte strings in command names and also allows for simple command to not require the nsICommandParams interface to be filled.

git-svn-id: svn://10.0.0.236/trunk@125242 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
mjudge%netscape.com 2002-07-15 22:04:13 +00:00
parent c05cd73c0a
commit 2210006d15
40 changed files with 697 additions and 747 deletions

View File

@ -290,10 +290,10 @@ nsXBLPrototypeHandler::ExecuteHandler(nsIDOMEventReceiver* aReceiver,
privateWindow->GetRootFocusController(getter_AddRefs(focusController));
}
nsDependentString command(mHandlerText);
nsCAutoString command;
command.AssignWithConversion(mHandlerText);
if (focusController)
focusController->GetControllerForCommand(command, getter_AddRefs(controller));
focusController->GetControllerForCommand(command.get(), getter_AddRefs(controller));
else GetController(aReceiver, getter_AddRefs(controller)); // We're attached to the receiver possibly.
nsAutoString type;
@ -323,7 +323,7 @@ nsXBLPrototypeHandler::ExecuteHandler(nsIDOMEventReceiver* aReceiver,
aEvent->PreventDefault();
if (controller)
controller->DoCommand(command);
controller->DoCommand(command.get());
return NS_OK;
}

View File

@ -40,12 +40,12 @@
[scriptable, uuid(D5B61B82-1DA4-11d3-BF87-00105A1B0627)]
interface nsIController : nsISupports {
boolean isCommandEnabled(in DOMString command);
boolean supportsCommand(in DOMString command);
boolean isCommandEnabled(in string command);
boolean supportsCommand(in string command);
void doCommand(in DOMString command);
void doCommand(in string command);
void onEvent(in DOMString eventName);
void onEvent(in string eventName);
};
@ -62,9 +62,9 @@ interface nsICommandParams;
interface nsICommandController : nsISupports
{
void getCommandState( in nsICommandParams aCommandParams);
void getCommandState( in string command, in nsICommandParams aCommandParams);
void doCommand(in nsICommandParams aCommandParams);
void doCommand(in string command, in nsICommandParams aCommandParams);
};
@ -79,17 +79,17 @@ interface nsISimpleEnumerator;
interface nsIControllerCommandGroup : nsISupports
{
void addCommandToGroup(in DOMString aCommand, in DOMString aGroup);
void removeCommandFromGroup(in DOMString aCommand, in DOMString aGroup);
void addCommandToGroup(in string aCommand, in string aGroup);
void removeCommandFromGroup(in string aCommand, in string aGroup);
boolean isCommandInGroup(in DOMString aCommand, in DOMString aGroup);
boolean isCommandInGroup(in string aCommand, in string aGroup);
/*
We should expose some methods that allow for enumeration.
*/
nsISimpleEnumerator getGroupsEnumerator();
nsISimpleEnumerator getEnumeratorForGroup(in DOMString aGroup);
nsISimpleEnumerator getEnumeratorForGroup(in string aGroup);
};

View File

@ -61,7 +61,7 @@ interface nsIControllerCommand : nsISupports
* allowing the command to get some context information.
* The contents of this cookie are implementation-defined.
*/
boolean isCommandEnabled(in DOMString aCommandName, in nsISupports aCommandRefCon);
boolean isCommandEnabled(in string aCommandName, in nsISupports aCommandRefCon);
/**
* Execute the name command.
@ -72,7 +72,7 @@ interface nsIControllerCommand : nsISupports
* allowing the command to get some context information.
* The contents of this cookie are implementation-defined.
*/
void doCommand(in DOMString aCommandName, in nsISupports aCommandRefCon);
void doCommand(in string aCommandName, in nsISupports aCommandRefCon);
};
@ -100,7 +100,7 @@ interface nsIStateUpdatingControllerCommand : nsISupports
* allowing the command to get some context information.
* The contents of this cookie are implementation-defined.
*/
void updateCommandState(in DOMString aCommandName, in nsISupports aCommandRefCon);
void updateCommandState(in string aCommandName, in nsISupports aCommandRefCon);
};
@ -129,15 +129,15 @@ interface nsIControllerCommandManager : nsISupports
*
* @param aCommand the handler for this command.
*/
void registerCommand(in DOMString aCommandName, in nsIControllerCommand aCommand);
void unregisterCommand(in DOMString aCommandName, in nsIControllerCommand aCommand);
void registerCommand(in string aCommandName, in nsIControllerCommand aCommand);
void unregisterCommand(in string aCommandName, in nsIControllerCommand aCommand);
/**
* Find the command handler which has been registered to handle the named command.
*
* @param aCommandName the name of the command to find the handler for.
*/
nsIControllerCommand findCommandHandler(in DOMString aCommandName);
nsIControllerCommand findCommandHandler(in string aCommandName);
/**
* Get whether the named command is enabled.
@ -145,7 +145,7 @@ interface nsIControllerCommandManager : nsISupports
* @param aCommandName the name of the command to test
* @param aCommandRefCon the command context data
*/
boolean isCommandEnabled(in DOMString aCommandName, in nsISupports aCommandRefCon);
boolean isCommandEnabled(in string aCommandName, in nsISupports aCommandRefCon);
/**
* Tell the command to udpate its state (if it is a state updating command)
@ -153,7 +153,7 @@ interface nsIControllerCommandManager : nsISupports
* @param aCommandName the name of the command to update
* @param aCommandRefCon the command context data
*/
void updateCommandState(in DOMString aCommandName, in nsISupports aCommandRefCon);
void updateCommandState(in string aCommandName, in nsISupports aCommandRefCon);
/**
* Get whether the named command is supported.
@ -161,7 +161,7 @@ interface nsIControllerCommandManager : nsISupports
* @param aCommandName the name of the command to test
* @param aCommandRefCon the command context data
*/
boolean supportsCommand(in DOMString aCommandName, in nsISupports aCommandRefCon);
boolean supportsCommand(in string aCommandName, in nsISupports aCommandRefCon);
/**
* Execute the named command.
@ -169,7 +169,7 @@ interface nsIControllerCommandManager : nsISupports
* @param aCommandName the name of the command to execute
* @param aCommandRefCon the command context data
*/
void doCommand(in DOMString aCommandName, in nsISupports aCommandRefCon);
void doCommand(in string aCommandName, in nsISupports aCommandRefCon);
};

View File

@ -45,7 +45,7 @@ interface nsIControllers : nsISupports
{
attribute nsIDOMXULCommandDispatcher commandDispatcher;
nsIController getControllerForCommand(in DOMString command);
nsIController getControllerForCommand(in string command);
void insertControllerAt(in unsigned long index, in nsIController controller);
nsIController removeControllerAt(in unsigned long index);

View File

@ -420,7 +420,7 @@ nsXULCommandDispatcher::GetControllers(nsIControllers** aResult)
}
NS_IMETHODIMP
nsXULCommandDispatcher::GetControllerForCommand(const nsAString& aCommand, nsIController** _retval)
nsXULCommandDispatcher::GetControllerForCommand(const char *aCommand, nsIController** _retval)
{
EnsureFocusController();
return mFocusController->GetControllerForCommand(aCommand, _retval);

View File

@ -130,7 +130,7 @@ nsXULControllers::SetCommandDispatcher(nsIDOMXULCommandDispatcher* aCommandDispa
}
NS_IMETHODIMP
nsXULControllers::GetControllerForCommand(const nsAString& aCommand, nsIController** _retval)
nsXULControllers::GetControllerForCommand(const char *aCommand, nsIController** _retval)
{
NS_ENSURE_ARG_POINTER(_retval);
*_retval = nsnull;

View File

@ -989,7 +989,7 @@ nsresult nsWebShell::EndPageLoad(nsIWebProgress *aProgress,
#endif
nsresult
nsWebShell::GetControllerForCommand ( const nsAString & inCommand, nsIController** outController )
nsWebShell::GetControllerForCommand ( const char * inCommand, nsIController** outController )
{
NS_ENSURE_ARG_POINTER(outController);
*outController = nsnull;
@ -1010,7 +1010,7 @@ nsWebShell::GetControllerForCommand ( const nsAString & inCommand, nsIController
nsresult
nsWebShell::IsCommandEnabled ( const nsAString & inCommand, PRBool* outEnabled )
nsWebShell::IsCommandEnabled ( const char * inCommand, PRBool* outEnabled )
{
NS_ENSURE_ARG_POINTER(outEnabled);
*outEnabled = PR_FALSE;
@ -1027,7 +1027,7 @@ nsWebShell::IsCommandEnabled ( const nsAString & inCommand, PRBool* outEnabled )
nsresult
nsWebShell::DoCommand ( const nsAString & inCommand )
nsWebShell::DoCommand ( const char * inCommand )
{
nsresult rv = NS_ERROR_FAILURE;
@ -1043,81 +1043,81 @@ nsWebShell::DoCommand ( const nsAString & inCommand )
NS_IMETHODIMP
nsWebShell::CanCutSelection(PRBool* aResult)
{
return IsCommandEnabled ( NS_LITERAL_STRING("cmd_cut"), aResult );
return IsCommandEnabled ( "cmd_cut", aResult );
}
NS_IMETHODIMP
nsWebShell::CanCopySelection(PRBool* aResult)
{
return IsCommandEnabled ( NS_LITERAL_STRING("cmd_copy"), aResult );
return IsCommandEnabled ( "cmd_copy", aResult );
}
NS_IMETHODIMP
nsWebShell::CanCopyLinkLocation(PRBool* aResult)
{
return IsCommandEnabled ( NS_LITERAL_STRING("cmd_copyLink"), aResult );
return IsCommandEnabled ( "cmd_copyLink", aResult );
}
NS_IMETHODIMP
nsWebShell::CanCopyImageLocation(PRBool* aResult)
{
return IsCommandEnabled ( NS_LITERAL_STRING("cmd_copyImageLocation"),
return IsCommandEnabled ( "cmd_copyImageLocation",
aResult );
}
NS_IMETHODIMP
nsWebShell::CanCopyImageContents(PRBool* aResult)
{
return IsCommandEnabled ( NS_LITERAL_STRING("cmd_copyImageContents"),
return IsCommandEnabled ( "cmd_copyImageContents",
aResult );
}
NS_IMETHODIMP
nsWebShell::CanPaste(PRBool* aResult)
{
return IsCommandEnabled ( NS_LITERAL_STRING("cmd_paste"), aResult );
return IsCommandEnabled ( "cmd_paste", aResult );
}
NS_IMETHODIMP
nsWebShell::CutSelection(void)
{
return DoCommand ( NS_LITERAL_STRING("cmd_cut") );
return DoCommand ( "cmd_cut" );
}
NS_IMETHODIMP
nsWebShell::CopySelection(void)
{
return DoCommand ( NS_LITERAL_STRING("cmd_copy") );
return DoCommand ( "cmd_copy" );
}
NS_IMETHODIMP
nsWebShell::CopyLinkLocation(void)
{
return DoCommand ( NS_LITERAL_STRING("cmd_copyLink") );
return DoCommand ( "cmd_copyLink" );
}
NS_IMETHODIMP
nsWebShell::CopyImageLocation(void)
{
return DoCommand ( NS_LITERAL_STRING("cmd_copyImageLocation") );
return DoCommand ( "cmd_copyImageLocation" );
}
NS_IMETHODIMP
nsWebShell::CopyImageContents(void)
{
return DoCommand ( NS_LITERAL_STRING("cmd_copyImageContents") );
return DoCommand ( "cmd_copyImageContents" );
}
NS_IMETHODIMP
nsWebShell::Paste(void)
{
return DoCommand ( NS_LITERAL_STRING("cmd_paste") );
return DoCommand ( "cmd_paste" );
}
NS_IMETHODIMP
nsWebShell::SelectAll(void)
{
return DoCommand ( NS_LITERAL_STRING("cmd_selectAll") );
return DoCommand ( "cmd_selectAll" );
}
@ -1130,7 +1130,7 @@ nsWebShell::SelectAll(void)
NS_IMETHODIMP
nsWebShell::SelectNone(void)
{
return DoCommand ( NS_LITERAL_STRING("cmd_selectNone") );
return DoCommand ( "cmd_selectNone" );
}

View File

@ -101,9 +101,9 @@ protected:
void InitFrameData();
// helpers for executing commands
virtual nsresult GetControllerForCommand ( const nsAString & inCommand, nsIController** outController );
virtual nsresult IsCommandEnabled ( const nsAString & inCommand, PRBool* outEnabled );
virtual nsresult DoCommand ( const nsAString & inCommand );
virtual nsresult GetControllerForCommand ( const char *inCommand, nsIController** outController );
virtual nsresult IsCommandEnabled ( const char * inCommand, PRBool* outEnabled );
virtual nsresult DoCommand ( const char * inCommand );
nsresult EnsureCommandHandler();
//

View File

@ -59,7 +59,7 @@ public:
NS_IMETHOD GetPopupNode(nsIDOMNode** aNode)=0;
NS_IMETHOD SetPopupNode(nsIDOMNode* aNode)=0;
NS_IMETHOD GetControllerForCommand(const nsAString& aCommand, nsIController** aResult)=0;
NS_IMETHOD GetControllerForCommand(const char * aCommand, nsIController** aResult)=0;
NS_IMETHOD GetControllers(nsIControllers** aResult)=0;
NS_IMETHOD MoveFocus(PRBool aForward, nsIDOMElement* aElt)=0;

View File

@ -59,7 +59,7 @@ interface nsIDOMXULCommandDispatcher : nsISupports
void updateCommands(in DOMString eventName);
nsIController getControllerForCommand(in DOMString command);
nsIController getControllerForCommand(in string command);
nsIControllers getControllers();
void advanceFocus();

View File

@ -357,7 +357,7 @@ nsFocusController::GetParentWindowFromDocument(nsIDOMDocument* aDocument, nsIDOM
}
NS_IMETHODIMP
nsFocusController::GetControllerForCommand(const nsAString& aCommand, nsIController** _retval)
nsFocusController::GetControllerForCommand(const char * aCommand, nsIController** _retval)
{
NS_ENSURE_ARG_POINTER(_retval);
*_retval = nsnull;

View File

@ -68,7 +68,7 @@ public:
NS_IMETHOD GetPopupNode(nsIDOMNode** aNode);
NS_IMETHOD SetPopupNode(nsIDOMNode* aNode);
NS_IMETHOD GetControllerForCommand(const nsAString& aCommand, nsIController** aResult);
NS_IMETHOD GetControllerForCommand(const char *aCommand, nsIController** aResult);
NS_IMETHOD GetControllers(nsIControllers** aResult);
NS_IMETHOD MoveFocus(PRBool aForward, nsIDOMElement* aElt);

View File

@ -5985,7 +5985,7 @@ nsDOMWindowController::GetSelectionController(nsISelectionController **aSelCon)
NS_IMETHODIMP
nsDOMWindowController::IsCommandEnabled(const nsAString& aCommand,
nsDOMWindowController::IsCommandEnabled(const char* aCommand,
PRBool *aResult)
{
NS_ENSURE_ARG_POINTER(aResult);
@ -5998,33 +5998,31 @@ nsDOMWindowController::IsCommandEnabled(const nsAString& aCommand,
NS_ENSURE_SUCCESS(rv, rv);
NS_ENSURE_TRUE(editInterface, NS_ERROR_NOT_INITIALIZED);
nsCAutoString commandName;
commandName.AssignWithConversion(aCommand);
if (commandName.Equals(sCopyString)) {
if (!nsCRT::strcmp(sCopyString,aCommand)) {
rv = editInterface->GetCopyable(aResult);
}
else if (commandName.Equals(sCutString)) {
else if (!nsCRT::strcmp(sCutString,aCommand)) {
rv = editInterface->GetCutable(aResult);
}
else if (commandName.Equals(sPasteString)) {
else if (!nsCRT::strcmp(sPasteString,aCommand)) {
rv = editInterface->GetPasteable(aResult);
}
else if (commandName.Equals(sSelectAllString)) {
else if (!nsCRT::strcmp(sSelectAllString,aCommand)) {
*aResult = PR_TRUE;
rv = NS_OK;
}
else if (commandName.Equals(sSelectNoneString)) {
else if (!nsCRT::strcmp(sSelectNoneString,aCommand)) {
*aResult = PR_TRUE;
rv = NS_OK;
}
else if (commandName.Equals(sCopyLinkString)) {
else if (!nsCRT::strcmp(sCopyLinkString,aCommand)) {
rv = editInterface->GetInLink(aResult);
}
else if (commandName.Equals(sCopyImageLocationString)) {
else if (!nsCRT::strcmp(sCopyImageLocationString,aCommand)) {
rv = editInterface->GetInImage(aResult);
}
else if (commandName.Equals(sCopyImageContentsString)) {
else if (!nsCRT::strcmp(sCopyImageContentsString,aCommand)) {
rv = editInterface->GetInImage(aResult);
}
@ -6032,48 +6030,45 @@ nsDOMWindowController::IsCommandEnabled(const nsAString& aCommand,
}
NS_IMETHODIMP
nsDOMWindowController::SupportsCommand(const nsAString& aCommand,
nsDOMWindowController::SupportsCommand(const char * aCommand,
PRBool *outSupported)
{
NS_ENSURE_ARG_POINTER(outSupported);
*outSupported = PR_FALSE;
nsCAutoString commandName;
commandName.AssignWithConversion(aCommand);
if (commandName.Equals(sCopyString) ||
commandName.Equals(sSelectAllString) ||
commandName.Equals(sSelectNoneString) ||
commandName.Equals(sCutString) ||
commandName.Equals(sPasteString) ||
commandName.Equals(sScrollTopString) ||
commandName.Equals(sScrollBottomString) ||
commandName.Equals(sCopyLinkString) ||
commandName.Equals(sCopyImageLocationString) ||
commandName.Equals(sCopyImageContentsString) ||
commandName.Equals(sScrollPageUpString) ||
commandName.Equals(sScrollPageDownString) ||
commandName.Equals(sScrollLineUpString) ||
commandName.Equals(sScrollLineDownString) ||
commandName.Equals(sScrollLeftString) ||
commandName.Equals(sScrollRightString) ||
commandName.Equals(sSelectCharPreviousString) ||
commandName.Equals(sSelectCharNextString) ||
commandName.Equals(sWordPreviousString) ||
commandName.Equals(sWordNextString) ||
commandName.Equals(sSelectWordPreviousString) ||
commandName.Equals(sSelectWordNextString) ||
commandName.Equals(sBeginLineString) ||
commandName.Equals(sEndLineString) ||
commandName.Equals(sSelectBeginLineString) ||
commandName.Equals(sSelectEndLineString) ||
commandName.Equals(sSelectLinePreviousString) ||
commandName.Equals(sSelectLineNextString) ||
commandName.Equals(sSelectPagePreviousString) ||
commandName.Equals(sSelectPageNextString) ||
commandName.Equals(sSelectMoveTopString) ||
commandName.Equals(sSelectMoveBottomString)
if (!nsCRT::strcmp(aCommand,sCopyString) ||
!nsCRT::strcmp(aCommand,sSelectAllString) ||
!nsCRT::strcmp(aCommand,sSelectNoneString) ||
!nsCRT::strcmp(aCommand,sCutString) ||
!nsCRT::strcmp(aCommand,sPasteString) ||
!nsCRT::strcmp(aCommand,sScrollTopString) ||
!nsCRT::strcmp(aCommand,sScrollBottomString) ||
!nsCRT::strcmp(aCommand,sCopyLinkString) ||
!nsCRT::strcmp(aCommand,sCopyImageLocationString) ||
!nsCRT::strcmp(aCommand,sCopyImageContentsString) ||
!nsCRT::strcmp(aCommand,sScrollPageUpString) ||
!nsCRT::strcmp(aCommand,sScrollPageDownString) ||
!nsCRT::strcmp(aCommand,sScrollLineUpString) ||
!nsCRT::strcmp(aCommand,sScrollLineDownString) ||
!nsCRT::strcmp(aCommand,sScrollLeftString) ||
!nsCRT::strcmp(aCommand,sScrollRightString) ||
!nsCRT::strcmp(aCommand,sSelectCharPreviousString) ||
!nsCRT::strcmp(aCommand,sSelectCharNextString) ||
!nsCRT::strcmp(aCommand,sWordPreviousString) ||
!nsCRT::strcmp(aCommand,sWordNextString) ||
!nsCRT::strcmp(aCommand,sSelectWordPreviousString) ||
!nsCRT::strcmp(aCommand,sSelectWordNextString) ||
!nsCRT::strcmp(aCommand,sBeginLineString) ||
!nsCRT::strcmp(aCommand,sEndLineString) ||
!nsCRT::strcmp(aCommand,sSelectBeginLineString) ||
!nsCRT::strcmp(aCommand,sSelectEndLineString) ||
!nsCRT::strcmp(aCommand,sSelectLinePreviousString) ||
!nsCRT::strcmp(aCommand,sSelectLineNextString) ||
!nsCRT::strcmp(aCommand,sSelectPagePreviousString) ||
!nsCRT::strcmp(aCommand,sSelectPageNextString) ||
!nsCRT::strcmp(aCommand,sSelectMoveTopString) ||
!nsCRT::strcmp(aCommand,sSelectMoveBottomString)
)
*outSupported = PR_TRUE;
@ -6081,45 +6076,43 @@ nsDOMWindowController::SupportsCommand(const nsAString& aCommand,
}
NS_IMETHODIMP
nsDOMWindowController::DoCommand(const nsAString & aCommand)
nsDOMWindowController::DoCommand(const char *aCommand)
{
nsresult rv = NS_ERROR_FAILURE;
nsCAutoString commandName;
commandName.AssignWithConversion(aCommand);
if (commandName.Equals(sCopyString) ||
commandName.Equals(sSelectAllString) ||
commandName.Equals(sSelectNoneString) ||
commandName.Equals(sCutString) ||
commandName.Equals(sPasteString) ||
commandName.Equals(sCopyLinkString) ||
commandName.Equals(sCopyImageLocationString) ||
commandName.Equals(sCopyImageContentsString)) {
rv = DoCommandWithEditInterface(commandName);
if (!nsCRT::strcmp(aCommand,sCopyString) ||
!nsCRT::strcmp(aCommand,sSelectAllString) ||
!nsCRT::strcmp(aCommand,sSelectNoneString) ||
!nsCRT::strcmp(aCommand,sCutString) ||
!nsCRT::strcmp(aCommand,sPasteString) ||
!nsCRT::strcmp(aCommand,sCopyLinkString) ||
!nsCRT::strcmp(aCommand,sCopyImageLocationString) ||
!nsCRT::strcmp(aCommand,sCopyImageContentsString)) {
rv = DoCommandWithEditInterface(aCommand);
}
else if (commandName.Equals(sScrollTopString) ||
commandName.Equals(sScrollBottomString) ||
commandName.Equals(sScrollPageUpString) ||
commandName.Equals(sScrollPageDownString) ||
commandName.Equals(sScrollLineUpString) ||
commandName.Equals(sScrollLineDownString) ||
commandName.Equals(sScrollLeftString) ||
commandName.Equals(sScrollRightString) ||
commandName.Equals(sSelectCharPreviousString) ||
commandName.Equals(sSelectCharNextString) ||
commandName.Equals(sWordPreviousString) ||
commandName.Equals(sWordNextString) ||
commandName.Equals(sSelectWordPreviousString) ||
commandName.Equals(sSelectWordNextString) ||
commandName.Equals(sBeginLineString) ||
commandName.Equals(sEndLineString) ||
commandName.Equals(sSelectBeginLineString) ||
commandName.Equals(sSelectEndLineString) ||
commandName.Equals(sSelectLinePreviousString) ||
commandName.Equals(sSelectLineNextString) ||
commandName.Equals(sSelectMoveTopString) ||
commandName.Equals(sSelectMoveBottomString)) {
rv = DoCommandWithSelectionController(commandName);
else if (!nsCRT::strcmp(aCommand,sScrollTopString) ||
!nsCRT::strcmp(aCommand,sScrollBottomString) ||
!nsCRT::strcmp(aCommand,sScrollPageUpString) ||
!nsCRT::strcmp(aCommand,sScrollPageDownString) ||
!nsCRT::strcmp(aCommand,sScrollLineUpString) ||
!nsCRT::strcmp(aCommand,sScrollLineDownString) ||
!nsCRT::strcmp(aCommand,sScrollLeftString) ||
!nsCRT::strcmp(aCommand,sScrollRightString) ||
!nsCRT::strcmp(aCommand,sSelectCharPreviousString) ||
!nsCRT::strcmp(aCommand,sSelectCharNextString) ||
!nsCRT::strcmp(aCommand,sWordPreviousString) ||
!nsCRT::strcmp(aCommand,sWordNextString) ||
!nsCRT::strcmp(aCommand,sSelectWordPreviousString) ||
!nsCRT::strcmp(aCommand,sSelectWordNextString) ||
!nsCRT::strcmp(aCommand,sBeginLineString) ||
!nsCRT::strcmp(aCommand,sEndLineString) ||
!nsCRT::strcmp(aCommand,sSelectBeginLineString) ||
!nsCRT::strcmp(aCommand,sSelectEndLineString) ||
!nsCRT::strcmp(aCommand,sSelectLinePreviousString) ||
!nsCRT::strcmp(aCommand,sSelectLineNextString) ||
!nsCRT::strcmp(aCommand,sSelectMoveTopString) ||
!nsCRT::strcmp(aCommand,sSelectMoveBottomString)) {
rv = DoCommandWithSelectionController(aCommand);
// If the user moves the caret in browse with caret mode
// Focus whatever they move onto, if it's focusable
if (mBrowseWithCaret) {
@ -6135,7 +6128,7 @@ nsDOMWindowController::DoCommand(const nsAString & aCommand)
}
nsresult
nsDOMWindowController::DoCommandWithEditInterface(const nsCString& aCommandName)
nsDOMWindowController::DoCommandWithEditInterface(const char *aCommandName)
{
// get edit interface...
nsCOMPtr<nsIContentViewerEdit> editInterface;
@ -6146,21 +6139,21 @@ nsDOMWindowController::DoCommandWithEditInterface(const nsCString& aCommandName)
rv = NS_ERROR_FAILURE;
if (aCommandName.Equals(sCopyString))
if (!nsCRT::strcmp(aCommandName,sCopyString))
rv = editInterface->CopySelection();
else if (aCommandName.Equals(sSelectAllString))
else if (!nsCRT::strcmp(aCommandName,sSelectAllString))
rv = editInterface->SelectAll();
else if (aCommandName.Equals(sSelectNoneString))
else if (!nsCRT::strcmp(aCommandName,sSelectNoneString))
rv = editInterface->ClearSelection();
else if (aCommandName.Equals(sCutString))
else if (!nsCRT::strcmp(aCommandName,sCutString))
rv = editInterface->CutSelection();
else if (aCommandName.Equals(sPasteString))
else if (!nsCRT::strcmp(aCommandName,sPasteString))
rv = editInterface->Paste();
else if (aCommandName.Equals(sCopyLinkString))
else if (!nsCRT::strcmp(aCommandName,sCopyLinkString))
rv = editInterface->CopyLinkLocation();
else if (aCommandName.Equals(sCopyImageLocationString))
else if (!nsCRT::strcmp(aCommandName,sCopyImageLocationString))
rv = editInterface->CopyImageLocation();
else if (aCommandName.Equals(sCopyImageContentsString))
else if (!nsCRT::strcmp(aCommandName,sCopyImageContentsString))
rv = editInterface->CopyImageContents();
return rv;
@ -6168,7 +6161,7 @@ nsDOMWindowController::DoCommandWithEditInterface(const nsCString& aCommandName)
}
nsresult
nsDOMWindowController::DoCommandWithSelectionController(const nsCString& aCommandName) {
nsDOMWindowController::DoCommandWithSelectionController(const char *aCommandName) {
// get selection controller...
nsCOMPtr<nsISelectionController> selCont;
@ -6179,51 +6172,51 @@ nsDOMWindowController::DoCommandWithSelectionController(const nsCString& aComman
rv = NS_ERROR_FAILURE;
if (aCommandName.Equals(sScrollTopString))
if (!nsCRT::strcmp(aCommandName,sScrollTopString))
rv = (mBrowseWithCaret? selCont->CompleteMove(PR_FALSE, PR_FALSE): selCont->CompleteScroll(PR_FALSE));
else if (aCommandName.Equals(sScrollBottomString))
else if (!nsCRT::strcmp(aCommandName,sScrollBottomString))
rv = (mBrowseWithCaret? selCont->CompleteMove(PR_TRUE, PR_FALSE): selCont->CompleteScroll(PR_TRUE));
else if (aCommandName.Equals(sScrollPageUpString))
else if (!nsCRT::strcmp(aCommandName,sScrollPageUpString))
rv = (mBrowseWithCaret? selCont->PageMove(PR_FALSE, PR_FALSE): selCont->ScrollPage(PR_FALSE));
else if (aCommandName.Equals(sScrollPageDownString))
else if (!nsCRT::strcmp(aCommandName,sScrollPageDownString))
rv = (mBrowseWithCaret? selCont->PageMove(PR_TRUE, PR_FALSE): selCont->ScrollPage(PR_TRUE));
else if (aCommandName.Equals(sScrollLineUpString))
else if (!nsCRT::strcmp(aCommandName,sScrollLineUpString))
rv = (mBrowseWithCaret? selCont->LineMove(PR_FALSE, PR_FALSE): selCont->ScrollLine(PR_FALSE));
else if (aCommandName.Equals(sScrollLineDownString))
else if (!nsCRT::strcmp(aCommandName,sScrollLineDownString))
rv = (mBrowseWithCaret? selCont->LineMove(PR_TRUE, PR_FALSE): selCont->ScrollLine(PR_TRUE));
else if (aCommandName.Equals(sScrollLeftString))
else if (!nsCRT::strcmp(aCommandName,sScrollLeftString))
rv = (mBrowseWithCaret? selCont->CharacterMove(PR_FALSE, PR_FALSE): selCont->ScrollHorizontal(PR_TRUE));
else if (aCommandName.Equals(sScrollRightString))
else if (!nsCRT::strcmp(aCommandName,sScrollRightString))
rv = (mBrowseWithCaret? selCont->CharacterMove(PR_TRUE, PR_FALSE): selCont->ScrollHorizontal(PR_FALSE));
// These commands are so the browser can use editor navigation key bindings -
// Helps with accessibility - aaronl@chorus.net
else if (aCommandName.Equals(sSelectCharPreviousString))
else if (!nsCRT::strcmp(aCommandName,sSelectCharPreviousString))
rv = selCont->CharacterMove(PR_FALSE, PR_TRUE);
else if (aCommandName.Equals(sSelectCharNextString))
else if (!nsCRT::strcmp(aCommandName,sSelectCharNextString))
rv = selCont->CharacterMove(PR_TRUE, PR_TRUE);
else if (aCommandName.Equals(sWordPreviousString))
else if (!nsCRT::strcmp(aCommandName,sWordPreviousString))
rv = selCont->WordMove(PR_FALSE, PR_FALSE);
else if (aCommandName.Equals(sWordNextString))
else if (!nsCRT::strcmp(aCommandName,sWordNextString))
rv = selCont->WordMove(PR_TRUE, PR_FALSE);
else if (aCommandName.Equals(sSelectWordPreviousString))
else if (!nsCRT::strcmp(aCommandName,sSelectWordPreviousString))
rv = selCont->WordMove(PR_FALSE, PR_TRUE);
else if (aCommandName.Equals(sSelectWordNextString))
else if (!nsCRT::strcmp(aCommandName,sSelectWordNextString))
rv = selCont->WordMove(PR_TRUE, PR_TRUE);
else if (aCommandName.Equals(sBeginLineString))
else if (!nsCRT::strcmp(aCommandName,sBeginLineString))
rv = selCont->IntraLineMove(PR_FALSE, PR_FALSE);
else if (aCommandName.Equals(sEndLineString))
else if (!nsCRT::strcmp(aCommandName,sEndLineString))
rv = selCont->IntraLineMove(PR_TRUE, PR_FALSE);
else if (aCommandName.Equals(sSelectBeginLineString))
else if (!nsCRT::strcmp(aCommandName,sSelectBeginLineString))
rv = selCont->IntraLineMove(PR_FALSE, PR_TRUE);
else if (aCommandName.Equals(sSelectEndLineString))
else if (!nsCRT::strcmp(aCommandName,sSelectEndLineString))
rv = selCont->IntraLineMove(PR_TRUE, PR_TRUE);
else if (aCommandName.Equals(sSelectLinePreviousString))
else if (!nsCRT::strcmp(aCommandName,sSelectLinePreviousString))
rv = selCont->LineMove(PR_FALSE, PR_TRUE);
else if (aCommandName.Equals(sSelectLineNextString))
else if (!nsCRT::strcmp(aCommandName,sSelectLineNextString))
rv = selCont->LineMove(PR_TRUE, PR_TRUE);
else if (aCommandName.Equals(sSelectMoveTopString))
else if (!nsCRT::strcmp(aCommandName,sSelectMoveTopString))
rv = selCont->CompleteMove(PR_FALSE, PR_TRUE);
else if (aCommandName.Equals(sSelectMoveBottomString))
else if (!nsCRT::strcmp(aCommandName,sSelectMoveBottomString))
rv = selCont->CompleteMove(PR_TRUE, PR_TRUE);
return rv;
@ -6231,7 +6224,7 @@ nsDOMWindowController::DoCommandWithSelectionController(const nsCString& aComman
}
NS_IMETHODIMP
nsDOMWindowController::OnEvent(const nsAString & aEventName)
nsDOMWindowController::OnEvent(const char * aEventName)
{
return NS_OK;
}

View File

@ -460,8 +460,8 @@ private:
nsresult GetEditInterface( nsIContentViewerEdit** aEditInterface);
nsresult GetSelectionController(nsISelectionController ** aSelCon);
nsresult DoCommandWithEditInterface(const nsCString& aCommandName);
nsresult DoCommandWithSelectionController(const nsCString& aCommandName);
nsresult DoCommandWithEditInterface(const char * aCommandName);
nsresult DoCommandWithSelectionController(const char * aCommandName);
nsIDOMWindowInternal *mWindow;
PRBool mBrowseWithCaret;

View File

@ -68,13 +68,13 @@ nsresult GetListItemState(nsIEditor *aEditor, PRBool *aMixed, PRUnichar **_retva
//defines
#define COMMAND_NAME NS_LITERAL_STRING("cmd_name")
#define STATE_ENABLED NS_LITERAL_STRING("state_enabled")
#define STATE_ALL NS_LITERAL_STRING("state_all")
#define STATE_ATTRIBUTE NS_LITERAL_STRING("state_attribute")
#define STATE_BEGIN NS_LITERAL_STRING("state_begin")
#define STATE_END NS_LITERAL_STRING("state_end")
#define STATE_MIXED NS_LITERAL_STRING("state_mixed")
#define COMMAND_NAME "cmd_name"
#define STATE_ENABLED "state_enabled"
#define STATE_ALL "state_all"
#define STATE_ATTRIBUTE "state_attribute"
#define STATE_BEGIN "state_begin"
#define STATE_END "state_end"
#define STATE_MIXED "state_mixed"
@ -178,7 +178,7 @@ nsBaseStateUpdatingCommand::~nsBaseStateUpdatingCommand()
NS_IMPL_ISUPPORTS_INHERITED1(nsBaseStateUpdatingCommand, nsBaseComposerCommand, nsIStateUpdatingControllerCommand);
NS_IMETHODIMP
nsBaseStateUpdatingCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *refCon, PRBool *outCmdEnabled)
nsBaseStateUpdatingCommand::IsCommandEnabled(const char *aCommandName, nsISupports *refCon, PRBool *outCmdEnabled)
{
nsCOMPtr<nsIEditorShell> editorShell = do_QueryInterface(refCon);
*outCmdEnabled = PR_FALSE;
@ -195,7 +195,7 @@ nsBaseStateUpdatingCommand::IsCommandEnabled(const nsAString & aCommandName, nsI
NS_IMETHODIMP
nsBaseStateUpdatingCommand::DoCommand(const nsAString & aCommandName, nsISupports *refCon)
nsBaseStateUpdatingCommand::DoCommand(const char *aCommandName, nsISupports *refCon)
{
nsCOMPtr<nsIEditorShell> editorShell = do_QueryInterface(refCon);
if (!editorShell) return NS_ERROR_NOT_INITIALIZED;
@ -207,7 +207,7 @@ nsBaseStateUpdatingCommand::DoCommand(const nsAString & aCommandName, nsISupport
}
NS_IMETHODIMP
nsBaseStateUpdatingCommand::DoCommandParams(nsICommandParams *aParams, nsISupports *refCon)
nsBaseStateUpdatingCommand::DoCommandParams(const char *aCommandName, nsICommandParams *aParams, nsISupports *refCon)
{
nsCOMPtr<nsIEditor> editor = do_QueryInterface(refCon);
if (!editor)
@ -220,7 +220,7 @@ nsBaseStateUpdatingCommand::DoCommandParams(nsICommandParams *aParams, nsISuppor
}
NS_IMETHODIMP
nsBaseStateUpdatingCommand::GetCommandState(nsICommandParams *aParams, nsISupports *refCon)
nsBaseStateUpdatingCommand::GetCommandState(const char *aCommandName, nsICommandParams *aParams, nsISupports *refCon)
{
nsCOMPtr<nsIEditor> editor = do_QueryInterface(refCon);
nsresult rv = NS_OK;
@ -232,7 +232,7 @@ nsBaseStateUpdatingCommand::GetCommandState(nsICommandParams *aParams, nsISuppor
}
NS_IMETHODIMP
nsBaseStateUpdatingCommand::UpdateCommandState(const nsAString & aCommandName, nsISupports *refCon)
nsBaseStateUpdatingCommand::UpdateCommandState(const char * aCommandName, nsISupports *refCon)
{
nsCOMPtr<nsIEditorShell> editorShell = do_QueryInterface(refCon);
nsresult rv = NS_OK;
@ -245,7 +245,9 @@ nsBaseStateUpdatingCommand::UpdateCommandState(const nsAString & aCommandName, n
if (!mGotState || (stateIsSet != mState))
{
// poke the UI
SetCommandNodeState(aCommandName, editorShell, NS_ConvertASCIItoUCS2(stateIsSet ? "true" : "false"));
nsAutoString commandName;
commandName.AssignWithConversion(aCommandName);
SetCommandNodeState(commandName, editorShell, NS_ConvertASCIItoUCS2(stateIsSet ? "true" : "false"));
mGotState = PR_TRUE;
mState = stateIsSet;
@ -296,7 +298,7 @@ nsCloseCommand::DoCommand(const nsAString & aCommandName, const nsAString & aCom
#endif
NS_IMETHODIMP
nsPasteQuotationCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *refCon, PRBool *outCmdEnabled)
nsPasteQuotationCommand::IsCommandEnabled(const char * aCommandName, nsISupports *refCon, PRBool *outCmdEnabled)
{
nsCOMPtr<nsIEditorShell> editorShell = do_QueryInterface(refCon);
*outCmdEnabled = PR_FALSE;
@ -313,7 +315,7 @@ nsPasteQuotationCommand::IsCommandEnabled(const nsAString & aCommandName, nsISup
NS_IMETHODIMP
nsPasteQuotationCommand::DoCommand(const nsAString & aCommandName, nsISupports *refCon)
nsPasteQuotationCommand::DoCommand(const char *aCommandName, nsISupports *refCon)
{
nsCOMPtr<nsIEditorShell> editorShell = do_QueryInterface(refCon);
@ -327,7 +329,7 @@ nsPasteQuotationCommand::DoCommand(const nsAString & aCommandName, nsISupports *
}
NS_IMETHODIMP
nsPasteQuotationCommand::DoCommandParams(nsICommandParams *aParams, nsISupports *refCon)
nsPasteQuotationCommand::DoCommandParams(const char *aCommandName, nsICommandParams *aParams, nsISupports *refCon)
{
nsCOMPtr<nsIEditor> editor = do_QueryInterface(refCon);
@ -341,7 +343,7 @@ nsPasteQuotationCommand::DoCommandParams(nsICommandParams *aParams, nsISupports
}
NS_IMETHODIMP
nsPasteQuotationCommand::GetCommandState(nsICommandParams *aParams, nsISupports *refCon)
nsPasteQuotationCommand::GetCommandState(const char *aCommandName, nsICommandParams *aParams, nsISupports *refCon)
{
nsCOMPtr<nsIEditor> editor = do_QueryInterface(refCon);
PRBool enabled = PR_FALSE;
@ -720,7 +722,7 @@ nsListItemCommand::ToggleState(nsIEditor *aEditor, const char* aTagName)
#endif
NS_IMETHODIMP
nsRemoveListCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *refCon, PRBool *outCmdEnabled)
nsRemoveListCommand::IsCommandEnabled(const char * aCommandName, nsISupports *refCon, PRBool *outCmdEnabled)
{
nsCOMPtr<nsIEditorShell> editorShell = do_QueryInterface(refCon);
*outCmdEnabled = PR_FALSE;
@ -745,7 +747,7 @@ nsRemoveListCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupport
NS_IMETHODIMP
nsRemoveListCommand::DoCommand(const nsAString & aCommandName, nsISupports *refCon)
nsRemoveListCommand::DoCommand(const char *aCommandName, nsISupports *refCon)
{
nsCOMPtr<nsIEditorShell> editorShell = do_QueryInterface(refCon);
@ -758,7 +760,7 @@ nsRemoveListCommand::DoCommand(const nsAString & aCommandName, nsISupports *refC
}
NS_IMETHODIMP
nsRemoveListCommand::DoCommandParams(nsICommandParams *aParams, nsISupports *refCon)
nsRemoveListCommand::DoCommandParams(const char *aCommandName, nsICommandParams *aParams, nsISupports *refCon)
{
nsCOMPtr<nsIHTMLEditor> editor = do_QueryInterface(refCon);
@ -774,12 +776,10 @@ nsRemoveListCommand::DoCommandParams(nsICommandParams *aParams, nsISupports *ref
}
NS_IMETHODIMP
nsRemoveListCommand::GetCommandState(nsICommandParams *aParams, nsISupports *refCon)
nsRemoveListCommand::GetCommandState(const char *aCommandName, nsICommandParams *aParams, nsISupports *refCon)
{
nsString tString;
PRBool outCmdEnabled = PR_FALSE;
aParams->GetStringValue(COMMAND_NAME,tString);
IsCommandEnabled(tString, refCon, &outCmdEnabled);
IsCommandEnabled(aCommandName, refCon, &outCmdEnabled);
return aParams->SetBooleanValue(STATE_ENABLED,outCmdEnabled);
}
@ -788,7 +788,7 @@ nsRemoveListCommand::GetCommandState(nsICommandParams *aParams, nsISupports *ref
#endif
NS_IMETHODIMP
nsIndentCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *refCon, PRBool *outCmdEnabled)
nsIndentCommand::IsCommandEnabled(const char * aCommandName, nsISupports *refCon, PRBool *outCmdEnabled)
{
nsCOMPtr<nsIEditorShell> editorShell = do_QueryInterface(refCon);
*outCmdEnabled = PR_FALSE;
@ -805,7 +805,7 @@ nsIndentCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *r
NS_IMETHODIMP
nsIndentCommand::DoCommand(const nsAString & aCommandName, nsISupports *refCon)
nsIndentCommand::DoCommand(const char *aCommandName, nsISupports *refCon)
{
nsCOMPtr<nsIEditorShell> editorShell = do_QueryInterface(refCon);
@ -820,7 +820,7 @@ nsIndentCommand::DoCommand(const nsAString & aCommandName, nsISupports *refCon)
}
NS_IMETHODIMP
nsIndentCommand::DoCommandParams(nsICommandParams *aParams, nsISupports *refCon)
nsIndentCommand::DoCommandParams(const char *aCommandName, nsICommandParams *aParams, nsISupports *refCon)
{
nsCOMPtr<nsIEditor> editor = do_QueryInterface(refCon);
@ -838,12 +838,10 @@ nsIndentCommand::DoCommandParams(nsICommandParams *aParams, nsISupports *refCon)
}
NS_IMETHODIMP
nsIndentCommand::GetCommandState(nsICommandParams *aParams, nsISupports *refCon)
nsIndentCommand::GetCommandState(const char *aCommandName, nsICommandParams *aParams, nsISupports *refCon)
{
nsString tString;
PRBool outCmdEnabled = PR_FALSE;
aParams->GetStringValue(COMMAND_NAME,tString);
IsCommandEnabled(tString, refCon, &outCmdEnabled);
IsCommandEnabled(aCommandName, refCon, &outCmdEnabled);
return aParams->SetBooleanValue(STATE_ENABLED,outCmdEnabled);
}
@ -851,7 +849,7 @@ nsIndentCommand::GetCommandState(nsICommandParams *aParams, nsISupports *refCon)
//OUTDENT
NS_IMETHODIMP
nsOutdentCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *refCon, PRBool *outCmdEnabled)
nsOutdentCommand::IsCommandEnabled(const char * aCommandName, nsISupports *refCon, PRBool *outCmdEnabled)
{
nsCOMPtr<nsIEditorShell> editorShell = do_QueryInterface(refCon);
*outCmdEnabled = PR_FALSE;
@ -874,7 +872,7 @@ nsOutdentCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *
NS_IMETHODIMP
nsOutdentCommand::DoCommand(const nsAString & aCommandName, nsISupports *refCon)
nsOutdentCommand::DoCommand(const char *aCommandName, nsISupports *refCon)
{
nsCOMPtr<nsIEditorShell> editorShell = do_QueryInterface(refCon);
@ -889,7 +887,7 @@ nsOutdentCommand::DoCommand(const nsAString & aCommandName, nsISupports *refCon)
}
NS_IMETHODIMP
nsOutdentCommand::DoCommandParams(nsICommandParams *aParams, nsISupports *refCon)
nsOutdentCommand::DoCommandParams(const char *aCommandName, nsICommandParams *aParams, nsISupports *refCon)
{
nsCOMPtr<nsIEditor> editor = do_QueryInterface(refCon);
@ -907,12 +905,10 @@ nsOutdentCommand::DoCommandParams(nsICommandParams *aParams, nsISupports *refCon
}
NS_IMETHODIMP
nsOutdentCommand::GetCommandState(nsICommandParams *aParams, nsISupports *refCon)
nsOutdentCommand::GetCommandState(const char *aCommandName, nsICommandParams *aParams, nsISupports *refCon)
{
nsString tString;
PRBool outCmdEnabled = PR_FALSE;
aParams->GetStringValue(COMMAND_NAME,tString);
IsCommandEnabled(tString, refCon, &outCmdEnabled);
IsCommandEnabled(aCommandName, refCon, &outCmdEnabled);
return aParams->SetBooleanValue(STATE_ENABLED,outCmdEnabled);
}
@ -934,7 +930,7 @@ nsMultiStateCommand::~nsMultiStateCommand()
NS_IMPL_ISUPPORTS_INHERITED1(nsMultiStateCommand, nsBaseComposerCommand, nsIStateUpdatingControllerCommand);
NS_IMETHODIMP
nsMultiStateCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *refCon, PRBool *outCmdEnabled)
nsMultiStateCommand::IsCommandEnabled(const char * aCommandName, nsISupports *refCon, PRBool *outCmdEnabled)
{
nsCOMPtr<nsIEditorShell> editorShell = do_QueryInterface(refCon);
*outCmdEnabled = PR_FALSE;
@ -960,7 +956,7 @@ nsMultiStateCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupport
NS_IMETHODIMP
nsMultiStateCommand::DoCommand(const nsAString & aCommandName, nsISupports *refCon)
nsMultiStateCommand::DoCommand(const char *aCommandName, nsISupports *refCon)
{
nsCOMPtr<nsIEditorShell> editorShell = do_QueryInterface(refCon);
@ -970,7 +966,9 @@ nsMultiStateCommand::DoCommand(const nsAString & aCommandName, nsISupports *refC
// we have to grab the state attribute on our command node to find out
// what format to set the paragraph to
nsAutoString stateAttribute;
rv = GetCommandNodeState(aCommandName, editorShell, stateAttribute);
nsAutoString commandName;
commandName.AssignWithConversion(aCommandName);
rv = GetCommandNodeState(commandName, editorShell, stateAttribute);
if (NS_FAILED(rv)) return rv;
rv = SetState(editorShell, stateAttribute);
@ -980,7 +978,7 @@ nsMultiStateCommand::DoCommand(const nsAString & aCommandName, nsISupports *refC
}
NS_IMETHODIMP
nsMultiStateCommand::DoCommandParams(nsICommandParams *aParams, nsISupports *refCon)
nsMultiStateCommand::DoCommandParams(const char *aCommandName, nsICommandParams *aParams, nsISupports *refCon)
{
nsCOMPtr<nsIEditor> editor = do_QueryInterface(refCon);
@ -989,17 +987,20 @@ nsMultiStateCommand::DoCommandParams(nsICommandParams *aParams, nsISupports *ref
{
// we have to grab the state attribute on our command node to find out
// what format to set the paragraph to
nsAutoString tValue;
char *tValue;
nsresult rv;
aParams->GetStringValue(STATE_ATTRIBUTE,tValue);
rv = SetState(editor, tValue);
aParams->GetCStringValue(STATE_ATTRIBUTE,&tValue);
nsAutoString tString;
tString.AssignWithConversion(tValue);
nsMemory::Free(tValue);
rv = SetState(editor, tString);
}
return rv;
}
NS_IMETHODIMP
nsMultiStateCommand::UpdateCommandState(const nsAString & aCommandName, nsISupports *refCon)
nsMultiStateCommand::UpdateCommandState(const char * aCommandName, nsISupports *refCon)
{
nsCOMPtr<nsIEditorShell> editorShell = do_QueryInterface(refCon);
nsresult rv = NS_OK;
@ -1017,7 +1018,9 @@ nsMultiStateCommand::UpdateCommandState(const nsAString & aCommandName, nsISuppo
if (!mGotState || (curFormat != mStateString))
{
// poke the UI
SetCommandNodeState(aCommandName, editorShell, curFormat);
nsAutoString commandName;
commandName.AssignWithConversion(aCommandName);
SetCommandNodeState(commandName, editorShell, curFormat);
mGotState = PR_TRUE;
mStateString = curFormat;
@ -1027,7 +1030,7 @@ nsMultiStateCommand::UpdateCommandState(const nsAString & aCommandName, nsISuppo
}
NS_IMETHODIMP
nsMultiStateCommand::GetCommandState(nsICommandParams *aParams, nsISupports *refCon)
nsMultiStateCommand::GetCommandState(const char *aCommandName, nsICommandParams *aParams, nsISupports *refCon)
{
nsCOMPtr<nsIEditor> editor = do_QueryInterface(refCon);
nsresult rv = NS_OK;
@ -1067,12 +1070,14 @@ nsParagraphStateCommand::GetCurrentState(nsIEditor *aEditor, nsICommandParams *a
nsCOMPtr<nsIHTMLEditor> htmlEditor = do_QueryInterface(aEditor);
if (!htmlEditor) return NS_ERROR_FAILURE;
PRBool outMixed;
nsString outStateString;
nsAutoString outStateString;
nsresult rv = htmlEditor->GetParagraphState(&outMixed, outStateString);
if (NS_SUCCEEDED(rv))
{
nsCAutoString tOutStateString;
tOutStateString.AssignWithConversion(outStateString);
aParams->SetBooleanValue(STATE_MIXED,outMixed);
aParams->SetStringValue(STATE_ATTRIBUTE, outStateString);
aParams->SetCStringValue(STATE_ATTRIBUTE, tOutStateString.get());
}
return rv;
}
@ -1131,13 +1136,15 @@ nsFontFaceStateCommand::GetCurrentState(nsIEditor *aEditor, nsICommandParams *aP
nsCOMPtr<nsIHTMLEditor> htmlEditor = do_QueryInterface(aEditor);
if (!htmlEditor) return NS_ERROR_FAILURE;
nsString outStateString;
nsAutoString outStateString;
PRBool outMixed;
nsresult rv = htmlEditor->GetFontFaceState(&outMixed, outStateString);
if (NS_SUCCEEDED(rv))
{
nsCAutoString tOutStateString;
tOutStateString.AssignWithConversion(outStateString);
aParams->SetBooleanValue(STATE_MIXED,outMixed);
aParams->SetStringValue(STATE_ATTRIBUTE,outStateString);
aParams->SetCStringValue(STATE_ATTRIBUTE, tOutStateString.get());
}
return rv;
}
@ -1247,12 +1254,14 @@ nsFontColorStateCommand::GetCurrentState(nsIEditor *aEditor, nsICommandParams *a
if (!htmlEditor) return NS_ERROR_FAILURE;
PRBool outMixed;
nsString outStateString;
nsAutoString outStateString;
nsresult rv = htmlEditor->GetFontColorState(&outMixed, outStateString);
if (NS_SUCCEEDED(rv))
{
nsCAutoString tOutStateString;
tOutStateString.AssignWithConversion(outStateString);
aParams->SetBooleanValue(STATE_MIXED,outMixed);
aParams->SetStringValue(STATE_ATTRIBUTE,outStateString);
aParams->SetCStringValue(STATE_ATTRIBUTE, tOutStateString.get());
}
return rv;
}
@ -1334,12 +1343,14 @@ nsHighlightColorStateCommand::GetCurrentState(nsIEditor *aEditor, nsICommandPara
if (!htmlEditor) return NS_ERROR_FAILURE;
PRBool outMixed;
nsString outStateString;
nsAutoString outStateString;
nsresult rv = htmlEditor->GetHighlightColorState(&outMixed, outStateString);
if (NS_SUCCEEDED(rv))
{
nsCAutoString tOutStateString;
tOutStateString.AssignWithConversion(outStateString);
aParams->SetBooleanValue(STATE_MIXED,outMixed);
aParams->SetStringValue(STATE_ATTRIBUTE,outStateString);
aParams->SetCStringValue(STATE_ATTRIBUTE, tOutStateString.get());
}
return rv;
}
@ -1389,7 +1400,7 @@ nsHighlightColorStateCommand::SetState(nsIEditorShell *aEditorShell, nsString& n
}
NS_IMETHODIMP
nsHighlightColorStateCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *refCon, PRBool *outCmdEnabled)
nsHighlightColorStateCommand::IsCommandEnabled(const char * aCommandName, nsISupports *refCon, PRBool *outCmdEnabled)
{
nsCOMPtr<nsIEditorShell> editorShell = do_QueryInterface(refCon);
*outCmdEnabled = PR_FALSE;
@ -1447,12 +1458,14 @@ nsBackgroundColorStateCommand::GetCurrentState(nsIEditor *aEditor, nsICommandPar
if (!htmlEditor) return NS_ERROR_FAILURE;
PRBool outMixed;
nsString outStateString;
nsAutoString outStateString;
nsresult rv = htmlEditor->GetBackgroundColorState(&outMixed, outStateString);
if (NS_SUCCEEDED(rv))
{
aParams->SetBooleanValue(STATE_MIXED, outMixed);
aParams->SetStringValue(STATE_ATTRIBUTE, outStateString);
nsCAutoString tOutStateString;
tOutStateString.AssignWithConversion(outStateString);
aParams->SetBooleanValue(STATE_MIXED,outMixed);
aParams->SetCStringValue(STATE_ATTRIBUTE, tOutStateString.get());
}
return rv;
}
@ -1536,7 +1549,7 @@ nsAlignCommand::GetCurrentState(nsIEditor *aEditor, nsICommandParams *aParams)
nsIHTMLEditor::EAlignment firstAlign;
PRBool outMixed;
nsString outStateString;
nsAutoString outStateString;
nsresult rv = htmlEditor->GetAlignment(&outMixed, &firstAlign);
if (NS_FAILED(rv))
@ -1561,8 +1574,10 @@ nsAlignCommand::GetCurrentState(nsIEditor *aEditor, nsICommandParams *aParams)
outStateString.Assign(NS_LITERAL_STRING("justify"));
break;
}
aParams->SetBooleanValue(STATE_MIXED, outMixed);
aParams->SetStringValue(STATE_ATTRIBUTE, outStateString);
nsCAutoString tOutStateString;
tOutStateString.AssignWithConversion(outStateString);
aParams->SetBooleanValue(STATE_MIXED,outMixed);
aParams->SetCStringValue(STATE_ATTRIBUTE, tOutStateString.get());
return NS_OK;
}
@ -1596,7 +1611,7 @@ nsAlignCommand::SetState(nsIEditorShell *aEditorShell, nsString& newState)
#endif
NS_IMETHODIMP
nsRemoveStylesCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *refCon, PRBool *outCmdEnabled)
nsRemoveStylesCommand::IsCommandEnabled(const char * aCommandName, nsISupports *refCon, PRBool *outCmdEnabled)
{
nsCOMPtr<nsIEditorShell> editorShell = do_QueryInterface(refCon);
nsCOMPtr<nsIEditor>editor;
@ -1620,7 +1635,7 @@ nsRemoveStylesCommand::IsCommandEnabled(const nsAString & aCommandName, nsISuppo
NS_IMETHODIMP
nsRemoveStylesCommand::DoCommand(const nsAString & aCommandName, nsISupports *refCon)
nsRemoveStylesCommand::DoCommand(const char *aCommandName, nsISupports *refCon)
{
nsCOMPtr<nsIEditorShell> editorShell = do_QueryInterface(refCon);
@ -1641,20 +1656,16 @@ nsRemoveStylesCommand::DoCommand(const nsAString & aCommandName, nsISupports *re
}
NS_IMETHODIMP
nsRemoveStylesCommand::DoCommandParams(nsICommandParams *aParams, nsISupports *refCon)
nsRemoveStylesCommand::DoCommandParams(const char *aCommandName, nsICommandParams *aParams, nsISupports *refCon)
{
nsString tString;
aParams->GetStringValue(COMMAND_NAME,tString);
return DoCommand(tString, refCon);
return DoCommand(aCommandName, refCon);
}
NS_IMETHODIMP
nsRemoveStylesCommand::GetCommandState(nsICommandParams *aParams, nsISupports *refCon)
nsRemoveStylesCommand::GetCommandState(const char *aCommandName, nsICommandParams *aParams, nsISupports *refCon)
{
nsString tString;
PRBool outCmdEnabled = PR_FALSE;
aParams->GetStringValue(COMMAND_NAME,tString);
IsCommandEnabled(tString, refCon, &outCmdEnabled);
IsCommandEnabled(aCommandName, refCon, &outCmdEnabled);
return aParams->SetBooleanValue(STATE_ENABLED,outCmdEnabled);
}
@ -1663,7 +1674,7 @@ nsRemoveStylesCommand::GetCommandState(nsICommandParams *aParams, nsISupports *r
#endif
NS_IMETHODIMP
nsIncreaseFontSizeCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *refCon, PRBool *outCmdEnabled)
nsIncreaseFontSizeCommand::IsCommandEnabled(const char * aCommandName, nsISupports *refCon, PRBool *outCmdEnabled)
{
nsCOMPtr<nsIEditorShell> editorShell = do_QueryInterface(refCon);
nsCOMPtr<nsIEditor>editor;
@ -1685,7 +1696,7 @@ nsIncreaseFontSizeCommand::IsCommandEnabled(const nsAString & aCommandName, nsIS
NS_IMETHODIMP
nsIncreaseFontSizeCommand::DoCommand(const nsAString & aCommandName, nsISupports *refCon)
nsIncreaseFontSizeCommand::DoCommand(const char *aCommandName, nsISupports *refCon)
{
nsCOMPtr<nsIEditorShell> editorShell = do_QueryInterface(refCon);
@ -1699,7 +1710,7 @@ nsIncreaseFontSizeCommand::DoCommand(const nsAString & aCommandName, nsISupports
}
NS_IMETHODIMP
nsIncreaseFontSizeCommand::DoCommandParams(nsICommandParams *aParams, nsISupports *refCon)
nsIncreaseFontSizeCommand::DoCommandParams(const char *aCommandName, nsICommandParams *aParams, nsISupports *refCon)
{
nsCOMPtr<nsIHTMLEditor> editor = do_QueryInterface(refCon);
@ -1713,12 +1724,10 @@ nsIncreaseFontSizeCommand::DoCommandParams(nsICommandParams *aParams, nsISupport
}
NS_IMETHODIMP
nsIncreaseFontSizeCommand::GetCommandState(nsICommandParams *aParams, nsISupports *refCon)
nsIncreaseFontSizeCommand::GetCommandState(const char *aCommandName, nsICommandParams *aParams, nsISupports *refCon)
{
nsString tString;
PRBool outCmdEnabled = PR_FALSE;
aParams->GetStringValue(COMMAND_NAME,tString);
IsCommandEnabled(tString, refCon, &outCmdEnabled);
IsCommandEnabled(aCommandName, refCon, &outCmdEnabled);
return aParams->SetBooleanValue(STATE_ENABLED,outCmdEnabled);
}
@ -1727,7 +1736,7 @@ nsIncreaseFontSizeCommand::GetCommandState(nsICommandParams *aParams, nsISupport
#endif
NS_IMETHODIMP
nsDecreaseFontSizeCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *refCon, PRBool *outCmdEnabled)
nsDecreaseFontSizeCommand::IsCommandEnabled(const char * aCommandName, nsISupports *refCon, PRBool *outCmdEnabled)
{
nsCOMPtr<nsIEditorShell> editorShell = do_QueryInterface(refCon);
nsCOMPtr<nsIEditor>editor;
@ -1750,7 +1759,7 @@ nsDecreaseFontSizeCommand::IsCommandEnabled(const nsAString & aCommandName, nsIS
NS_IMETHODIMP
nsDecreaseFontSizeCommand::DoCommand(const nsAString & aCommandName, nsISupports *refCon)
nsDecreaseFontSizeCommand::DoCommand(const char *aCommandName, nsISupports *refCon)
{
nsCOMPtr<nsIEditorShell> editorShell = do_QueryInterface(refCon);
@ -1764,7 +1773,7 @@ nsDecreaseFontSizeCommand::DoCommand(const nsAString & aCommandName, nsISupports
}
NS_IMETHODIMP
nsDecreaseFontSizeCommand::DoCommandParams(nsICommandParams *aParams, nsISupports *refCon)
nsDecreaseFontSizeCommand::DoCommandParams(const char *aCommandName, nsICommandParams *aParams, nsISupports *refCon)
{
nsCOMPtr<nsIHTMLEditor> editor = do_QueryInterface(refCon);
@ -1778,12 +1787,10 @@ nsDecreaseFontSizeCommand::DoCommandParams(nsICommandParams *aParams, nsISupport
}
NS_IMETHODIMP
nsDecreaseFontSizeCommand::GetCommandState(nsICommandParams *aParams, nsISupports *refCon)
nsDecreaseFontSizeCommand::GetCommandState(const char *aCommandName, nsICommandParams *aParams, nsISupports *refCon)
{
nsString tString;
PRBool outCmdEnabled = PR_FALSE;
aParams->GetStringValue(COMMAND_NAME,tString);
IsCommandEnabled(tString, refCon, &outCmdEnabled);
IsCommandEnabled(aCommandName, refCon, &outCmdEnabled);
return aParams->SetBooleanValue(STATE_ENABLED,outCmdEnabled);
}

View File

@ -64,8 +64,8 @@ public:
NS_DECL_ISUPPORTS
// nsIControllerCommand. Declared longhand so we can make them pure virtual
NS_IMETHOD IsCommandEnabled(const nsAString & aCommandName, nsISupports *aCommandRefCon, PRBool *_retval) = 0;
NS_IMETHOD DoCommand(const nsAString & aCommandName, nsISupports *aCommandRefCon) = 0;
NS_IMETHOD IsCommandEnabled(const char * aCommandName, nsISupports *aCommandRefCon, PRBool *_retval) = 0;
NS_IMETHOD DoCommand(const char * aCommandName, nsISupports *aCommandRefCon) = 0;
protected:
@ -256,7 +256,7 @@ protected:
virtual nsresult GetCurrentState(nsIEditorShell *aEditorShell, nsString& outStateString, PRBool& outMixed);
virtual nsresult SetState(nsIEditorShell *aEditorShell, nsString& newState);
NS_IMETHOD IsCommandEnabled(const nsAString & aCommandName, nsISupports *aCommandRefCon, PRBool *_retval);
NS_IMETHOD IsCommandEnabled(const char *aCommandName, nsISupports *aCommandRefCon, PRBool *_retval);
virtual nsresult GetCurrentState(nsIEditor *aEditor, nsICommandParams* aParams);
virtual nsresult SetState(nsIEditor *aEditor, nsString& newState);

View File

@ -271,9 +271,9 @@ nsComposerCommandsUpdater::CallUpdateCommands(const nsAString& aCommand)
nsCOMPtr<nsPICommandUpdater> commandUpdater = do_QueryInterface(commandManager);
if (!commandUpdater) return NS_ERROR_FAILURE;
commandUpdater->CommandStatusChanged(NS_LITERAL_STRING("cmd_bold"));
commandUpdater->CommandStatusChanged(NS_LITERAL_STRING("cmd_italic"));
commandUpdater->CommandStatusChanged(NS_LITERAL_STRING("cmd_underline"));
commandUpdater->CommandStatusChanged("cmd_bold");
commandUpdater->CommandStatusChanged("cmd_italic");
commandUpdater->CommandStatusChanged("cmd_underline");
return NS_OK;
}

View File

@ -128,7 +128,7 @@ nsComposerController::GetInterface(const nsIID & aIID, void * *result)
_cmdClass* theCmd; \
NS_NEWXPCOM(theCmd, _cmdClass); \
if (!theCmd) return NS_ERROR_OUT_OF_MEMORY; \
rv = inCommandManager->RegisterCommand(NS_LITERAL_STRING(_cmdName), \
rv = inCommandManager->RegisterCommand(_cmdName, \
NS_STATIC_CAST(nsIControllerCommand *, theCmd)); \
}
@ -137,15 +137,15 @@ nsComposerController::GetInterface(const nsIID & aIID, void * *result)
_cmdClass* theCmd; \
NS_NEWXPCOM(theCmd, _cmdClass); \
if (!theCmd) return NS_ERROR_OUT_OF_MEMORY; \
rv = inCommandManager->RegisterCommand(NS_LITERAL_STRING(_cmdName), \
rv = inCommandManager->RegisterCommand(_cmdName, \
NS_STATIC_CAST(nsIControllerCommand *, theCmd));
#define NS_REGISTER_NEXT_COMMAND(_cmdClass, _cmdName) \
rv = inCommandManager->RegisterCommand(NS_LITERAL_STRING(_cmdName), \
rv = inCommandManager->RegisterCommand(_cmdName, \
NS_STATIC_CAST(nsIControllerCommand *, theCmd));
#define NS_REGISTER_LAST_COMMAND(_cmdClass, _cmdName) \
rv = inCommandManager->RegisterCommand(NS_LITERAL_STRING(_cmdName), \
rv = inCommandManager->RegisterCommand(_cmdName, \
NS_STATIC_CAST(nsIControllerCommand *, theCmd)); \
}
@ -153,7 +153,7 @@ nsComposerController::GetInterface(const nsIID & aIID, void * *result)
{ \
_cmdClass* theCmd = new _cmdClass(_styleTag); \
if (!theCmd) return NS_ERROR_OUT_OF_MEMORY; \
rv = inCommandManager->RegisterCommand(NS_LITERAL_STRING(_cmdName), \
rv = inCommandManager->RegisterCommand(_cmdName, \
NS_STATIC_CAST(nsIControllerCommand *, theCmd)); \
}
@ -210,6 +210,7 @@ nsresult nsComposerController::RegisterComposerCommands(nsIControllerCommandMana
NS_REGISTER_ONE_COMMAND(nsIncreaseFontSizeCommand, "cmd_increaseFont");
NS_REGISTER_ONE_COMMAND(nsDecreaseFontSizeCommand, "cmd_decreaseFont");
return NS_OK;
}
@ -218,7 +219,7 @@ nsresult nsComposerController::RegisterComposerCommands(nsIControllerCommandMana
* ======================================================================= */
NS_IMETHODIMP
nsComposerController::IsCommandEnabled(const nsAString & aCommand,
nsComposerController::IsCommandEnabled(const char * aCommand,
PRBool *aResult)
{
NS_ENSURE_ARG_POINTER(aResult);
@ -226,7 +227,7 @@ nsComposerController::IsCommandEnabled(const nsAString & aCommand,
}
NS_IMETHODIMP
nsComposerController::SupportsCommand(const nsAString & aCommand,
nsComposerController::SupportsCommand(const char * aCommand,
PRBool *aResult)
{
NS_ENSURE_ARG_POINTER(aResult);
@ -234,13 +235,13 @@ nsComposerController::SupportsCommand(const nsAString & aCommand,
}
NS_IMETHODIMP
nsComposerController::DoCommand(const nsAString & aCommand)
nsComposerController::DoCommand(const char *aCommand)
{
return mCommandManager->DoCommand(aCommand, mCommandRefCon);
}
NS_IMETHODIMP
nsComposerController::OnEvent(const nsAString & aEventName)
nsComposerController::OnEvent(const char * aEventName)
{
return NS_OK;
}
@ -282,17 +283,17 @@ state_all : true,false
state_mixed : true,false
*/
/* void getCommandState (in DOMString aCommandName, inout nsICommandParams aCommandParams); */
NS_IMETHODIMP nsComposerController::GetCommandState(nsICommandParams *aCommandParams)
NS_IMETHODIMP nsComposerController::GetCommandState(const char *aCommand, nsICommandParams *aCommandParams)
{
if (!mCommandRefCon || !mCommandManager)
return NS_ERROR_NOT_INITIALIZED;
return mCommandManager->GetCommandState(aCommandParams,mCommandRefCon);
return mCommandManager->GetCommandState(aCommand,aCommandParams,mCommandRefCon);
}
/* void doCommand (in DOMString aCommandName, in nsICommandParams aCommandParams); */
NS_IMETHODIMP nsComposerController::DoCommand(nsICommandParams *aCommandParams)
NS_IMETHODIMP nsComposerController::DoCommand(const char *aCommand, nsICommandParams *aCommandParams)
{
if (!mCommandRefCon || !mCommandManager)
return NS_ERROR_NOT_INITIALIZED;
return mCommandManager->DoCommandParams(aCommandParams,mCommandRefCon);
return mCommandManager->DoCommandParams(aCommand, aCommandParams,mCommandRefCon);
}

View File

@ -1429,7 +1429,7 @@ nsEditorShell::FinishHTMLSource(void)
if (mHTMLSourceMode)
{
// Call the JS command to convert and switch to previous edit mode
return DoControllerCommand(NS_LITERAL_STRING("cmd_FinishHTMLSource"));
return DoControllerCommand("cmd_FinishHTMLSource");
}
return NS_OK;
}
@ -1721,7 +1721,7 @@ nsEditorShell::UpdateWindowTitleAndRecentMenu(PRBool aSaveToPrefs)
// For now, don't update the menu at all if aSaveToPrefs is false
if (aSaveToPrefs)
{
res = DoControllerCommand(NS_LITERAL_STRING("cmd_buildRecentPagesMenu"));
res = DoControllerCommand("cmd_buildRecentPagesMenu");
}
return res;
@ -4680,7 +4680,7 @@ nsEditorShell::CheckPrefAndNormalizeTable()
nsresult
nsEditorShell::DoControllerCommand(const nsAString& aCommand)
nsEditorShell::DoControllerCommand(const char *aCommand)
{
// Get the list of controllers...
nsCOMPtr<nsIControllers> controllers;

View File

@ -152,7 +152,7 @@ class nsEditorShell : public nsIEditorShell,
nsresult RemoveOneProperty(const nsString& aProp, const nsString& aAttr);
nsresult DoFind(PRBool aFindNext);
// To allow executing JavaScript commands from C++ via nsIEditorController interface
nsresult DoControllerCommand(const nsAString& aCommand);
nsresult DoControllerCommand(const char* aCommand);
void Alert(const nsString& aTitle, const nsString& aMsg);
// Bring up a Yes/No dialog WE REALLY NEED A Yes/No/Cancel dialog and would like to set our own caption as well!

View File

@ -59,7 +59,7 @@ interface nsIEditorController : nsISupports
/** Execute the command identified by the ID string
* param: commandName ID string of the command
*/
void DoCommand( in DOMString commandName );
void DoCommand( in string commandName );
/* Should we expose nsEditorController::IsCommandEnabled() as well? */
};

View File

@ -49,8 +49,8 @@
#include "nsEditorCommands.h"
#define COMMAND_NAME NS_LITERAL_STRING("cmd_name")
#define STATE_ENABLED NS_LITERAL_STRING("state_enabled")
#define COMMAND_NAME "cmd_name"
#define STATE_ENABLED "state_enabled"
nsBaseEditorCommand::nsBaseEditorCommand()
@ -66,7 +66,7 @@ NS_IMPL_ISUPPORTS1(nsBaseEditorCommand, nsIControllerCommand)
NS_IMETHODIMP
nsUndoCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *aCommandRefCon, PRBool *outCmdEnabled)
nsUndoCommand::IsCommandEnabled(const char * aCommandName, nsISupports *aCommandRefCon, PRBool *outCmdEnabled)
{
nsCOMPtr<nsIEditor> aEditor = do_QueryInterface(aCommandRefCon);
*outCmdEnabled = PR_FALSE;
@ -80,7 +80,7 @@ nsUndoCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *aCo
NS_IMETHODIMP
nsUndoCommand::DoCommand(const nsAString & aCommandName, nsISupports *aCommandRefCon)
nsUndoCommand::DoCommand(const char *aCommandName, nsISupports *aCommandRefCon)
{
nsCOMPtr<nsIEditor> aEditor = do_QueryInterface(aCommandRefCon);
if (aEditor)
@ -90,25 +90,21 @@ nsUndoCommand::DoCommand(const nsAString & aCommandName, nsISupports *aCommandRe
}
NS_IMETHODIMP
nsUndoCommand::DoCommandParams(nsICommandParams *aParams, nsISupports *aCommandRefCon)
nsUndoCommand::DoCommandParams(const char *aCommandName, nsICommandParams *aParams, nsISupports *aCommandRefCon)
{
nsString tString;
aParams->GetStringValue(COMMAND_NAME,tString);
return DoCommand(tString,aCommandRefCon);
return DoCommand(aCommandName,aCommandRefCon);
}
NS_IMETHODIMP
nsUndoCommand::GetCommandState(nsICommandParams *aParams, nsISupports *aCommandRefCon)
nsUndoCommand::GetCommandState(const char *aCommandName, nsICommandParams *aParams, nsISupports *aCommandRefCon)
{
nsString tString;
aParams->GetStringValue(COMMAND_NAME,tString);
PRBool canUndo;
IsCommandEnabled(tString, aCommandRefCon, &canUndo);
IsCommandEnabled(aCommandName, aCommandRefCon, &canUndo);
return aParams->SetBooleanValue(STATE_ENABLED,canUndo);
}
NS_IMETHODIMP
nsRedoCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *aCommandRefCon, PRBool *outCmdEnabled)
nsRedoCommand::IsCommandEnabled(const char * aCommandName, nsISupports *aCommandRefCon, PRBool *outCmdEnabled)
{
nsCOMPtr<nsIEditor> aEditor = do_QueryInterface(aCommandRefCon);
*outCmdEnabled = PR_FALSE;
@ -122,7 +118,7 @@ nsRedoCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *aCo
NS_IMETHODIMP
nsRedoCommand::DoCommand(const nsAString & aCommandName, nsISupports *aCommandRefCon)
nsRedoCommand::DoCommand(const char *aCommandName, nsISupports *aCommandRefCon)
{
nsCOMPtr<nsIEditor> aEditor = do_QueryInterface(aCommandRefCon);
if (aEditor)
@ -132,25 +128,21 @@ nsRedoCommand::DoCommand(const nsAString & aCommandName, nsISupports *aCommandRe
}
NS_IMETHODIMP
nsRedoCommand::DoCommandParams(nsICommandParams *aParams, nsISupports *aCommandRefCon)
nsRedoCommand::DoCommandParams(const char *aCommandName, nsICommandParams *aParams, nsISupports *aCommandRefCon)
{
nsString tString;
aParams->GetStringValue(COMMAND_NAME,tString);
return DoCommand(tString,aCommandRefCon);
return DoCommand(aCommandName, aCommandRefCon);
}
NS_IMETHODIMP
nsRedoCommand::GetCommandState(nsICommandParams *aParams, nsISupports *aCommandRefCon)
nsRedoCommand::GetCommandState(const char *aCommandName, nsICommandParams *aParams, nsISupports *aCommandRefCon)
{
nsString tString;
aParams->GetStringValue(COMMAND_NAME,tString);
PRBool canUndo;
IsCommandEnabled(tString, aCommandRefCon, &canUndo);
IsCommandEnabled(aCommandName, aCommandRefCon, &canUndo);
return aParams->SetBooleanValue(STATE_ENABLED,canUndo);
}
NS_IMETHODIMP
nsCutCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *aCommandRefCon, PRBool *outCmdEnabled)
nsCutCommand::IsCommandEnabled(const char * aCommandName, nsISupports *aCommandRefCon, PRBool *outCmdEnabled)
{
nsCOMPtr<nsIEditor> aEditor = do_QueryInterface(aCommandRefCon);
*outCmdEnabled = PR_FALSE;
@ -162,7 +154,7 @@ nsCutCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *aCom
NS_IMETHODIMP
nsCutCommand::DoCommand(const nsAString & aCommandName, nsISupports *aCommandRefCon)
nsCutCommand::DoCommand(const char *aCommandName, nsISupports *aCommandRefCon)
{
nsCOMPtr<nsIEditor> aEditor = do_QueryInterface(aCommandRefCon);
if (aEditor)
@ -172,26 +164,22 @@ nsCutCommand::DoCommand(const nsAString & aCommandName, nsISupports *aCommandRef
}
NS_IMETHODIMP
nsCutCommand::DoCommandParams(nsICommandParams *aParams, nsISupports *aCommandRefCon)
nsCutCommand::DoCommandParams(const char *aCommandName, nsICommandParams *aParams, nsISupports *aCommandRefCon)
{
nsString tString;
aParams->GetStringValue(COMMAND_NAME,tString);
return DoCommand(tString,aCommandRefCon);
return DoCommand(aCommandName, aCommandRefCon);
}
NS_IMETHODIMP
nsCutCommand::GetCommandState(nsICommandParams *aParams, nsISupports *aCommandRefCon)
nsCutCommand::GetCommandState(const char *aCommandName, nsICommandParams *aParams, nsISupports *aCommandRefCon)
{
nsString tString;
aParams->GetStringValue(COMMAND_NAME,tString);
PRBool canUndo;
IsCommandEnabled(tString, aCommandRefCon, &canUndo);
IsCommandEnabled(aCommandName, aCommandRefCon, &canUndo);
return aParams->SetBooleanValue(STATE_ENABLED,canUndo);
}
NS_IMETHODIMP
nsCutOrDeleteCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *aCommandRefCon, PRBool *outCmdEnabled)
nsCutOrDeleteCommand::IsCommandEnabled(const char * aCommandName, nsISupports *aCommandRefCon, PRBool *outCmdEnabled)
{
nsCOMPtr<nsIEditor> editor = do_QueryInterface(aCommandRefCon);
*outCmdEnabled = (editor != nsnull);
@ -200,7 +188,7 @@ nsCutOrDeleteCommand::IsCommandEnabled(const nsAString & aCommandName, nsISuppor
NS_IMETHODIMP
nsCutOrDeleteCommand::DoCommand(const nsAString & aCommandName, nsISupports *aCommandRefCon)
nsCutOrDeleteCommand::DoCommand(const char *aCommandName, nsISupports *aCommandRefCon)
{
nsCOMPtr<nsIEditor> editor = do_QueryInterface(aCommandRefCon);
if (editor)
@ -221,25 +209,21 @@ nsCutOrDeleteCommand::DoCommand(const nsAString & aCommandName, nsISupports *aCo
}
NS_IMETHODIMP
nsCutOrDeleteCommand::DoCommandParams(nsICommandParams *aParams, nsISupports *aCommandRefCon)
nsCutOrDeleteCommand::DoCommandParams(const char *aCommandName, nsICommandParams *aParams, nsISupports *aCommandRefCon)
{
nsString tString;
aParams->GetStringValue(COMMAND_NAME,tString);
return DoCommand(tString,aCommandRefCon);
return DoCommand(aCommandName, aCommandRefCon);
}
NS_IMETHODIMP
nsCutOrDeleteCommand::GetCommandState(nsICommandParams *aParams, nsISupports *aCommandRefCon)
nsCutOrDeleteCommand::GetCommandState(const char *aCommandName, nsICommandParams *aParams, nsISupports *aCommandRefCon)
{
nsString tString;
aParams->GetStringValue(COMMAND_NAME,tString);
PRBool canUndo;
IsCommandEnabled(tString, aCommandRefCon, &canUndo);
IsCommandEnabled(aCommandName, aCommandRefCon, &canUndo);
return aParams->SetBooleanValue(STATE_ENABLED,canUndo);
}
NS_IMETHODIMP
nsCopyCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *aCommandRefCon, PRBool *outCmdEnabled)
nsCopyCommand::IsCommandEnabled(const char * aCommandName, nsISupports *aCommandRefCon, PRBool *outCmdEnabled)
{
nsCOMPtr<nsIEditor> aEditor = do_QueryInterface(aCommandRefCon);
*outCmdEnabled = PR_FALSE;
@ -251,7 +235,7 @@ nsCopyCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *aCo
NS_IMETHODIMP
nsCopyCommand::DoCommand(const nsAString & aCommandName, nsISupports *aCommandRefCon)
nsCopyCommand::DoCommand(const char *aCommandName, nsISupports *aCommandRefCon)
{
nsCOMPtr<nsIEditor> aEditor = do_QueryInterface(aCommandRefCon);
if (aEditor)
@ -261,25 +245,21 @@ nsCopyCommand::DoCommand(const nsAString & aCommandName, nsISupports *aCommandRe
}
NS_IMETHODIMP
nsCopyCommand::DoCommandParams(nsICommandParams *aParams, nsISupports *aCommandRefCon)
nsCopyCommand::DoCommandParams(const char *aCommandName, nsICommandParams *aParams, nsISupports *aCommandRefCon)
{
nsString tString;
aParams->GetStringValue(COMMAND_NAME,tString);
return DoCommand(tString,aCommandRefCon);
return DoCommand(aCommandName, aCommandRefCon);
}
NS_IMETHODIMP
nsCopyCommand::GetCommandState(nsICommandParams *aParams, nsISupports *aCommandRefCon)
nsCopyCommand::GetCommandState(const char *aCommandName, nsICommandParams *aParams, nsISupports *aCommandRefCon)
{
nsString tString;
aParams->GetStringValue(COMMAND_NAME,tString);
PRBool canUndo;
IsCommandEnabled(tString, aCommandRefCon, &canUndo);
IsCommandEnabled(aCommandName, aCommandRefCon, &canUndo);
return aParams->SetBooleanValue(STATE_ENABLED,canUndo);
}
NS_IMETHODIMP
nsCopyOrDeleteCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *aCommandRefCon, PRBool *outCmdEnabled)
nsCopyOrDeleteCommand::IsCommandEnabled(const char * aCommandName, nsISupports *aCommandRefCon, PRBool *outCmdEnabled)
{
nsCOMPtr<nsIEditor> editor = do_QueryInterface(aCommandRefCon);
*outCmdEnabled = (editor != nsnull);
@ -288,7 +268,7 @@ nsCopyOrDeleteCommand::IsCommandEnabled(const nsAString & aCommandName, nsISuppo
NS_IMETHODIMP
nsCopyOrDeleteCommand::DoCommand(const nsAString & aCommandName, nsISupports *aCommandRefCon)
nsCopyOrDeleteCommand::DoCommand(const char *aCommandName, nsISupports *aCommandRefCon)
{
nsCOMPtr<nsIEditor> editor = do_QueryInterface(aCommandRefCon);
if (editor)
@ -309,25 +289,21 @@ nsCopyOrDeleteCommand::DoCommand(const nsAString & aCommandName, nsISupports *aC
}
NS_IMETHODIMP
nsCopyOrDeleteCommand::DoCommandParams(nsICommandParams *aParams, nsISupports *aCommandRefCon)
nsCopyOrDeleteCommand::DoCommandParams(const char *aCommandName, nsICommandParams *aParams, nsISupports *aCommandRefCon)
{
nsString tString;
aParams->GetStringValue(COMMAND_NAME,tString);
return DoCommand(tString,aCommandRefCon);
return DoCommand(aCommandName, aCommandRefCon);
}
NS_IMETHODIMP
nsCopyOrDeleteCommand::GetCommandState(nsICommandParams *aParams, nsISupports *aCommandRefCon)
nsCopyOrDeleteCommand::GetCommandState(const char *aCommandName, nsICommandParams *aParams, nsISupports *aCommandRefCon)
{
nsString tString;
aParams->GetStringValue(COMMAND_NAME,tString);
PRBool canUndo;
IsCommandEnabled(tString, aCommandRefCon, &canUndo);
IsCommandEnabled(aCommandName, aCommandRefCon, &canUndo);
return aParams->SetBooleanValue(STATE_ENABLED,canUndo);
}
NS_IMETHODIMP
nsPasteCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *aCommandRefCon, PRBool *outCmdEnabled)
nsPasteCommand::IsCommandEnabled(const char *aCommandName, nsISupports *aCommandRefCon, PRBool *outCmdEnabled)
{
nsCOMPtr<nsIEditor> aEditor = do_QueryInterface(aCommandRefCon);
*outCmdEnabled = PR_FALSE;
@ -339,17 +315,16 @@ nsPasteCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *aC
NS_IMETHODIMP
nsPasteCommand::DoCommand(const nsAString & aCommandName, nsISupports *aCommandRefCon)
nsPasteCommand::DoCommand(const char *aCommandName, nsISupports *aCommandRefCon)
{
nsCOMPtr<nsIEditor> aEditor = do_QueryInterface(aCommandRefCon);
if (!aEditor)
return NS_ERROR_FAILURE;
nsresult rv = NS_OK;
nsAutoString cmdString(aCommandName);
if (cmdString.Equals(NS_LITERAL_STRING("cmd_paste")))
if (!nsCRT::strcmp("cmd_paste",aCommandName))
rv = aEditor->Paste(nsIClipboard::kGlobalClipboard);
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_pasteQuote")))
else if (!nsCRT::strcmp("cmd_pasteQuote",aCommandName))
{
nsCOMPtr<nsIEditorMailSupport> mailEditor = do_QueryInterface(aEditor, &rv);
if (mailEditor)
@ -360,26 +335,22 @@ nsPasteCommand::DoCommand(const nsAString & aCommandName, nsISupports *aCommandR
}
NS_IMETHODIMP
nsPasteCommand::DoCommandParams(nsICommandParams *aParams, nsISupports *aCommandRefCon)
nsPasteCommand::DoCommandParams(const char *aCommandName, nsICommandParams *aParams, nsISupports *aCommandRefCon)
{
nsString tString;
aParams->GetStringValue(COMMAND_NAME,tString);
return DoCommand(tString,aCommandRefCon);
return DoCommand(aCommandName,aCommandRefCon);
}
NS_IMETHODIMP
nsPasteCommand::GetCommandState(nsICommandParams *aParams, nsISupports *aCommandRefCon)
nsPasteCommand::GetCommandState(const char *aCommandName, nsICommandParams *aParams, nsISupports *aCommandRefCon)
{
nsString tString;
aParams->GetStringValue(COMMAND_NAME,tString);
PRBool canUndo;
IsCommandEnabled(tString, aCommandRefCon, &canUndo);
IsCommandEnabled(aCommandName, aCommandRefCon, &canUndo);
return aParams->SetBooleanValue(STATE_ENABLED,canUndo);
}
NS_IMETHODIMP
nsDeleteCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *aCommandRefCon, PRBool *outCmdEnabled)
nsDeleteCommand::IsCommandEnabled(const char * aCommandName, nsISupports *aCommandRefCon, PRBool *outCmdEnabled)
{
nsCOMPtr<nsIEditor> aEditor = do_QueryInterface(aCommandRefCon);
*outCmdEnabled = PR_FALSE;
@ -389,21 +360,19 @@ nsDeleteCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *a
nsresult rv = NS_OK;
nsAutoString cmdString(aCommandName);
if (cmdString.Equals(NS_LITERAL_STRING("cmd_delete")))
if (!nsCRT::strcmp(aCommandName,"cmd_delete"))
rv = aEditor->CanCut(outCmdEnabled);
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_deleteCharBackward")))
else if (!nsCRT::strcmp(aCommandName,"cmd_deleteCharBackward"))
*outCmdEnabled = PR_TRUE;
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_deleteCharForward")))
else if (!nsCRT::strcmp(aCommandName,"cmd_deleteCharForward"))
*outCmdEnabled = PR_TRUE;
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_deleteWordBackward")))
else if (!nsCRT::strcmp(aCommandName,"cmd_deleteWordBackward"))
*outCmdEnabled = PR_TRUE;
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_deleteWordForward")))
else if (!nsCRT::strcmp(aCommandName,"cmd_deleteWordForward"))
*outCmdEnabled = PR_TRUE;
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_deleteToBeginningOfLine")))
else if (!nsCRT::strcmp(aCommandName,"cmd_deleteToBeginningOfLine"))
*outCmdEnabled = PR_TRUE;
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_deleteToEndOfLine")))
else if (!nsCRT::strcmp(aCommandName,"cmd_deleteToEndOfLine"))
*outCmdEnabled = PR_TRUE;
return rv;
@ -411,54 +380,50 @@ nsDeleteCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *a
NS_IMETHODIMP
nsDeleteCommand::DoCommand(const nsAString & aCommandName, nsISupports *aCommandRefCon)
nsDeleteCommand::DoCommand(const char *aCommandName, nsISupports *aCommandRefCon)
{
nsCOMPtr<nsIEditor> aEditor = do_QueryInterface(aCommandRefCon);
if (!aEditor)
return NS_ERROR_FAILURE;
nsAutoString cmdString(aCommandName);
nsCAutoString cmdString(aCommandName);
nsIEditor::EDirection deleteDir = nsIEditor::eNone;
if (cmdString.Equals(NS_LITERAL_STRING("cmd_delete")))
if (!nsCRT::strcmp("cmd_delete",aCommandName))
deleteDir = nsIEditor::ePrevious;
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_deleteCharBackward")))
else if (!nsCRT::strcmp("cmd_deleteCharBackward",aCommandName))
deleteDir = nsIEditor::ePrevious;
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_deleteCharForward")))
else if (!nsCRT::strcmp("cmd_deleteCharForward",aCommandName))
deleteDir = nsIEditor::eNext;
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_deleteWordBackward")))
else if (!nsCRT::strcmp("cmd_deleteWordBackward",aCommandName))
deleteDir = nsIEditor::ePreviousWord;
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_deleteWordForward")))
else if (!nsCRT::strcmp("cmd_deleteWordForward",aCommandName))
deleteDir = nsIEditor::eNextWord;
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_deleteToBeginningOfLine")))
else if (!nsCRT::strcmp("cmd_deleteToBeginningOfLine",aCommandName))
deleteDir = nsIEditor::eToBeginningOfLine;
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_deleteToEndOfLine")))
else if (!nsCRT::strcmp("cmd_deleteToEndOfLine",aCommandName))
deleteDir = nsIEditor::eToEndOfLine;
return aEditor->DeleteSelection(deleteDir);
}
NS_IMETHODIMP
nsDeleteCommand::DoCommandParams(nsICommandParams *aParams, nsISupports *aCommandRefCon)
nsDeleteCommand::DoCommandParams(const char *aCommandName, nsICommandParams *aParams, nsISupports *aCommandRefCon)
{
nsString tString;
aParams->GetStringValue(COMMAND_NAME,tString);
return DoCommand(tString,aCommandRefCon);
return DoCommand(aCommandName, aCommandRefCon);
}
NS_IMETHODIMP
nsDeleteCommand::GetCommandState(nsICommandParams *aParams, nsISupports *aCommandRefCon)
nsDeleteCommand::GetCommandState(const char *aCommandName, nsICommandParams *aParams, nsISupports *aCommandRefCon)
{
nsString tString;
aParams->GetStringValue(COMMAND_NAME,tString);
PRBool canUndo;
IsCommandEnabled(tString, aCommandRefCon, &canUndo);
IsCommandEnabled(aCommandName, aCommandRefCon, &canUndo);
return aParams->SetBooleanValue(STATE_ENABLED,canUndo);
}
NS_IMETHODIMP
nsSelectAllCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *aCommandRefCon, PRBool *outCmdEnabled)
nsSelectAllCommand::IsCommandEnabled(const char * aCommandName, nsISupports *aCommandRefCon, PRBool *outCmdEnabled)
{
nsCOMPtr<nsIEditor> aEditor = do_QueryInterface(aCommandRefCon);
*outCmdEnabled = PR_FALSE;
@ -470,7 +435,7 @@ nsSelectAllCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports
NS_IMETHODIMP
nsSelectAllCommand::DoCommand(const nsAString & aCommandName, nsISupports *aCommandRefCon)
nsSelectAllCommand::DoCommand(const char *aCommandName, nsISupports *aCommandRefCon)
{
nsCOMPtr<nsIEditor> aEditor = do_QueryInterface(aCommandRefCon);
if (aEditor)
@ -480,26 +445,22 @@ nsSelectAllCommand::DoCommand(const nsAString & aCommandName, nsISupports *aComm
}
NS_IMETHODIMP
nsSelectAllCommand::DoCommandParams(nsICommandParams *aParams, nsISupports *aCommandRefCon)
nsSelectAllCommand::DoCommandParams(const char *aCommandName, nsICommandParams *aParams, nsISupports *aCommandRefCon)
{
nsString tString;
aParams->GetStringValue(COMMAND_NAME,tString);
return DoCommand(tString,aCommandRefCon);
return DoCommand(aCommandName, aCommandRefCon);
}
NS_IMETHODIMP
nsSelectAllCommand::GetCommandState(nsICommandParams *aParams, nsISupports *aCommandRefCon)
nsSelectAllCommand::GetCommandState(const char *aCommandName, nsICommandParams *aParams, nsISupports *aCommandRefCon)
{
nsString tString;
aParams->GetStringValue(COMMAND_NAME,tString);
PRBool canUndo;
IsCommandEnabled(tString, aCommandRefCon, &canUndo);
IsCommandEnabled(aCommandName, aCommandRefCon, &canUndo);
return aParams->SetBooleanValue(STATE_ENABLED,canUndo);
}
NS_IMETHODIMP
nsSelectionMoveCommands::IsCommandEnabled(const nsAString & aCommandName, nsISupports *aCommandRefCon, PRBool *outCmdEnabled)
nsSelectionMoveCommands::IsCommandEnabled(const char * aCommandName, nsISupports *aCommandRefCon, PRBool *outCmdEnabled)
{
nsCOMPtr<nsIEditor> aEditor = do_QueryInterface(aCommandRefCon);
*outCmdEnabled = PR_FALSE;
@ -512,7 +473,7 @@ nsSelectionMoveCommands::IsCommandEnabled(const nsAString & aCommandName, nsISup
NS_IMETHODIMP
nsSelectionMoveCommands::DoCommand(const nsAString & aCommandName, nsISupports *aCommandRefCon)
nsSelectionMoveCommands::DoCommand(const char *aCommandName, nsISupports *aCommandRefCon)
{
nsCOMPtr<nsIEditor> aEditor = do_QueryInterface(aCommandRefCon);
if (!aEditor)
@ -527,103 +488,98 @@ nsSelectionMoveCommands::DoCommand(const nsAString & aCommandName, nsISupports *
if (!selCont)
return NS_ERROR_FAILURE;
nsAutoString cmdString(aCommandName);
// complete scroll commands
if (cmdString.Equals(NS_LITERAL_STRING("cmd_scrollTop")))
if (!nsCRT::strcmp(aCommandName,"cmd_scrollTop"))
return selCont->CompleteScroll(PR_FALSE);
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_scrollBottom")))
else if (!nsCRT::strcmp(aCommandName,"cmd_scrollBottom"))
return selCont->CompleteScroll(PR_TRUE);
// complete move commands
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_moveTop")))
else if (!nsCRT::strcmp(aCommandName,"cmd_moveTop"))
return selCont->CompleteMove(PR_FALSE, PR_FALSE);
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_moveBottom")))
else if (!nsCRT::strcmp(aCommandName,"cmd_moveBottom"))
return selCont->CompleteMove(PR_TRUE, PR_FALSE);
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_selectTop")))
else if (!nsCRT::strcmp(aCommandName,"cmd_selectTop"))
return selCont->CompleteMove(PR_FALSE, PR_TRUE);
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_selectBottom")))
else if (!nsCRT::strcmp(aCommandName,"cmd_selectBottom"))
return selCont->CompleteMove(PR_TRUE, PR_TRUE);
// line move commands
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_lineNext")))
else if (!nsCRT::strcmp(aCommandName,"cmd_lineNext"))
return selCont->LineMove(PR_TRUE, PR_FALSE);
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_linePrevious")))
else if (!nsCRT::strcmp(aCommandName,"cmd_linePrevious"))
return selCont->LineMove(PR_FALSE, PR_FALSE);
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_selectLineNext")))
else if (!nsCRT::strcmp(aCommandName,"cmd_selectLineNext"))
return selCont->LineMove(PR_TRUE, PR_TRUE);
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_selectLinePrevious")))
else if (!nsCRT::strcmp(aCommandName,"cmd_selectLinePrevious"))
return selCont->LineMove(PR_FALSE, PR_TRUE);
// character move commands
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_charPrevious")))
else if (!nsCRT::strcmp(aCommandName,"cmd_charPrevious"))
return selCont->CharacterMove(PR_FALSE, PR_FALSE);
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_charNext")))
else if (!nsCRT::strcmp(aCommandName,"cmd_charNext"))
return selCont->CharacterMove(PR_TRUE, PR_FALSE);
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_selectCharPrevious")))
else if (!nsCRT::strcmp(aCommandName,"cmd_selectCharPrevious"))
return selCont->CharacterMove(PR_FALSE, PR_TRUE);
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_selectCharNext")))
else if (!nsCRT::strcmp(aCommandName,"cmd_selectCharNext"))
return selCont->CharacterMove(PR_TRUE, PR_TRUE);
// intra line move commands
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_beginLine")))
else if (!nsCRT::strcmp(aCommandName,"cmd_beginLine"))
return selCont->IntraLineMove(PR_FALSE, PR_FALSE);
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_endLine")))
else if (!nsCRT::strcmp(aCommandName,"cmd_endLine"))
return selCont->IntraLineMove(PR_TRUE, PR_FALSE);
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_selectBeginLine")))
else if (!nsCRT::strcmp(aCommandName,"cmd_selectBeginLine"))
return selCont->IntraLineMove(PR_FALSE, PR_TRUE);
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_selectEndLine")))
else if (!nsCRT::strcmp(aCommandName,"cmd_selectEndLine"))
return selCont->IntraLineMove(PR_TRUE, PR_TRUE);
// word move commands
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_wordPrevious")))
else if (!nsCRT::strcmp(aCommandName,"cmd_wordPrevious"))
return selCont->WordMove(PR_FALSE, PR_FALSE);
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_wordNext")))
else if (!nsCRT::strcmp(aCommandName,"cmd_wordNext"))
return selCont->WordMove(PR_TRUE, PR_FALSE);
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_selectWordPrevious")))
else if (!nsCRT::strcmp(aCommandName,"cmd_selectWordPrevious"))
return selCont->WordMove(PR_FALSE, PR_TRUE);
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_selectWordNext")))
else if (!nsCRT::strcmp(aCommandName,"cmd_selectWordNext"))
return selCont->WordMove(PR_TRUE, PR_TRUE);
// scroll page commands
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_scrollPageUp")))
else if (!nsCRT::strcmp(aCommandName,"cmd_scrollPageUp"))
return selCont->ScrollPage(PR_FALSE);
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_scrollPageDown")))
else if (!nsCRT::strcmp(aCommandName,"cmd_scrollPageDown"))
return selCont->ScrollPage(PR_TRUE);
// scroll line commands
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_scrollLineUp")))
else if (!nsCRT::strcmp(aCommandName,"cmd_scrollLineUp"))
return selCont->ScrollLine(PR_FALSE);
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_scrollLineDown")))
else if (!nsCRT::strcmp(aCommandName,"cmd_scrollLineDown"))
return selCont->ScrollLine(PR_TRUE);
// page move commands
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_movePageUp")))
else if (!nsCRT::strcmp(aCommandName,"cmd_movePageUp"))
return selCont->PageMove(PR_FALSE, PR_FALSE);
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_movePageDown")))
else if (!nsCRT::strcmp(aCommandName,"cmd_movePageDown"))
return selCont->PageMove(PR_TRUE, PR_FALSE);
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_selectPageUp")))
else if (!nsCRT::strcmp(aCommandName,"cmd_selectPageUp"))
return selCont->PageMove(PR_FALSE, PR_TRUE);
else if (cmdString.Equals(NS_LITERAL_STRING("cmd_selectPageDown")))
else if (!nsCRT::strcmp(aCommandName,"cmd_selectPageDown"))
return selCont->PageMove(PR_TRUE, PR_TRUE);
return NS_ERROR_FAILURE;
}
NS_IMETHODIMP
nsSelectionMoveCommands::DoCommandParams(nsICommandParams *aParams, nsISupports *aCommandRefCon)
nsSelectionMoveCommands::DoCommandParams(const char *aCommandName, nsICommandParams *aParams, nsISupports *aCommandRefCon)
{
nsString tString;
aParams->GetStringValue(COMMAND_NAME,tString);
return DoCommand(tString,aCommandRefCon);
return DoCommand(aCommandName, aCommandRefCon);
}
NS_IMETHODIMP
nsSelectionMoveCommands::GetCommandState(nsICommandParams *aParams, nsISupports *aCommandRefCon)
nsSelectionMoveCommands::GetCommandState(const char *aCommandName, nsICommandParams *aParams, nsISupports *aCommandRefCon)
{
nsString tString;
aParams->GetStringValue(COMMAND_NAME,tString);
PRBool canUndo;
IsCommandEnabled(tString, aCommandRefCon, &canUndo);
IsCommandEnabled(aCommandName, aCommandRefCon, &canUndo);
return aParams->SetBooleanValue(STATE_ENABLED,canUndo);
}

View File

@ -55,8 +55,8 @@ public:
NS_DECL_ISUPPORTS
NS_IMETHOD IsCommandEnabled(const nsAString & aCommandName, nsISupports *aCommandRefCon, PRBool *_retval) = 0;
NS_IMETHOD DoCommand(const nsAString & aCommandName, nsISupports *aCommandRefCon) = 0;
NS_IMETHOD IsCommandEnabled(const char * aCommandName, nsISupports *aCommandRefCon, PRBool *_retval) = 0;
NS_IMETHOD DoCommand(const char *aCommandName, nsISupports *aCommandRefCon) = 0;
};
@ -65,10 +65,10 @@ public:
class _cmd : public nsBaseEditorCommand \
{ \
public: \
NS_IMETHOD IsCommandEnabled(const nsAString & aCommandName, nsISupports *aCommandRefCon, PRBool *_retval); \
NS_IMETHOD DoCommand(const nsAString & aCommandName, nsISupports *aCommandRefCon); \
NS_IMETHOD DoCommandParams(nsICommandParams *aParams, nsISupports *aCommandRefCon); \
NS_IMETHOD GetCommandState(nsICommandParams *aParams, nsISupports *aCommandRefCon); \
NS_IMETHOD IsCommandEnabled(const char * aCommandName, nsISupports *aCommandRefCon, PRBool *_retval); \
NS_IMETHOD DoCommand(const char *aCommandName, nsISupports *aCommandRefCon); \
NS_IMETHOD DoCommandParams(const char *aCommandName,nsICommandParams *aParams, nsISupports *aCommandRefCon); \
NS_IMETHOD GetCommandState(const char *aCommandName,nsICommandParams *aParams, nsISupports *aCommandRefCon); \
};
@ -92,14 +92,14 @@ NS_DECL_EDITOR_COMMAND(nsSelectionMoveCommands)
#if 0
// template for new command
NS_IMETHODIMP
nsFooCommand::IsCommandEnabled(const nsAString & aCommandName, nsISupports *aCommandRefCon, PRBool *_retval)
nsFooCommand::IsCommandEnabled(const char * aCommandName, nsISupports *aCommandRefCon, PRBool *_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
nsFooCommand::DoCommand(const nsAString & aCommandName, const nsAString & aCommandParams, nsISupports *aCommandRefCon)
nsFooCommand::DoCommand(const char *aCommandName, const nsAString & aCommandParams, nsISupports *aCommandRefCon)
{
return NS_ERROR_NOT_IMPLEMENTED;
}

View File

@ -51,6 +51,7 @@ NS_IMPL_RELEASE(nsEditorController)
NS_INTERFACE_MAP_BEGIN(nsEditorController)
NS_INTERFACE_MAP_ENTRY(nsIController)
NS_INTERFACE_MAP_ENTRY(nsICommandController)
NS_INTERFACE_MAP_ENTRY(nsIEditorController)
NS_INTERFACE_MAP_ENTRY(nsIInterfaceRequestor)
NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIEditorController)
@ -103,7 +104,7 @@ NS_IMETHODIMP nsEditorController::GetInterface(const nsIID & aIID, void * *resul
_cmdClass* theCmd; \
NS_NEWXPCOM(theCmd, _cmdClass); \
if (!theCmd) return NS_ERROR_OUT_OF_MEMORY; \
rv = inCommandManager->RegisterCommand(NS_LITERAL_STRING(_cmdName), \
rv = inCommandManager->RegisterCommand(_cmdName, \
NS_STATIC_CAST(nsIControllerCommand *, theCmd)); \
}
@ -112,15 +113,15 @@ NS_IMETHODIMP nsEditorController::GetInterface(const nsIID & aIID, void * *resul
_cmdClass* theCmd; \
NS_NEWXPCOM(theCmd, _cmdClass); \
if (!theCmd) return NS_ERROR_OUT_OF_MEMORY; \
rv = inCommandManager->RegisterCommand(NS_LITERAL_STRING(_cmdName), \
rv = inCommandManager->RegisterCommand(_cmdName, \
NS_STATIC_CAST(nsIControllerCommand *, theCmd));
#define NS_REGISTER_NEXT_COMMAND(_cmdClass, _cmdName) \
rv = inCommandManager->RegisterCommand(NS_LITERAL_STRING(_cmdName), \
rv = inCommandManager->RegisterCommand(_cmdName, \
NS_STATIC_CAST(nsIControllerCommand *, theCmd));
#define NS_REGISTER_LAST_COMMAND(_cmdClass, _cmdName) \
rv = inCommandManager->RegisterCommand(NS_LITERAL_STRING(_cmdName), \
rv = inCommandManager->RegisterCommand(_cmdName, \
NS_STATIC_CAST(nsIControllerCommand *, theCmd)); \
}
@ -190,24 +191,34 @@ nsresult nsEditorController::RegisterEditorCommands(nsIControllerCommandManager
* nsIController
* ======================================================================= */
NS_IMETHODIMP nsEditorController::IsCommandEnabled(const nsAString & aCommand, PRBool *aResult)
NS_IMETHODIMP nsEditorController::IsCommandEnabled(const char *aCommand, PRBool *aResult)
{
NS_ENSURE_ARG_POINTER(aResult);
return mCommandManager->IsCommandEnabled(aCommand, mCommandRefCon, aResult);
}
NS_IMETHODIMP nsEditorController::SupportsCommand(const nsAString & aCommand, PRBool *aResult)
NS_IMETHODIMP nsEditorController::SupportsCommand(const char *aCommand, PRBool *aResult)
{
NS_ENSURE_ARG_POINTER(aResult);
return mCommandManager->SupportsCommand(aCommand, mCommandRefCon, aResult);
}
NS_IMETHODIMP nsEditorController::DoCommand(const nsAString & aCommand)
NS_IMETHODIMP nsEditorController::DoCommand(const char *aCommand)
{
return mCommandManager->DoCommand(aCommand, mCommandRefCon);
}
NS_IMETHODIMP nsEditorController::OnEvent(const nsAString & aEventName)
NS_IMETHODIMP nsEditorController::DoCommand(const char *aCommand, nsICommandParams *aParams)
{
return mCommandManager->DoCommandParams(aCommand, aParams, mCommandRefCon);
}
NS_IMETHODIMP nsEditorController::GetCommandState(const char *aCommand, nsICommandParams *aParams)
{
return mCommandManager->GetCommandState(aCommand, aParams, mCommandRefCon);
}
NS_IMETHODIMP nsEditorController::OnEvent(const char * aEventName)
{
return NS_OK;
}

View File

@ -62,7 +62,8 @@ class nsIEditor;
class nsEditorController : public nsIController,
public nsIEditorController,
public nsIInterfaceRequestor
public nsIInterfaceRequestor,
public nsICommandController
{
public:
@ -75,6 +76,9 @@ public:
// nsIController
NS_DECL_NSICONTROLLER
// nsICommandController
NS_DECL_NSICOMMANDCONTROLLER
/** init the controller */
NS_IMETHOD Init(nsISupports *aCommandRefCon);

View File

@ -64,7 +64,7 @@ interface nsICommandManager : nsISupports
* multiple times.
*/
void addCommandObserver(in nsIObserver aCommandObserver,
in DOMString aCommandToObserve);
in string aCommandToObserve);
/*
* Stop an observer from observering the specified command. If the observer
@ -74,19 +74,19 @@ interface nsICommandManager : nsISupports
* from all commands.
*/
void removeCommandObserver(in nsIObserver aCommandObserver,
in DOMString aCommandObserved);
in string aCommandObserved);
/*
* Ask the command manager if the specified command is supported.
*
*/
boolean isCommandSupported(in DOMString aCommandName);
boolean isCommandSupported(in string aCommandName);
/*
* Ask the command manager if the specified command is currently.
* enabled.
*/
boolean isCommandEnabled(in DOMString aCommandName);
boolean isCommandEnabled(in string aCommandName);
/*
* Get the state of the specified commands.
@ -97,10 +97,11 @@ interface nsICommandManager : nsISupports
* and, in return will be set to indicate whether the command is enabled
* (equivalent to calling isCommandEnabled).
*
* aCommandName is te name of the command that needs the state
* On output: aCommandParams: values set by the caller filled in with
* state from the command.
*/
void getCommandState(in nsICommandParams aCommandParams);
void getCommandState(in string aCommandName, in nsICommandParams aCommandParams);
/*
* Execute the specified command.
@ -109,7 +110,7 @@ interface nsICommandManager : nsISupports
* may be null for parameter-less commands.
*
*/
void doCommand(in nsICommandParams aCommandParams);
void doCommand(in string aCommandName, in nsICommandParams aCommandParams);
};

View File

@ -54,17 +54,18 @@ interface nsICommandParams : nsISupports
*/
const short eNoType = 0; /* Only used for sanity checking */
const short eBooleanType = 1;
const short eLongType = 2;
const short eLongType = 2;
const short eDoubleType = 3;
const short eWStringType = 4;
const short eISupportsType = 5;
const short eStringType = 6;
/*
* getValueType
*
* Get the type of a specified parameter
*/
short getValueType(in AString name);
short getValueType(in string name);
/*
* get_Value
@ -78,11 +79,12 @@ interface nsICommandParams : nsISupports
* for it to contain nsICommandParams, but not *this*
* one (i.e. self-containing is not allowed).
*/
boolean getBooleanValue(in AString name);
long getLongValue(in AString name);
double getDoubleValue(in AString name);
AString getStringValue(in AString name);
nsISupports getISupportsValue(in AString name);
boolean getBooleanValue(in string name);
long getLongValue(in string name);
double getDoubleValue(in string name);
AString getStringValue(in string name);
string getCStringValue(in string name);
nsISupports getISupportsValue(in string name);
/*
* set_Value
@ -95,18 +97,19 @@ interface nsICommandParams : nsISupports
* for it to contain nsICommandParams, but not *this*
* one (i.e. self-containing is not allowed).
*/
void setBooleanValue(in AString name, in boolean value);
void setLongValue(in AString name, in long value);
void setDoubleValue(in AString name, in double value);
void setStringValue(in AString name, in AString value);
void setISupportsValue(in AString name, in nsISupports value);
void setBooleanValue(in string name, in boolean value);
void setLongValue(in string name, in long value);
void setDoubleValue(in string name, in double value);
void setStringValue(in string name, in AString value);
void setCStringValue(in string name, in string value);
void setISupportsValue(in string name, in nsISupports value);
/*
* removeValue
*
* Remove the specified parameter from the list.
*/
void removeValue(in AString name);
void removeValue(in string name);
/*
* Enumeration methods
@ -118,7 +121,14 @@ interface nsICommandParams : nsISupports
*/
boolean hasMoreElements();
void first();
AString getNext();
/**
* GetNext()
*
* @return string pointer that will be allocated and is up
* to the caller to free
*/
string getNext();
};

View File

@ -46,9 +46,9 @@ interface nsIControllerCommand : nsISupports
* allowing the command to get some context information.
* The contents of this cookie are implementation-defined.
*/
boolean isCommandEnabled(in DOMString aCommandName, in nsISupports aCommandRefCon);
boolean isCommandEnabled(in string aCommandName, in nsISupports aCommandRefCon);
void getCommandState(in nsICommandParams aParams, in nsISupports aCommandRefCon);
void getCommandState(in string aCommandName, in nsICommandParams aParams, in nsISupports aCommandRefCon);
/**
* Execute the name command.
@ -59,9 +59,9 @@ interface nsIControllerCommand : nsISupports
* allowing the command to get some context information.
* The contents of this cookie are implementation-defined.
*/
void doCommand(in DOMString aCommandName, in nsISupports aCommandRefCon);
void doCommand(in string aCommandName, in nsISupports aCommandRefCon);
void doCommandParams(in nsICommandParams aParams, in nsISupports aCommandRefCon);
void doCommandParams(in string aCommandName, in nsICommandParams aParams, in nsISupports aCommandRefCon);
};
@ -89,7 +89,7 @@ interface nsIStateUpdatingControllerCommand : nsISupports
* allowing the command to get some context information.
* The contents of this cookie are implementation-defined.
*/
void updateCommandState(in DOMString aCommandName, in nsISupports aCommandRefCon);
void updateCommandState(in string aCommandName, in nsISupports aCommandRefCon);
/**
* Gets the command states based on the input parameters

View File

@ -47,15 +47,15 @@ interface nsIControllerCommandManager : nsISupports
*
* @param aCommand the handler for this command.
*/
void registerCommand(in DOMString aCommandName, in nsIControllerCommand aCommand);
void unregisterCommand(in DOMString aCommandName, in nsIControllerCommand aCommand);
void registerCommand(in string aCommandName, in nsIControllerCommand aCommand);
void unregisterCommand(in string aCommandName, in nsIControllerCommand aCommand);
/**
* Find the command handler which has been registered to handle the named command.
*
* @param aCommandName the name of the command to find the handler for.
*/
nsIControllerCommand findCommandHandler(in DOMString aCommandName);
nsIControllerCommand findCommandHandler(in string aCommandName);
/**
* Get whether the named command is enabled.
@ -63,7 +63,7 @@ interface nsIControllerCommandManager : nsISupports
* @param aCommandName the name of the command to test
* @param aCommandRefCon the command context data
*/
boolean isCommandEnabled(in DOMString aCommandName, in nsISupports aCommandRefCon);
boolean isCommandEnabled(in string aCommandName, in nsISupports aCommandRefCon);
/**
* Tell the command to udpate its state (if it is a state updating command)
@ -71,7 +71,7 @@ interface nsIControllerCommandManager : nsISupports
* @param aCommandName the name of the command to update
* @param aCommandRefCon the command context data
*/
void updateCommandState(in DOMString aCommandName, in nsISupports aCommandRefCon);
void updateCommandState(in string aCommandName, in nsISupports aCommandRefCon);
/**
* Get whether the named command is supported.
@ -79,7 +79,7 @@ interface nsIControllerCommandManager : nsISupports
* @param aCommandName the name of the command to test
* @param aCommandRefCon the command context data
*/
boolean supportsCommand(in DOMString aCommandName, in nsISupports aCommandRefCon);
boolean supportsCommand(in string aCommandName, in nsISupports aCommandRefCon);
/**
* Execute the named command.
@ -87,11 +87,11 @@ interface nsIControllerCommandManager : nsISupports
* @param aCommandName the name of the command to execute
* @param aCommandRefCon the command context data
*/
void doCommand(in DOMString aCommandName, in nsISupports aCommandRefCon);
void doCommand(in string aCommandName, in nsISupports aCommandRefCon);
void doCommandParams(in nsICommandParams aParam, in nsISupports aCommandRefCon);
void doCommandParams(in string aCommandName, in nsICommandParams aParam, in nsISupports aCommandRefCon);
void getCommandState(in nsICommandParams aParam, in nsISupports aCommandRefCon);
void getCommandState(in string aCommandName, in nsICommandParams aParam, in nsISupports aCommandRefCon);
};

View File

@ -65,7 +65,7 @@ interface nsPICommandUpdater : nsISupports
* changed. It may have changed from enabled to disabled,
* or vice versa, or become toggled etc.
*/
void commandStatusChanged(in DOMString aCommandName);
void commandStatusChanged(in string aCommandName);
};

View File

@ -45,6 +45,7 @@
#include "nsCommandGroup.h"
#include "nsIControllerCommand.h"
#include "nsCRT.h"
class nsGroupsEnumerator : public nsISimpleEnumerator
@ -66,7 +67,7 @@ protected:
nsHashtable& mHashTable;
PRInt32 mIndex;
PRUnichar** mGroupNames; // array of pointers to PRUnichar* in the hash table
char ** mGroupNames; // array of pointers to PRUnichar* in the hash table
PRBool mInitted;
};
@ -123,9 +124,9 @@ nsGroupsEnumerator::GetNext(nsISupports **_retval)
if (mIndex >= mHashTable.Count())
return NS_ERROR_FAILURE;
PRUnichar *thisGroupName = mGroupNames[mIndex];
char *thisGroupName = mGroupNames[mIndex];
nsCOMPtr<nsISupportsWString> supportsString = do_CreateInstance(NS_SUPPORTS_WSTRING_CONTRACTID, &rv);
nsCOMPtr<nsISupportsString> supportsString = do_CreateInstance(NS_SUPPORTS_STRING_CONTRACTID, &rv);
if (NS_FAILED(rv)) return rv;
supportsString->SetData(thisGroupName);
@ -138,9 +139,9 @@ PRBool
nsGroupsEnumerator::HashEnum(nsHashKey *aKey, void *aData, void* aClosure)
{
nsGroupsEnumerator* groupsEnum = NS_REINTERPRET_CAST(nsGroupsEnumerator *, aClosure);
nsStringKey* stringKey = NS_STATIC_CAST(nsStringKey*, aKey);
nsCStringKey* stringKey = NS_STATIC_CAST(nsCStringKey*, aKey);
groupsEnum->mGroupNames[groupsEnum->mIndex] = (PRUnichar*)stringKey->GetString();
groupsEnum->mGroupNames[groupsEnum->mIndex] = (char*)stringKey->GetString();
groupsEnum->mIndex ++;
return PR_TRUE;
}
@ -150,7 +151,7 @@ nsGroupsEnumerator::Initialize()
{
if (mInitted) return NS_OK;
mGroupNames = new PRUnichar*[mHashTable.Count()];
mGroupNames = new char*[mHashTable.Count()];
if (!mGroupNames) return NS_ERROR_OUT_OF_MEMORY;
mIndex = 0;
@ -258,9 +259,9 @@ nsControllerCommandGroup::ClearGroupsHash()
/* void addCommandToGroup (in DOMString aCommand, in DOMString aGroup); */
NS_IMETHODIMP
nsControllerCommandGroup::AddCommandToGroup(const nsAString & aCommand, const nsAString & aGroup)
nsControllerCommandGroup::AddCommandToGroup(const char * aCommand, const char *aGroup)
{
nsStringKey groupKey(aGroup);
nsCStringKey groupKey(aGroup);
nsVoidArray* commandList;
if ((commandList = (nsVoidArray *)mGroupsHash.Get(&groupKey)) == nsnull)
{
@ -269,7 +270,7 @@ nsControllerCommandGroup::AddCommandToGroup(const nsAString & aCommand, const ns
mGroupsHash.Put(&groupKey, (void *)commandList);
}
// add the command to the list. Note that we're not checking for duplicates here
PRUnichar* commandString = ToNewUnicode(aCommand); // we store allocated PRUnichar* in the array
char* commandString = nsCRT::strdup(aCommand); // we store allocated PRUnichar* in the array
if (!commandString) return NS_ERROR_OUT_OF_MEMORY;
PRBool appended = commandList->AppendElement((void *)commandString);
@ -280,17 +281,17 @@ nsControllerCommandGroup::AddCommandToGroup(const nsAString & aCommand, const ns
/* void removeCommandFromGroup (in DOMString aCommand, in DOMString aGroup); */
NS_IMETHODIMP
nsControllerCommandGroup::RemoveCommandFromGroup(const nsAString & aCommand, const nsAString & aGroup)
nsControllerCommandGroup::RemoveCommandFromGroup(const char * aCommand, const char * aGroup)
{
nsStringKey groupKey(aGroup);
nsCStringKey groupKey(aGroup);
nsVoidArray* commandList = (nsVoidArray *)mGroupsHash.Get(&groupKey);
if (!commandList) return NS_OK; // no group
PRInt32 numEntries = commandList->Count();
for (PRInt32 i = 0; i < numEntries; i ++)
{
PRUnichar* commandString = (PRUnichar*)commandList->ElementAt(i);
if (aCommand.Equals(commandString))
char* commandString = (char*)commandList->ElementAt(i);
if (!nsCRT::strcmp(aCommand,commandString))
{
commandList->RemoveElementAt(i);
nsMemory::Free(commandString);
@ -303,20 +304,20 @@ nsControllerCommandGroup::RemoveCommandFromGroup(const nsAString & aCommand, con
/* boolean isCommandInGroup (in DOMString aCommand, in DOMString aGroup); */
NS_IMETHODIMP
nsControllerCommandGroup::IsCommandInGroup(const nsAString & aCommand, const nsAString & aGroup, PRBool *_retval)
nsControllerCommandGroup::IsCommandInGroup(const char * aCommand, const char * aGroup, PRBool *_retval)
{
NS_ENSURE_ARG_POINTER(_retval);
*_retval = PR_FALSE;
nsStringKey groupKey(aGroup);
nsCStringKey groupKey(aGroup);
nsVoidArray* commandList = (nsVoidArray *)mGroupsHash.Get(&groupKey);
if (!commandList) return NS_OK; // no group
PRInt32 numEntries = commandList->Count();
for (PRInt32 i = 0; i < numEntries; i ++)
{
PRUnichar* commandString = (PRUnichar*)commandList->ElementAt(i);
if (aCommand.Equals(commandString))
char* commandString = (char*)commandList->ElementAt(i);
if (!nsCRT::strcmp(aCommand,commandString))
{
*_retval = PR_TRUE;
break;
@ -337,9 +338,9 @@ nsControllerCommandGroup::GetGroupsEnumerator(nsISimpleEnumerator **_retval)
/* nsISimpleEnumerator getEnumeratorForGroup (in DOMString aGroup); */
NS_IMETHODIMP
nsControllerCommandGroup::GetEnumeratorForGroup(const nsAString & aGroup, nsISimpleEnumerator **_retval)
nsControllerCommandGroup::GetEnumeratorForGroup(const char * aGroup, nsISimpleEnumerator **_retval)
{
nsStringKey groupKey(aGroup);
nsCStringKey groupKey(aGroup);
nsVoidArray* commandList = (nsVoidArray *)mGroupsHash.Get(&groupKey); // may be null
nsNamedGroupEnumerator* theGroupEnum = new nsNamedGroupEnumerator(commandList);
@ -360,7 +361,7 @@ PRBool nsControllerCommandGroup::ClearEnumerator(nsHashKey *aKey, void *aData, v
PRInt32 numEntries = commandList->Count();
for (PRInt32 i = 0; i < numEntries; i ++)
{
PRUnichar* commandString = (PRUnichar*)commandList->ElementAt(i);
char* commandString = (char*)commandList->ElementAt(i);
nsMemory::Free(commandString);
}

View File

@ -84,11 +84,10 @@ nsCommandManager::Init(nsIDOMWindow *aWindow)
/* void commandStatusChanged (in DOMString aCommandName, in long aChangeFlags); */
NS_IMETHODIMP
nsCommandManager::CommandStatusChanged(const nsAString & aCommandName)
nsCommandManager::CommandStatusChanged(const char * aCommandName)
{
nsStringKey hashKey(aCommandName);
nsCStringKey hashKey(aCommandName);
nsPromiseFlatString flatCommand = PromiseFlatString(aCommandName);
nsresult rv = NS_OK;
nsCOMPtr<nsISupports> commandSupports = getter_AddRefs(mCommandObserversTable.Get(&hashKey));
@ -108,7 +107,7 @@ nsCommandManager::CommandStatusChanged(const nsAString & aCommandName)
if (itemObserver)
{
// should we get the command state to pass here? This might be expensive.
itemObserver->Observe((nsICommandManager *)this, "command_status_changed", flatCommand.get());
itemObserver->Observe((nsICommandManager *)this, aCommandName,NS_LITERAL_STRING("command_status_changed").get());
}
}
}
@ -122,7 +121,7 @@ nsCommandManager::CommandStatusChanged(const nsAString & aCommandName)
/* void addCommandObserver (in nsIObserver aCommandObserver, in wstring aCommandToObserve); */
NS_IMETHODIMP
nsCommandManager::AddCommandObserver(nsIObserver *aCommandObserver, const nsAString & aCommandToObserve)
nsCommandManager::AddCommandObserver(nsIObserver *aCommandObserver, const char *aCommandToObserve)
{
NS_ENSURE_ARG(aCommandObserver);
@ -131,7 +130,7 @@ nsCommandManager::AddCommandObserver(nsIObserver *aCommandObserver, const nsAStr
// XXX todo: handle special cases of aCommandToObserve being null, or empty
// for each command in the table, we make a list of observers for that command
nsStringKey hashKey(aCommandToObserve);
nsCStringKey hashKey(aCommandToObserve);
nsCOMPtr<nsISupports> commandSupports = getter_AddRefs(mCommandObserversTable.Get(&hashKey));
nsCOMPtr<nsISupportsArray> commandObservers = do_QueryInterface(commandSupports);
@ -158,12 +157,12 @@ nsCommandManager::AddCommandObserver(nsIObserver *aCommandObserver, const nsAStr
/* void removeCommandObserver (in nsIObserver aCommandObserver, in wstring aCommandObserved); */
NS_IMETHODIMP
nsCommandManager::RemoveCommandObserver(nsIObserver *aCommandObserver, const nsAString & aCommandObserved)
nsCommandManager::RemoveCommandObserver(nsIObserver *aCommandObserver, const char *aCommandObserved)
{
NS_ENSURE_ARG(aCommandObserver);
// XXX todo: handle special cases of aCommandToObserve being null, or empty
nsStringKey hashKey(aCommandObserved);
nsCStringKey hashKey(aCommandObserved);
nsCOMPtr<nsISupports> commandSupports = getter_AddRefs(mCommandObserversTable.Get(&hashKey));
nsCOMPtr<nsISupportsArray> commandObservers = do_QueryInterface(commandSupports);
@ -176,7 +175,7 @@ nsCommandManager::RemoveCommandObserver(nsIObserver *aCommandObserver, const nsA
/* boolean isCommandSupported (in wstring aCommandName); */
NS_IMETHODIMP
nsCommandManager::IsCommandSupported(const nsAString & aCommandName, PRBool *outCommandSupported)
nsCommandManager::IsCommandSupported(const char *aCommandName, PRBool *outCommandSupported)
{
NS_ENSURE_ARG_POINTER(outCommandSupported);
@ -188,7 +187,7 @@ nsCommandManager::IsCommandSupported(const nsAString & aCommandName, PRBool *out
/* boolean isCommandEnabled (in wstring aCommandName); */
NS_IMETHODIMP
nsCommandManager::IsCommandEnabled(const nsAString & aCommandName, PRBool *outCommandEnabled)
nsCommandManager::IsCommandEnabled(const char *aCommandName, PRBool *outCommandEnabled)
{
NS_ENSURE_ARG_POINTER(outCommandEnabled);
@ -204,51 +203,40 @@ nsCommandManager::IsCommandEnabled(const nsAString & aCommandName, PRBool *outCo
return NS_OK;
}
#define COMMAND_NAME NS_ConvertASCIItoUCS2("cmd_name")
/* void getCommandState (in DOMString aCommandName, inout nsICommandParams aCommandParams); */
NS_IMETHODIMP
nsCommandManager::GetCommandState(nsICommandParams *aCommandParams)
nsCommandManager::GetCommandState(const char *aCommandName, nsICommandParams *aCommandParams)
{
nsCOMPtr<nsIController> controller;
nsAutoString tValue;
nsresult rv;
if (NS_SUCCEEDED(rv = aCommandParams->GetStringValue(COMMAND_NAME,tValue)))
{
nsresult rv = GetControllerForCommand(tValue, getter_AddRefs(controller));
if (!controller)
return NS_ERROR_FAILURE;
nsCOMPtr<nsICommandController> commandController = do_QueryInterface(controller);
if (commandController)
rv = commandController->GetCommandState(aCommandParams);
else
rv = NS_ERROR_NOT_IMPLEMENTED;
}
nsresult rv = GetControllerForCommand(aCommandName, getter_AddRefs(controller));
if (!controller)
return NS_ERROR_FAILURE;
nsCOMPtr<nsICommandController> commandController = do_QueryInterface(controller);
if (commandController)
rv = commandController->GetCommandState(aCommandName,aCommandParams);
else
rv = NS_ERROR_NOT_IMPLEMENTED;
return rv;
}
/* void doCommand (nsICommandParams aCommandParams); */
#define COMMAND_NAME NS_ConvertASCIItoUCS2("cmd_name")
NS_IMETHODIMP
nsCommandManager::DoCommand(nsICommandParams *aCommandParams)
nsCommandManager::DoCommand(const char *aCommandName, nsICommandParams *aCommandParams)
{
nsCOMPtr<nsIController> controller;
nsAutoString tValue;
nsresult rv;
if (NS_SUCCEEDED(rv = aCommandParams->GetStringValue(COMMAND_NAME,tValue)))
{
nsresult rv = GetControllerForCommand(tValue, getter_AddRefs(controller));
if (!controller)
return NS_ERROR_FAILURE;
nsresult rv = GetControllerForCommand(aCommandName, getter_AddRefs(controller));
if (!controller)
return NS_ERROR_FAILURE;
nsCOMPtr<nsICommandController> commandController = do_QueryInterface(controller);
if (commandController)
rv = commandController->DoCommand(aCommandParams);
else
rv = controller->DoCommand(tValue);
}
nsCOMPtr<nsICommandController> commandController = do_QueryInterface(controller);
if (commandController)
rv = commandController->DoCommand(aCommandName,aCommandParams);
else
rv = controller->DoCommand(aCommandName);
return rv;
}
@ -257,7 +245,7 @@ nsCommandManager::DoCommand(nsICommandParams *aCommandParams)
#endif
nsresult
nsCommandManager::GetControllerForCommand(const nsAString& aCommand, nsIController** outController)
nsCommandManager::GetControllerForCommand(const char *aCommand, nsIController** outController)
{
nsresult rv = NS_ERROR_FAILURE;

View File

@ -73,7 +73,7 @@ public:
protected:
nsresult GetControllerForCommand(const nsAString& aCommand, nsIController** outController);
nsresult GetControllerForCommand(const char * aCommand, nsIController** outController);
protected:

View File

@ -85,7 +85,7 @@ nsCommandParams::Init()
#endif
/* short getValueType (in string name); */
NS_IMETHODIMP nsCommandParams::GetValueType(const nsAString & name, PRInt16 *_retval)
NS_IMETHODIMP nsCommandParams::GetValueType(const char * name, PRInt16 *_retval)
{
NS_ENSURE_ARG_POINTER(_retval);
*_retval = eNoType;
@ -100,7 +100,7 @@ NS_IMETHODIMP nsCommandParams::GetValueType(const nsAString & name, PRInt16 *_re
}
/* boolean getBooleanValue (in AString name); */
NS_IMETHODIMP nsCommandParams::GetBooleanValue(const nsAString & name, PRBool *_retval)
NS_IMETHODIMP nsCommandParams::GetBooleanValue(const char * name, PRBool *_retval)
{
NS_ENSURE_ARG_POINTER(_retval);
*_retval = PR_FALSE;
@ -116,7 +116,7 @@ NS_IMETHODIMP nsCommandParams::GetBooleanValue(const nsAString & name, PRBool *_
}
/* long getLongValue (in AString name); */
NS_IMETHODIMP nsCommandParams::GetLongValue(const nsAString & name, PRInt32 *_retval)
NS_IMETHODIMP nsCommandParams::GetLongValue(const char * name, PRInt32 *_retval)
{
NS_ENSURE_ARG_POINTER(_retval);
*_retval = PR_FALSE;
@ -132,7 +132,7 @@ NS_IMETHODIMP nsCommandParams::GetLongValue(const nsAString & name, PRInt32 *_re
}
/* double getDoubleValue (in AString name); */
NS_IMETHODIMP nsCommandParams::GetDoubleValue(const nsAString & name, double *_retval)
NS_IMETHODIMP nsCommandParams::GetDoubleValue(const char * name, double *_retval)
{
NS_ENSURE_ARG_POINTER(_retval);
*_retval = 0.0;
@ -148,7 +148,7 @@ NS_IMETHODIMP nsCommandParams::GetDoubleValue(const nsAString & name, double *_r
}
/* AString getStringValue (in AString name); */
NS_IMETHODIMP nsCommandParams::GetStringValue(const nsAString & name, nsAString & _retval)
NS_IMETHODIMP nsCommandParams::GetStringValue(const char *name, nsAString & _retval)
{
_retval.Truncate();
HashEntry* foundEntry = GetNamedEntry(name);
@ -162,8 +162,22 @@ NS_IMETHODIMP nsCommandParams::GetStringValue(const nsAString & name, nsAString
return NS_ERROR_FAILURE;
}
/* AString getStringValue (in AString name); */
NS_IMETHODIMP nsCommandParams::GetCStringValue(const char * name, char **_retval)
{
HashEntry* foundEntry = GetNamedEntry(name);
if (foundEntry && foundEntry->mEntryType == eStringType)
{
NS_ASSERTION(foundEntry->mCString, "Null string");
*_retval= nsCRT::strdup((*foundEntry->mCString).get());
return NS_OK;
}
return NS_ERROR_FAILURE;
}
/* nsISupports getISupportsValue (in AString name); */
NS_IMETHODIMP nsCommandParams::GetISupportsValue(const nsAString & name, nsISupports **_retval)
NS_IMETHODIMP nsCommandParams::GetISupportsValue(const char * name, nsISupports **_retval)
{
NS_ENSURE_ARG_POINTER(_retval);
*_retval = nsnull;
@ -183,7 +197,7 @@ NS_IMETHODIMP nsCommandParams::GetISupportsValue(const nsAString & name, nsISupp
#endif
/* void setBooleanValue (in AString name, in boolean value); */
NS_IMETHODIMP nsCommandParams::SetBooleanValue(const nsAString & name, PRBool value)
NS_IMETHODIMP nsCommandParams::SetBooleanValue(const char * name, PRBool value)
{
HashEntry* foundEntry;
GetOrMakeEntry(name, eBooleanType, foundEntry);
@ -195,7 +209,7 @@ NS_IMETHODIMP nsCommandParams::SetBooleanValue(const nsAString & name, PRBool va
}
/* void setLongValue (in AString name, in long value); */
NS_IMETHODIMP nsCommandParams::SetLongValue(const nsAString & name, PRInt32 value)
NS_IMETHODIMP nsCommandParams::SetLongValue(const char * name, PRInt32 value)
{
HashEntry* foundEntry;
GetOrMakeEntry(name, eLongType, foundEntry);
@ -206,7 +220,7 @@ NS_IMETHODIMP nsCommandParams::SetLongValue(const nsAString & name, PRInt32 valu
}
/* void setDoubleValue (in AString name, in double value); */
NS_IMETHODIMP nsCommandParams::SetDoubleValue(const nsAString & name, double value)
NS_IMETHODIMP nsCommandParams::SetDoubleValue(const char * name, double value)
{
HashEntry* foundEntry;
GetOrMakeEntry(name, eDoubleType, foundEntry);
@ -217,7 +231,7 @@ NS_IMETHODIMP nsCommandParams::SetDoubleValue(const nsAString & name, double val
}
/* void setStringValue (in AString name, in AString value); */
NS_IMETHODIMP nsCommandParams::SetStringValue(const nsAString & name, const nsAString & value)
NS_IMETHODIMP nsCommandParams::SetStringValue(const char * name, const nsAString & value)
{
HashEntry* foundEntry;
GetOrMakeEntry(name, eWStringType, foundEntry);
@ -227,8 +241,19 @@ NS_IMETHODIMP nsCommandParams::SetStringValue(const nsAString & name, const nsAS
return NS_OK;
}
/* void setCStringValue (in string name, in string value); */
NS_IMETHODIMP nsCommandParams::SetCStringValue(const char * name, const char * value)
{
HashEntry* foundEntry;
GetOrMakeEntry(name, eStringType, foundEntry);
if (!foundEntry)
return NS_ERROR_OUT_OF_MEMORY;
foundEntry->mCString = new nsCString(value);
return NS_OK;
}
/* void setISupportsValue (in AString name, in nsISupports value); */
NS_IMETHODIMP nsCommandParams::SetISupportsValue(const nsAString & name, nsISupports *value)
NS_IMETHODIMP nsCommandParams::SetISupportsValue(const char * name, nsISupports *value)
{
HashEntry* foundEntry;
GetOrMakeEntry(name, eISupportsType, foundEntry);
@ -240,12 +265,11 @@ NS_IMETHODIMP nsCommandParams::SetISupportsValue(const nsAString & name, nsISupp
/* void removeValue (in AString name); */
NS_IMETHODIMP
nsCommandParams::RemoveValue(const nsAString & name)
nsCommandParams::RemoveValue(const char * name)
{
nsPromiseFlatString flatName = PromiseFlatString(name);
// PL_DHASH_REMOVE doesn't tell us if the entry was really removed, so we return
// NS_OK unconditionally.
(void)PL_DHashTableOperate(&mValuesHash, (void *)flatName.get(), PL_DHASH_REMOVE);
(void)PL_DHashTableOperate(&mValuesHash, (void *)name, PL_DHASH_REMOVE);
// inval the number of entries
mNumEntries = eNumEntriesUnknown;
@ -257,10 +281,9 @@ nsCommandParams::RemoveValue(const nsAString & name)
#endif
nsCommandParams::HashEntry*
nsCommandParams::GetNamedEntry(const nsAString& name)
nsCommandParams::GetNamedEntry(const char * name)
{
nsPromiseFlatString flatName = PromiseFlatString(name);
HashEntry *foundEntry = (HashEntry *)PL_DHashTableOperate(&mValuesHash, (void *)flatName.get(), PL_DHASH_LOOKUP);
HashEntry *foundEntry = (HashEntry *)PL_DHashTableOperate(&mValuesHash, (void *)name, PL_DHASH_LOOKUP);
if (PL_DHASH_ENTRY_IS_BUSY(foundEntry))
return foundEntry;
@ -281,7 +304,7 @@ nsCommandParams::GetIndexedEntry(PRInt32 index)
if (!PL_DHASH_ENTRY_IS_LIVE(entry))
continue;
if (entryCount == index)
if ((PRInt32)entryCount == index)
return entry;
entryCount ++;
@ -308,11 +331,10 @@ nsCommandParams::GetNumEntries()
}
nsresult
nsCommandParams::GetOrMakeEntry(const nsAString& name, PRUint8 entryType, HashEntry*& outEntry)
nsCommandParams::GetOrMakeEntry(const char * name, PRUint8 entryType, HashEntry*& outEntry)
{
nsPromiseFlatString flatName = PromiseFlatString(name);
HashEntry *foundEntry = (HashEntry *)PL_DHashTableOperate(&mValuesHash, (void *)flatName.get(), PL_DHASH_LOOKUP);
HashEntry *foundEntry = (HashEntry *)PL_DHashTableOperate(&mValuesHash, (void *)name, PL_DHASH_LOOKUP);
if (PL_DHASH_ENTRY_IS_BUSY(foundEntry)) // reuse existing entry
{
foundEntry->Reset(entryType);
@ -321,7 +343,7 @@ nsCommandParams::GetOrMakeEntry(const nsAString& name, PRUint8 entryType, HashEn
return NS_OK;
}
foundEntry = (HashEntry *)PL_DHashTableOperate(&mValuesHash, (void *)flatName.get(), PL_DHASH_ADD);
foundEntry = (HashEntry *)PL_DHashTableOperate(&mValuesHash, (void *)name, PL_DHASH_ADD);
if (!foundEntry) return NS_ERROR_OUT_OF_MEMORY;
// placement new that sucker. Our ctor does not clobber keyHash, which is important.
@ -344,14 +366,14 @@ nsCommandParams::HashGetKey(PLDHashTable *table, PLDHashEntryHdr *entry)
PLDHashNumber
nsCommandParams::HashKey(PLDHashTable *table, const void *key)
{
return nsCRT::HashCode((const PRUnichar*)key);
return nsCRT::HashCode((const char *)key);
}
PRBool
nsCommandParams::HashMatchEntry(PLDHashTable *table,
const PLDHashEntryHdr *entry, const void *key)
{
const PRUnichar* keyString = (const PRUnichar*)key;
const char* keyString = (const char*)key;
const HashEntry* thisEntry = NS_STATIC_CAST(const HashEntry*, entry);
return thisEntry->mEntryName.Equals(keyString);
@ -403,13 +425,13 @@ nsCommandParams::First()
/* AString getNext (); */
NS_IMETHODIMP
nsCommandParams::GetNext(nsAString & _retval)
nsCommandParams::GetNext(char **_retval)
{
HashEntry* thisEntry = GetIndexedEntry(mCurEntry);
if (!thisEntry)
return NS_ERROR_FAILURE;
_retval.Assign(thisEntry->mEntryName);
*_retval = nsCRT::strdup(thisEntry->mEntryName.get());
mCurEntry++;
return NS_OK;
}

View File

@ -68,7 +68,7 @@ protected:
struct HashEntry : public PLDHashEntryHdr
{
nsString mEntryName;
nsCString mEntryName;
PRUint8 mEntryType;
union {
@ -80,11 +80,13 @@ protected:
// put these outside the union to avoid clobbering other fields
nsString* mString;
nsCString* mCString;
nsCOMPtr<nsISupports> mISupports;
HashEntry(PRUint8 inType, const nsAString& inEntryName)
: mEntryName(inEntryName)
, mEntryType(inType)
HashEntry(PRUint8 inType, const char * inEntryName)
: mEntryType(inType)
, mEntryName(inEntryName)
, mString(nsnull)
{
mData.mDouble = 0.0;
@ -104,6 +106,10 @@ protected:
NS_ASSERTION(inRHS.mString, "Source entry has no string");
mString = new nsString(*inRHS.mString);
break;
case eStringType:
NS_ASSERTION(inRHS.mCString, "Source entry has no string");
mCString = new nsCString(*inRHS.mCString);
break;
case eISupportsType:
mISupports = inRHS.mISupports.get(); // additional addref
break;
@ -116,6 +122,8 @@ protected:
{
if (mEntryType == eWStringType)
delete mString;
else if (mEntryType == eStringType)
delete mCString;
}
void Reset(PRUint8 inNewType)
@ -128,6 +136,7 @@ protected:
case eDoubleType: mData.mDouble = 0.0; break;
case eWStringType: delete mString; mString = nsnull; break;
case eISupportsType: mISupports = nsnull; break; // clear the nsCOMPtr
case eStringType: delete mCString; mCString = nsnull; break;
default:
NS_ASSERTION(0, "Unknown type");
}
@ -138,11 +147,11 @@ protected:
};
HashEntry* GetNamedEntry(const nsAString& name);
HashEntry* GetNamedEntry(const char * name);
HashEntry* GetIndexedEntry(PRInt32 index);
PRUint32 GetNumEntries();
nsresult GetOrMakeEntry(const nsAString& name, PRUint8 entryType, HashEntry*& outEntry);
nsresult GetOrMakeEntry(const char * name, PRUint8 entryType, HashEntry*& outEntry);
protected:

View File

@ -64,9 +64,9 @@ NS_IMPL_ISUPPORTS2(nsControllerCommandManager, nsIControllerCommandManager, nsIS
NS_IMETHODIMP
nsControllerCommandManager::RegisterCommand(const nsAString & aCommandName, nsIControllerCommand *aCommand)
nsControllerCommandManager::RegisterCommand(const char * aCommandName, nsIControllerCommand *aCommand)
{
nsStringKey commandKey(aCommandName);
nsCStringKey commandKey(aCommandName);
if (mCommandsTable.Put (&commandKey, aCommand))
{
@ -79,9 +79,9 @@ nsControllerCommandManager::RegisterCommand(const nsAString & aCommandName, nsIC
NS_IMETHODIMP
nsControllerCommandManager::UnregisterCommand(const nsAString & aCommandName, nsIControllerCommand *aCommand)
nsControllerCommandManager::UnregisterCommand(const char * aCommandName, nsIControllerCommand *aCommand)
{
nsStringKey commandKey(aCommandName);
nsCStringKey commandKey(aCommandName);
PRBool wasRemoved = mCommandsTable.Remove (&commandKey);
return wasRemoved ? NS_OK : NS_ERROR_FAILURE;
@ -89,13 +89,13 @@ nsControllerCommandManager::UnregisterCommand(const nsAString & aCommandName, ns
NS_IMETHODIMP
nsControllerCommandManager::FindCommandHandler(const nsAString & aCommandName, nsIControllerCommand **outCommand)
nsControllerCommandManager::FindCommandHandler(const char * aCommandName, nsIControllerCommand **outCommand)
{
NS_ENSURE_ARG_POINTER(outCommand);
*outCommand = NULL;
nsStringKey commandKey(aCommandName);
nsCStringKey commandKey(aCommandName);
nsISupports* foundCommand = mCommandsTable.Get(&commandKey); // this does the addref
if (!foundCommand) return NS_ERROR_FAILURE;
@ -107,7 +107,7 @@ nsControllerCommandManager::FindCommandHandler(const nsAString & aCommandName, n
/* boolean isCommandEnabled (in wstring command); */
NS_IMETHODIMP
nsControllerCommandManager::IsCommandEnabled(const nsAString & aCommandName, nsISupports *aCommandRefCon, PRBool *aResult)
nsControllerCommandManager::IsCommandEnabled(const char * aCommandName, nsISupports *aCommandRefCon, PRBool *aResult)
{
NS_ENSURE_ARG_POINTER(aResult);
@ -129,7 +129,7 @@ nsControllerCommandManager::IsCommandEnabled(const nsAString & aCommandName, nsI
NS_IMETHODIMP
nsControllerCommandManager::UpdateCommandState(const nsAString & aCommandName, nsISupports *aCommandRefCon)
nsControllerCommandManager::UpdateCommandState(const char * aCommandName, nsISupports *aCommandRefCon)
{
// find the command
nsCOMPtr<nsIControllerCommand> commandHandler;
@ -155,7 +155,7 @@ nsControllerCommandManager::UpdateCommandState(const nsAString & aCommandName, n
}
NS_IMETHODIMP
nsControllerCommandManager::SupportsCommand(const nsAString & aCommandName, nsISupports *aCommandRefCon, PRBool *aResult)
nsControllerCommandManager::SupportsCommand(const char * aCommandName, nsISupports *aCommandRefCon, PRBool *aResult)
{
NS_ENSURE_ARG_POINTER(aResult);
@ -173,11 +173,11 @@ nsControllerCommandManager::SupportsCommand(const nsAString & aCommandName, nsIS
/* void doCommand (in wstring command); */
NS_IMETHODIMP
nsControllerCommandManager::DoCommand(const nsAString & aCommandName, nsISupports *aCommandRefCon)
nsControllerCommandManager::DoCommand(const char * aCommandName, nsISupports *aCommandRefCon)
{
// find the command
nsCOMPtr<nsIControllerCommand> commandHandler;
FindCommandHandler(aCommandName, getter_AddRefs(commandHandler));
FindCommandHandler(aCommandName, getter_AddRefs(commandHandler));
if (!commandHandler)
{
#if DEBUG
@ -189,51 +189,39 @@ nsControllerCommandManager::DoCommand(const nsAString & aCommandName, nsISupport
return commandHandler->DoCommand(aCommandName, aCommandRefCon);
}
#define COMMAND_NAME NS_ConvertASCIItoUCS2("cmd_name")
NS_IMETHODIMP
nsControllerCommandManager::DoCommandParams(nsICommandParams *aParams, nsISupports *aCommandRefCon)
nsControllerCommandManager::DoCommandParams(const char *aCommandName, nsICommandParams *aParams, nsISupports *aCommandRefCon)
{
// find the command
nsCOMPtr<nsIControllerCommand> commandHandler;
nsAutoString tValue;
nsresult rv;
if (NS_SUCCEEDED(rv = aParams->GetStringValue(COMMAND_NAME,tValue)))
rv = FindCommandHandler(aCommandName, getter_AddRefs(commandHandler));
if (!commandHandler)
{
FindCommandHandler(tValue, getter_AddRefs(commandHandler));
if (!commandHandler)
{
#if DEBUG
NS_WARNING("Controller command manager asked to do a command that it does not handle -- ");
#endif
return NS_OK; // we don't handle this command
}
return commandHandler->DoCommandParams(aParams, aCommandRefCon);
}
return rv;
#if DEBUG
NS_WARNING("Controller command manager asked to do a command that it does not handle -- ");
#endif
return NS_OK; // we don't handle this command
}
return commandHandler->DoCommandParams(aCommandName, aParams, aCommandRefCon);
}
NS_IMETHODIMP
nsControllerCommandManager::GetCommandState(nsICommandParams *aParams, nsISupports *aCommandRefCon)
nsControllerCommandManager::GetCommandState(const char *aCommandName, nsICommandParams *aParams, nsISupports *aCommandRefCon)
{
// find the command
nsCOMPtr<nsIControllerCommand> commandHandler;
nsAutoString tValue;
nsresult rv;
if (NS_SUCCEEDED(rv = aParams->GetStringValue(COMMAND_NAME,tValue)))
rv = FindCommandHandler(aCommandName, getter_AddRefs(commandHandler));
if (!commandHandler)
{
FindCommandHandler(tValue, getter_AddRefs(commandHandler));
if (!commandHandler)
{
#if DEBUG
NS_WARNING("Controller command manager asked to do a command that it does not handle -- ");
#endif
return NS_OK; // we don't handle this command
}
return commandHandler->GetCommandState(aParams, aCommandRefCon);
}
return rv;
#if DEBUG
NS_WARNING("Controller command manager asked to do a command that it does not handle -- ");
#endif
return NS_OK; // we don't handle this command
}
return commandHandler->GetCommandState(aCommandName, aParams, aCommandRefCon);
}

View File

@ -38,45 +38,45 @@
//------------------------------------------------------------
// Editor Command/Parameter Names
//------------------------------------------------------------
#define BOLD_COMMAND NS_LITERAL_STRING("cmd_bold")
#define ITALIC_COMMAND NS_LITERAL_STRING("cmd_italic")
#define UNDERLINE_COMMAND NS_LITERAL_STRING("cmd_underline")
#define INDENT_COMMAND NS_LITERAL_STRING("cmd_indent")
#define OUTDENT_COMMAND NS_LITERAL_STRING("cmd_outdent")
#define FONTCOLOR_COMMAND NS_LITERAL_STRING("cmd_fontColor")
#define BACKGROUNDCOLOR_COMMAND NS_LITERAL_STRING("cmd_backgroundColor")
#define COMMAND_NAME NS_LITERAL_STRING("cmd_name")
#define INCREASEFONT_COMMAND NS_LITERAL_STRING("cmd_increaseFont")
#define DECREASEFONT_COMMAND NS_LITERAL_STRING("cmd_decreaseFont")
#define FONTFACE_COMMAND NS_LITERAL_STRING("cmd_fontFace")
#define ALIGN_COMMAND NS_LITERAL_STRING("cmd_align")
#define UNDO_COMMAND NS_LITERAL_STRING("cmd_undo")
#define REDO_COMMAND NS_LITERAL_STRING("cmd_redo")
#define BOLD_COMMAND "cmd_bold"
#define ITALIC_COMMAND "cmd_italic"
#define UNDERLINE_COMMAND "cmd_underline"
#define INDENT_COMMAND "cmd_indent"
#define OUTDENT_COMMAND "cmd_outdent"
#define FONTCOLOR_COMMAND "cmd_fontColor"
#define BACKGROUNDCOLOR_COMMAND "cmd_backgroundColor"
#define COMMAND_NAME "cmd_name"
#define INCREASEFONT_COMMAND "cmd_increaseFont"
#define DECREASEFONT_COMMAND "cmd_decreaseFont"
#define FONTFACE_COMMAND "cmd_fontFace"
#define ALIGN_COMMAND "cmd_align"
#define UNDO_COMMAND "cmd_undo"
#define REDO_COMMAND "cmd_redo"
//states
#define STATE_ALL NS_LITERAL_STRING("state_all")
#define STATE_MIXED NS_LITERAL_STRING("state_mixed")
#define STATE_ATTRIBUTE NS_LITERAL_STRING("state_attribute")
#define STATE_ENABLED NS_LITERAL_STRING("state_enabled")
#define STATE_ALL "state_all"
#define STATE_MIXED "state_mixed"
#define STATE_ATTRIBUTE "state_attribute"
#define STATE_ENABLED "state_enabled"
//colors
#define COLOR_RED NS_LITERAL_STRING("#FF0000")
#define COLOR_BLACK NS_LITERAL_STRING("#000000")
#define COLOR_RED "#FF0000"
#define COLOR_BLACK "#000000"
//fonts
#define FONT_ARIAL NS_LITERAL_STRING("Helvetica, Arial, sans-serif")
#define FONT_TIMES NS_LITERAL_STRING("Times New Roman, Times, serif")
#define FONT_COURIER NS_LITERAL_STRING("Courier New, Courier, monospace")
#define FONT_ARIAL "Helvetica, Arial, sans-serif"
#define FONT_TIMES "Times New Roman, Times, serif"
#define FONT_COURIER "Courier New, Courier, monospace"
//align
#define ALIGN_LEFT NS_LITERAL_STRING("left")
#define ALIGN_RIGHT NS_LITERAL_STRING("right")
#define ALIGN_CENTER NS_LITERAL_STRING("center")
#define ALIGN_LEFT "left"
#define ALIGN_RIGHT "right"
#define ALIGN_CENTER "center"
//value
#define STATE_EMPTY NS_LITERAL_STRING("")
#define STATE_EMPTY ""
IMPLEMENT_DYNAMIC(CEditorFrame, CBrowserFrame)
@ -112,10 +112,10 @@ BEGIN_MESSAGE_MAP(CEditorFrame, CBrowserFrame)
ON_COMMAND(ID_ALIGNCENTER, OnAligncenter)
ON_UPDATE_COMMAND_UI(ID_ALIGNCENTER, OnUpdateAligncenter)
ON_COMMAND(ID_INSERTLINK, OnInsertlink)
ON_COMMAND(ID_EDIT_UNDO, OnEditUndo)
ON_COMMAND(ID_EDIT_REDO, OnEditRedo)
ON_UPDATE_COMMAND_UI(ID_EDIT_REDO, OnUpdateEditRedo)
ON_UPDATE_COMMAND_UI(ID_EDIT_UNDO, OnUpdateEditUndo)
ON_COMMAND(ID_EDITOR_UNDO, OnEditUndo)
ON_COMMAND(ID_EDITOR_REDO, OnEditRedo)
ON_UPDATE_COMMAND_UI(ID_EDITOR_REDO, OnUpdateEditRedo)
ON_UPDATE_COMMAND_UI(ID_EDITOR_UNDO, OnUpdateEditUndo)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
@ -175,7 +175,7 @@ void CEditorFrame::OnUpdateUnderline(CCmdUI* pCmdUI)
//Called to make a nsICommandParams with the 1 value pair of command name
NS_METHOD
CEditorFrame::MakeCommandParams(const nsAString &aCommand,nsICommandParams **aParams)
CEditorFrame::MakeCommandParams(const char *aCommand,nsICommandParams **aParams)
{
nsresult rv;
nsCOMPtr<nsICommandParams> params = do_CreateInstance(NS_COMMAND_PARAMS_CONTRACTID,&rv);
@ -183,7 +183,6 @@ CEditorFrame::MakeCommandParams(const nsAString &aCommand,nsICommandParams **aPa
return rv;
if (!params)
return NS_ERROR_FAILURE;
rv = params->SetStringValue(COMMAND_NAME, aCommand);
*aParams = params;
NS_ADDREF(*aParams);
return rv;
@ -195,31 +194,23 @@ CEditorFrame::MakeCommandParams(const nsAString &aCommand,nsICommandParams **aPa
// are clicked
//
NS_METHOD
CEditorFrame::ExecuteStyleCommand(const nsAString &aCommand)
CEditorFrame::ExecuteStyleCommand(const char *aCommand)
{
nsCOMPtr<nsICommandParams> params;
nsresult rv = MakeCommandParams(aCommand,getter_AddRefs(params));
if (NS_FAILED(rv))
return rv;
if (!params)
return NS_ERROR_FAILURE;
params->SetBooleanValue(STATE_ALL, true);
return DoCommand(params);
return DoCommand(aCommand,0);
}
// Called in response to the UPDATE_COMMAND_UI messages for
// style related toolbar buttons(bold, italic etc.)
// to update their current state
//
void CEditorFrame::UpdateStyleToolBarBtn(const nsAString &aCommand, CCmdUI* pCmdUI)
void CEditorFrame::UpdateStyleToolBarBtn(const char *aCommand, CCmdUI* pCmdUI)
{
nsCOMPtr<nsICommandParams> params;
nsresult rv;
rv = MakeCommandParams(aCommand,getter_AddRefs(params));
if (NS_FAILED(rv) || !params)
return;
rv = GetCommandState(params);
rv = GetCommandState(aCommand,params);
if (NS_SUCCEEDED(rv))
{
// Does our current selection span mixed styles?
@ -258,80 +249,39 @@ CEditorFrame::MakeEditable()
if (!domWindow)
return NS_ERROR_FAILURE;
nsCOMPtr<nsIScriptGlobalObject> scriptGlobalObject = do_QueryInterface(domWindow);
if (!scriptGlobalObject)
return NS_ERROR_FAILURE;
nsCOMPtr<nsIDocShell> docShell;
rv = scriptGlobalObject->GetDocShell(getter_AddRefs(docShell));
if (NS_FAILED(rv))
return rv;
if (!docShell)
return NS_ERROR_FAILURE;
nsCOMPtr<nsIEditingSession> editingSession = do_GetInterface(docShell);
nsCOMPtr<nsIEditingSession> editingSession = do_GetInterface(m_wndBrowserView.mWebBrowser);
if (!editingSession)
return NS_ERROR_FAILURE;
rv= editingSession->MakeWindowEditable(domWindow, PR_TRUE);
// this can fail for the root (if it's a frameset), but we still want
// to make children editable
nsCOMPtr<nsISimpleEnumerator> docShellEnumerator;
docShell->GetDocShellEnumerator( nsIDocShellTreeItem::typeContent,
nsIDocShell::ENUMERATE_FORWARDS,
getter_AddRefs(docShellEnumerator));
if (docShellEnumerator)
{
PRBool hasMore;
while (NS_SUCCEEDED(docShellEnumerator->HasMoreElements(&hasMore)) && hasMore)
{
nsCOMPtr<nsISupports> curSupports;
rv = docShellEnumerator->GetNext(getter_AddRefs(curSupports));
if (NS_FAILED(rv)) break;
nsCOMPtr<nsIDocShell> curShell = do_QueryInterface(curSupports, &rv);
if (NS_FAILED(rv)) break;
nsCOMPtr<nsIDOMWindow> childWindow = do_GetInterface(curShell,&rv);
if (childWindow)
editingSession->MakeWindowEditable(childWindow, PR_FALSE);
}
}
return NS_OK;
return rv;
}
NS_METHOD
CEditorFrame::DoCommand(nsICommandParams *aCommandParams)
CEditorFrame::DoCommand(const char *aCommand, nsICommandParams *aCommandParams)
{
return mCommandManager ? mCommandManager->DoCommand(aCommandParams) : NS_ERROR_FAILURE;
return mCommandManager ? mCommandManager->DoCommand(aCommand, aCommandParams) : NS_ERROR_FAILURE;
}
NS_METHOD
CEditorFrame::IsCommandEnabled(const nsAString &aCommand, PRBool *retval)
CEditorFrame::IsCommandEnabled(const char *aCommand, PRBool *retval)
{
return mCommandManager ? mCommandManager->IsCommandEnabled(aCommand, retval) : NS_ERROR_FAILURE;
}
NS_METHOD
CEditorFrame::GetCommandState(nsICommandParams *aCommandParams)
CEditorFrame::GetCommandState(const char *aCommand, nsICommandParams *aCommandParams)
{
return mCommandManager ? mCommandManager->GetCommandState(aCommandParams) : NS_ERROR_FAILURE;
return mCommandManager ? mCommandManager->GetCommandState(aCommand,aCommandParams) : NS_ERROR_FAILURE;
}
NS_METHOD
CEditorFrame::ExecuteNoParam(const nsAString &aCommand)
CEditorFrame::ExecuteNoParam(const char *aCommand)
{
nsresult rv;
nsCOMPtr<nsICommandParams> params;
rv = MakeCommandParams(aCommand,getter_AddRefs(params));
if (NS_FAILED(rv))
return rv;
if (!params)
return NS_ERROR_FAILURE;
return DoCommand(params);
return DoCommand(aCommand,0);
}
void CEditorFrame::OnIndent()
@ -359,21 +309,21 @@ void CEditorFrame::OnUpdateOutdent(CCmdUI* pCmdUI)
}
NS_METHOD
CEditorFrame::ExecuteAttribParam(const nsAString &aCommand, const nsAString &aAttribute)
CEditorFrame::ExecuteAttribParam(const char *aCommand, const char *aAttribute)
{
nsresult rv;
nsCOMPtr<nsICommandParams> params;
rv = MakeCommandParams(aCommand,getter_AddRefs(params));
if (NS_FAILED(rv))
return rv;
if (!params)
return NS_ERROR_FAILURE;
params->SetStringValue(STATE_ATTRIBUTE, aAttribute);
return DoCommand(params);
nsresult rv;
nsCOMPtr<nsICommandParams> params;
rv = MakeCommandParams(aCommand,getter_AddRefs(params));
if (NS_FAILED(rv))
return rv;
if (!params)
return NS_ERROR_FAILURE;
params->SetCStringValue(STATE_ATTRIBUTE, aAttribute);
return DoCommand(aCommand,params);
}
NS_METHOD
CEditorFrame::GetAttributeParamValue(const nsAString &aCommand, nsString &aValue)
CEditorFrame::GetAttributeParamValue(const char *aCommand, nsCString &aValue)
{
nsresult rv;
nsCOMPtr<nsICommandParams> params;
@ -382,10 +332,13 @@ CEditorFrame::GetAttributeParamValue(const nsAString &aCommand, nsString &aValue
return rv;
if (!params)
return NS_ERROR_FAILURE;
rv = GetCommandState(params);
rv = GetCommandState(aCommand, params);
if (NS_SUCCEEDED(rv))
{
return params->GetStringValue(STATE_ATTRIBUTE,aValue);
char *tchar;
rv = params->GetCStringValue(STATE_ATTRIBUTE,&tchar);
aValue.Adopt(tchar);
return rv;
}
return rv;
}
@ -481,12 +434,12 @@ void CEditorFrame::OnAlignleft()
void CEditorFrame::OnUpdateAlignleft(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
nsString tValue;
nsCAutoString tValue;
nsresult rv = GetAttributeParamValue(ALIGN_COMMAND,tValue);
if (NS_SUCCEEDED(rv))
{
if (tValue == ALIGN_LEFT)
if (tValue.Equals(ALIGN_LEFT))
pCmdUI->SetCheck(1);
else
pCmdUI->SetCheck(0);
@ -504,11 +457,11 @@ void CEditorFrame::OnUpdateAlignright(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
// TODO: Add your command update UI handler code here
nsString tValue;
nsCAutoString tValue;
nsresult rv = GetAttributeParamValue(ALIGN_COMMAND,tValue);
if (NS_SUCCEEDED(rv))
{
if (tValue == ALIGN_RIGHT)
if (tValue.Equals(ALIGN_RIGHT))
pCmdUI->SetCheck(1);
else
pCmdUI->SetCheck(0);
@ -526,11 +479,11 @@ void CEditorFrame::OnUpdateAligncenter(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
// TODO: Add your command update UI handler code here
nsString tValue;
nsCAutoString tValue;
nsresult rv = GetAttributeParamValue(ALIGN_COMMAND,tValue);
if (NS_SUCCEEDED(rv))
{
if (tValue == ALIGN_CENTER)
if (tValue.Equals(ALIGN_CENTER))
pCmdUI->SetCheck(1);
else
pCmdUI->SetCheck(0);
@ -565,7 +518,7 @@ void CEditorFrame::OnUpdateEditRedo(CCmdUI* pCmdUI)
return;
if (!params)
return;
rv = GetCommandState(params);
rv = GetCommandState(REDO_COMMAND, params);
if (NS_SUCCEEDED(rv))
{
PRBool tValue;
@ -589,7 +542,7 @@ void CEditorFrame::OnUpdateEditUndo(CCmdUI* pCmdUI)
return;
if (!params)
return;
rv = GetCommandState(params);
rv = GetCommandState(UNDO_COMMAND, params);
if (NS_SUCCEEDED(rv))
{
PRBool tValue;

View File

@ -51,9 +51,9 @@ protected:
public:
BOOL InitEditor();
NS_METHOD MakeEditable();
NS_METHOD DoCommand(nsICommandParams *aCommandParams);
NS_METHOD IsCommandEnabled(const nsAString &aCommand, PRBool *retval);
NS_METHOD GetCommandState(nsICommandParams *aCommandParams);
NS_METHOD DoCommand(const char *aCommand, nsICommandParams *aCommandParams);
NS_METHOD IsCommandEnabled(const char *aCommand, PRBool *retval);
NS_METHOD GetCommandState(const char *aCommand, nsICommandParams *aCommandParams);
// Generated message map functions
protected:
@ -97,13 +97,13 @@ protected:
DECLARE_MESSAGE_MAP()
private:
NS_METHOD ExecuteStyleCommand(const nsAString &aCommand);
NS_METHOD ExecuteNoParam(const nsAString &aCommand);
NS_METHOD MakeCommandParams(const nsAString &aCommand,nsICommandParams **aParams);
NS_METHOD ExecuteAttribParam(const nsAString &aCommand, const nsAString &aAttribute);
NS_METHOD GetAttributeParamValue(const nsAString &aCommand, nsString &aValue);
NS_METHOD ExecuteStyleCommand(const char *aCommand);
NS_METHOD ExecuteNoParam(const char *aCommand);
NS_METHOD MakeCommandParams(const char *aCommand,nsICommandParams **aParams);
NS_METHOD ExecuteAttribParam(const char *aCommand, const char *aAttribute);
NS_METHOD GetAttributeParamValue(const char *aCommand, nsCString &aValue);
void UpdateStyleToolBarBtn(const nsAString &aCommand, CCmdUI* pCmdUI);
void UpdateStyleToolBarBtn(const char *aCommand, CCmdUI* pCmdUI);
private:
nsCOMPtr<nsICommandManager> mCommandManager;

View File

@ -274,8 +274,8 @@ BEGIN
END
POPUP "&Edit"
BEGIN
MENUITEM "Undo\tCtrl+Z", ID_EDIT_UNDO
MENUITEM "Redo\tCtrl+Shift+Z", ID_EDIT_REDO
MENUITEM "Undo\tCtrl+Z", ID_EDITOR_UNDO
MENUITEM "Redo\tCtrl+Shift+Z", ID_EDITOR_REDO
MENUITEM SEPARATOR
MENUITEM "Cu&t\tCtrl+X", ID_EDIT_CUT
MENUITEM "&Copy\tCtrl+C", ID_EDIT_COPY
@ -324,8 +324,11 @@ BEGIN
VK_INSERT, ID_EDIT_PASTE, VIRTKEY, SHIFT, NOINVERT
"X", ID_EDIT_CUT, VIRTKEY, CONTROL, NOINVERT
"Z", ID_EDIT_UNDO, VIRTKEY, CONTROL, NOINVERT
"Z", ID_EDITOR_UNDO, VIRTKEY, CONTROL, NOINVERT
"Z", ID_EDIT_REDO, VIRTKEY, SHIFT, CONTROL,
NOINVERT
"Z", ID_EDITOR_REDO, VIRTKEY, SHIFT, CONTROL,
NOINVERT
END

View File

@ -132,6 +132,9 @@
#define ID_ALIGNCENTER 32809
#define ID_ALIGNRIGHT 32810
#define ID_INSERTLINK 32811
#define ID_EDITOR_UNDO 32813
#define ID_EDITOR_REDO 32814
// Next default values for new objects
//
@ -139,7 +142,7 @@
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_3D_CONTROLS 1
#define _APS_NEXT_RESOURCE_VALUE 160
#define _APS_NEXT_COMMAND_VALUE 32813
#define _APS_NEXT_COMMAND_VALUE 32815
#define _APS_NEXT_CONTROL_VALUE 1058
#define _APS_NEXT_SYMED_VALUE 102
#endif