Back to index

lightning-sunbird  0.9+nobinonly
Public Member Functions | Protected Member Functions
nsHighlightColorStateCommand Class Reference

#include <nsComposerCommands.h>

Inheritance diagram for nsHighlightColorStateCommand:
Inheritance graph
[legend]
Collaboration diagram for nsHighlightColorStateCommand:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 nsHighlightColorStateCommand ()
NS_IMETHOD DoCommand (const char *aCommandName, nsISupports *aCommandRefCon)=0
boolean isCommandEnabled (in string aCommandName, in nsISupports aCommandContext)
 Returns true if the command is currently enabled.
void getCommandStateParams (in string aCommandName, in nsICommandParams aParams, in nsISupports aCommandContext)
void doCommand (in string aCommandName, in nsISupports aCommandContext)
 Execute the name command.
void doCommandParams (in string aCommandName, in nsICommandParams aParams, in nsISupports aCommandContext)

Protected Member Functions

NS_IMETHOD IsCommandEnabled (const char *aCommandName, nsISupports *aCommandRefCon, PRBool *_retval)
virtual nsresult GetCurrentState (nsIEditor *aEditor, nsICommandParams *aParams)
virtual nsresult SetState (nsIEditor *aEditor, nsString &newState)

Detailed Description

Definition at line 227 of file nsComposerCommands.h.


Constructor & Destructor Documentation

Definition at line 926 of file nsComposerCommands.cpp.


Member Function Documentation

NS_IMETHOD nsBaseComposerCommand::DoCommand ( const char *  aCommandName,
nsISupports *  aCommandRefCon 
) [pure virtual, inherited]
void nsIControllerCommand::doCommand ( in string  aCommandName,
in nsISupports  aCommandContext 
) [inherited]

Execute the name command.

Parameters:
aCommandNamethe name of the command to execute.
aCommandContexta cookie held by the nsIControllerCommandTable, allowing the command to get some context information. The contents of this cookie are implementation-defined.
void nsIControllerCommand::doCommandParams ( in string  aCommandName,
in nsICommandParams  aParams,
in nsISupports  aCommandContext 
) [inherited]
void nsIControllerCommand::getCommandStateParams ( in string  aCommandName,
in nsICommandParams  aParams,
in nsISupports  aCommandContext 
) [inherited]
nsresult nsHighlightColorStateCommand::GetCurrentState ( nsIEditor aEditor,
nsICommandParams aParams 
) [protected, virtual]

Implements nsMultiStateCommand.

Definition at line 932 of file nsComposerCommands.cpp.

{
  NS_ASSERTION(aEditor, "Need an editor here");
  nsCOMPtr<nsIHTMLEditor> htmlEditor = do_QueryInterface(aEditor);
  if (!htmlEditor) return NS_ERROR_FAILURE;

  PRBool outMixed;
  nsAutoString outStateString;
  nsresult rv = htmlEditor->GetHighlightColorState(&outMixed, outStateString);
  if (NS_SUCCEEDED(rv))
  {
    nsCAutoString tOutStateString;
    tOutStateString.AssignWithConversion(outStateString);
    aParams->SetBooleanValue(STATE_MIXED,outMixed);
    aParams->SetCStringValue(STATE_ATTRIBUTE, tOutStateString.get());
  }
  return rv;
}

Here is the call graph for this function:

boolean nsIControllerCommand::isCommandEnabled ( in string  aCommandName,
in nsISupports  aCommandContext 
) [inherited]

Returns true if the command is currently enabled.

An nsIControllerCommand can implement more than one commands; say, a group of related commands (e.g. delete left/delete right). Because of this, the command name is passed to each method.

Parameters:
aCommandNamethe name of the command for which we want the enabled state.
aCommandContexta cookie held by the nsIControllerCommandTable, allowing the command to get some context information. The contents of this cookie are implementation-defined.
NS_IMETHODIMP nsHighlightColorStateCommand::IsCommandEnabled ( const char *  aCommandName,
nsISupports *  aCommandRefCon,
PRBool _retval 
) [protected, virtual]

Implements nsBaseComposerCommand.

Definition at line 974 of file nsComposerCommands.cpp.

{
  nsCOMPtr<nsIHTMLEditor> htmlEditor = do_QueryInterface(refCon);
  *outCmdEnabled = htmlEditor ? PR_TRUE : PR_FALSE;
  return NS_OK;
}

Here is the call graph for this function:

nsresult nsHighlightColorStateCommand::SetState ( nsIEditor aEditor,
nsString newState 
) [protected, virtual]

Implements nsMultiStateCommand.

Definition at line 953 of file nsComposerCommands.cpp.

{
  NS_ASSERTION(aEditor, "Need an editor here");
  nsCOMPtr<nsIHTMLEditor> htmlEditor = do_QueryInterface(aEditor);
  if (!htmlEditor) return NS_ERROR_FAILURE;

  nsresult rv;
  nsCOMPtr<nsIAtom> fontAtom = do_GetAtom("font");

  if (newState.IsEmpty() || newState.EqualsLiteral("normal")) {
//    rv = RemoveOneProperty(htmlEditor, NS_LITERAL_STRING("font"), NS_LITERAL_STRING("bgcolor"));
    rv = htmlEditor->RemoveInlineProperty(fontAtom, NS_LITERAL_STRING("bgcolor"));
  } else {
    rv = htmlEditor->SetCSSInlineProperty(fontAtom, NS_LITERAL_STRING("bgcolor"),
                                          newState);
  }

  return rv;
}

Here is the call graph for this function:


The documentation for this class was generated from the following files: