kexi

KexiActionProxy Class Reference

#include <kexiactionproxy.h>

Inheritance diagram for KexiActionProxy:

KexiDialogBase KexiViewBase KexiDataAwareView KexiEditor KexiMacroView KexiQueryDesignerGuiEditor KexiQueryDesignerSQLView KexiRelationMainDlg KexiRelationWidget KexiReportView KexiScriptDesignView KexiSimplePrintingPageSetup List of all members.

Detailed Description

An interface that acts as proxy for shared actions within the application.

For example, edit->copy action can be reused to copy different types of items. Availability and meaning of given action depends on the context, while the context changes e.g. when another window is activated. This class is mostly used by subclassing in KexiDialogBase or KexiDockBase

  • you can subclass in a similar way.

Definition at line 83 of file kexiactionproxy.h.


Public Member Functions

 KexiActionProxy (QObject *receiver, KexiSharedActionHost *host=0)
virtual ~KexiActionProxy ()
bool activateSharedAction (const char *action_name, bool alsoCheckInChildren=true)
void setSharedActionHost (KexiSharedActionHost &host)
bool isAvailable (const char *action_name, bool alsoCheckInChildren=true) const
bool isSupported (const char *action_name) const
void setActionProxyParent_internal (KexiActionProxy *parent)

Public Attributes

KexiActionProxym_focusedChild

Protected Member Functions

void plugSharedAction (const char *action_name, QObject *receiver, const char *slot)
void unplugSharedAction (const char *action_name)
void plugSharedAction (const char *action_name, const char *slot)
int plugSharedAction (const char *action_name, QWidget *w)
void plugSharedActionToExternalGUI (const char *action_name, KXMLGUIClient *client)
void plugSharedActionsToExternalGUI (const QValueList< QCString > &action_names, KXMLGUIClient *client)
void unplugSharedAction (const char *action_name, QWidget *w)
KAction * plugSharedAction (const char *action_name, const QString &alternativeText, QWidget *w)
virtual KAction * sharedAction (const char *action_name)
QObject * receiver () const
virtual void setAvailable (const char *action_name, bool set)
void addActionProxyChild (KexiActionProxy *child)
void takeActionProxyChild (KexiActionProxy *child)

Protected Attributes

KexiSharedActionHostm_host
QGuardedPtr< QObject > m_receiver
QAsciiDict< QPair< QSignal *,
bool > > 
m_signals
QPtrList< KexiActionProxym_sharedActionChildren
QPtrList< KAction > m_alternativeActions
KexiActionProxym_actionProxyParent
QObject m_signal_parent
KAction_setEnabled_Helper * m_KAction_setEnabled_helper

Friends

class KexiSharedActionHost
class KAction_setEnabled_Helper
class KexiSharedActionConnector

Constructor & Destructor Documentation

KexiActionProxy::KexiActionProxy ( QObject *  receiver,
KexiSharedActionHost host = 0 
)

Constructs action proxy for object receiver, using host. If host is NULL, KexiSharedActionHost::defaultHost() is used. (you must be sure that it's true) -- it is casted to QObject and assigned as the receiver.

Definition at line 78 of file kexiactionproxy.cpp.


Member Function Documentation

bool KexiActionProxy::activateSharedAction ( const char *  action_name,
bool  alsoCheckInChildren = true 
)

Activates action named action_name for this proxy. If the action is executed (accepted), true is returned.

Definition at line 192 of file kexiactionproxy.cpp.

void KexiActionProxy::setSharedActionHost ( KexiSharedActionHost host  )  [inline]

Sets host to host; rerely used.

Definition at line 97 of file kexiactionproxy.h.

bool KexiActionProxy::isAvailable ( const char *  action_name,
bool  alsoCheckInChildren = true 
) const

Returns:
true, if action named action_name is enabled within the proxy. False is returned either if the action is not available or is not supported. \ sa isSupported()

Definition at line 233 of file kexiactionproxy.cpp.

bool KexiActionProxy::isSupported ( const char *  action_name  )  const

Returns:
true, if action named action_name is supported by the proxy.

Definition at line 216 of file kexiactionproxy.cpp.

void KexiActionProxy::plugSharedAction ( const char *  action_name,
QObject *  receiver,
const char *  slot 
) [protected]

Plugs shared action named action_name to slot slot in receiver. Receiver is usually a child of _this_ widget.

Definition at line 109 of file kexiactionproxy.cpp.

void KexiActionProxy::plugSharedAction ( const char *  action_name,
const char *  slot 
) [inline, protected]

Typical version of plugAction() method -- plugs action named action_name to slot slot in _this_ widget.

Definition at line 116 of file kexiactionproxy.h.

int KexiActionProxy::plugSharedAction ( const char *  action_name,
QWidget *  w 
) [protected]

Plugs action named action_name to a widget w, so the action is visible on this widget as an item. w will typically be a menu, popup menu or a toolbar. Does nothing if no action found, so generally this is safer than just caling e.g. action("myaction")->plug(myPopup);

Returns:
index of inserted item, or -1 if there is not action with name action_name.
See also:
action(), KAction::plug(QWidget*, int)

Definition at line 131 of file kexiactionproxy.cpp.

void KexiActionProxy::unplugSharedAction ( const char *  action_name,
QWidget *  w 
) [protected]

Unplugs action named action_name from a widget w.

See also:
plugSharedAction(const char *action_name, QWidget* w)

Definition at line 141 of file kexiactionproxy.cpp.

KAction * KexiActionProxy::plugSharedAction ( const char *  action_name,
const QString &  alternativeText,
QWidget *  w 
) [protected]

Like above, but creates alternative action as a copy of action_name, with alternativeText set. When this action is activated, just original action specified by action_name is activated. The aternative action has autmatically set name as: action_name + "_alt".

Returns:
newly created action or 0 if action_name not found.

Definition at line 151 of file kexiactionproxy.cpp.

KAction * KexiActionProxy::sharedAction ( const char *  action_name  )  [protected, virtual]

Returns:
action named with name or NULL if there is no such action.

Reimplemented in KexiViewBase.

Definition at line 211 of file kexiactionproxy.cpp.

void KexiActionProxy::addActionProxyChild ( KexiActionProxy child  )  [protected]

Adds child of this proxy. Children will receive activateSharedAction() event, If activateSharedAction() "event" is not consumed by the main proxy, we start to iterate over proxy children (in unspecified order) to and call activateSharedAction() on every child until one of them accept the "event".

If proxy child is destroyed, it is automatically detached from its parent proxy. Parent proxy is 0 by default. This pointer is properly cleared when parent proxy is destroyed.

Definition at line 262 of file kexiactionproxy.cpp.

void KexiActionProxy::setActionProxyParent_internal ( KexiActionProxy parent  ) 

For internal use by addActionProxyChild(). parent can be 0.

Definition at line 276 of file kexiactionproxy.cpp.


Member Data Documentation

QObject KexiActionProxy::m_signal_parent [protected]

it's just to have common parent for owned signals

Definition at line 172 of file kexiactionproxy.h.

KAction_setEnabled_Helper* KexiActionProxy::m_KAction_setEnabled_helper [protected]

For internal use by plugSharedActionToExternalGUI().

Definition at line 175 of file kexiactionproxy.h.


The documentation for this class was generated from the following files:
KDE Home | KDE Accessibility Home | Description of Access Keys