blob: 19b7140adc9b78ae1040a6016eaf1a18a47d227d (
plain) (
tree)
|
|
<!-- ##### SECTION Title ##### -->
EphyCommandManager
<!-- ##### SECTION Short_Description ##### -->
Performs commands, such as cut/copy/paste
<!-- ##### SECTION Long_Description ##### -->
<para>
An #EphyCommandManager is an interface to an #EphyEmbed which is used to perform
commands, such as cut/copy/paste. To perform any command, use
ephy_command_manager_do_command(). To test the availability of a command, use
ephy_command_manager_can_do_command(). The availability of commands depends on
the selection and actions previously performed in the #EphyEmbed. For instance,
%cmd_copy is only available if text has been selected; %cmd_undo is only
available if the user has a text input focused and has typed or erased some of
its text.
</para>
<para>
<example>
<title>Copying selected text in an #EphyEmbed</title>
<programlisting>#<![CDATA[include <ephy-embed.h>]]>
#<![CDATA[include <ephy-command-manager.h>
static void
copy_selected_text (EphyEmbed *embed)
{
EphyCommandManager *manager;
manager = EPHY_COMMAND_MANAGER (embed);
g_return_if_fail (EPHY_IS_COMMAND_MANAGER (manager));
if (!ephy_command_manager_can_do_command (manager, "cmd_copy")) return;
ephy_command_manager_do_command (manager, "cmd_copy");
}]]>
</programlisting>
</example>
</para>
<para>
The #EphyCommandManager interface can perform any command which is defined in
Mozilla. However, for purposes of abstraction, only a certain subset of commands
should be used:
</para>
<variablelist><title>Available Commands</title>
<varlistentry><term>cmd_copy</term>
<listitem><para>Copies selected text</para></listitem>
</varlistentry>
<varlistentry><term>cmd_cut</term>
<listitem><para>Cuts selected text.</para></listitem>
</varlistentry>
<varlistentry><term>cmd_paste</term>
<listitem><para>Pastes text from the clipboard (for example, into a text entry)
</para></listitem>
</varlistentry>
<varlistentry><term>cmd_undo</term>
<listitem><para>Undoes the last action (for example, typing text into a text
entry</para></listitem>
</varlistentry>
<varlistentry><term>cmd_redo</term>
<listitem><para>Redoes previously %undo<!-- -->ne actions (for example, in a
text entry)</para></listitem>
</varlistentry>
</variablelist>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### STRUCT EphyCommandManager ##### -->
<para>
</para>
<!-- ##### SIGNAL EphyCommandManager::command-changed ##### -->
<para>
</para>
@ephycommandmanager: the object which received the signal.
@arg1:
<!-- ##### STRUCT EphyCommandManagerIface ##### -->
<para>
</para>
@base_iface:
@do_command:
@can_do_command:
@command_changed:
<!-- ##### FUNCTION ephy_command_manager_do_command ##### -->
<para>
</para>
@manager:
@command:
<!-- ##### FUNCTION ephy_command_manager_can_do_command ##### -->
<para>
</para>
@manager:
@command:
@Returns:
|