kexi

#include <kexiactionproxy.h>

Inheritance diagram for KexiActionProxy:
KexiDialogBase KexiViewBase KexiDataAwareView KexiEditor KexiMacroView KexiQueryDesignerGuiEditor KexiQueryDesignerSQLView KexiReportView KexiScriptDesignView KexiSimplePrintingPageSetup

Public Member Functions

 KexiActionProxy (TQObject *receiver, KexiSharedActionHost *host=0)
 
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

KexiActionProxy * m_focusedChild
 

Protected Member Functions

void plugSharedAction (const char *action_name, TQObject *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, TQWidget *w)
 
void plugSharedActionToExternalGUI (const char *action_name, KXMLGUIClient *client)
 
void plugSharedActionsToExternalGUI (const TQValueList< TQCString > &action_names, KXMLGUIClient *client)
 
void unplugSharedAction (const char *action_name, TQWidget *w)
 
TDEAction * plugSharedAction (const char *action_name, const TQString &alternativeText, TQWidget *w)
 
virtual TDEAction * sharedAction (const char *action_name)
 
TQObject * receiver () const
 
virtual void setAvailable (const char *action_name, bool set)
 
void addActionProxyChild (KexiActionProxy *child)
 
void takeActionProxyChild (KexiActionProxy *child)
 

Protected Attributes

KexiSharedActionHost * m_host
 
TQGuardedPtr< TQObject > m_receiver
 
TQAsciiDict< TQPair< TQSignal *, bool > > m_signals
 
TQPtrList< KexiActionProxy > m_sharedActionChildren
 
TQPtrList< TDEAction > m_alternativeActions
 
KexiActionProxy * m_actionProxyParent
 
TQObject m_signal_parent
 
TDEAction_setEnabled_Helper * m_TDEAction_setEnabled_helper
 

Friends

class KexiSharedActionHost
 
class TDEAction_setEnabled_Helper
 
class KexiSharedActionConnector
 

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.

Constructor & Destructor Documentation

◆ KexiActionProxy()

KexiActionProxy::KexiActionProxy ( TQObject *  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 TQObject and assigned as the receiver.

Definition at line 78 of file kexiactionproxy.cpp.

◆ ~KexiActionProxy()

KexiActionProxy::~KexiActionProxy ( )
virtual

Definition at line 93 of file kexiactionproxy.cpp.

Member Function Documentation

◆ activateSharedAction()

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.

◆ addActionProxyChild()

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.

◆ isAvailable()

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.

◆ isSupported()

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.

◆ plugSharedAction() [1/4]

void KexiActionProxy::plugSharedAction ( const char *  action_name,
const char *  slot 
)
inlineprotected

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

Definition at line 116 of file kexiactionproxy.h.

◆ plugSharedAction() [2/4]

TDEAction * KexiActionProxy::plugSharedAction ( const char *  action_name,
const TQString &  alternativeText,
TQWidget *  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.

◆ plugSharedAction() [3/4]

void KexiActionProxy::plugSharedAction ( const char *  action_name,
TQObject *  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.

◆ plugSharedAction() [4/4]

int KexiActionProxy::plugSharedAction ( const char *  action_name,
TQWidget *  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(), TDEAction::plug(TQWidget*, int)

Definition at line 131 of file kexiactionproxy.cpp.

◆ plugSharedActionsToExternalGUI()

void KexiActionProxy::plugSharedActionsToExternalGUI ( const TQValueList< TQCString > &  action_names,
KXMLGUIClient *  client 
)
protected

Definition at line 184 of file kexiactionproxy.cpp.

◆ plugSharedActionToExternalGUI()

void KexiActionProxy::plugSharedActionToExternalGUI ( const char *  action_name,
KXMLGUIClient *  client 
)
protected

Definition at line 171 of file kexiactionproxy.cpp.

◆ receiver()

TQObject * KexiActionProxy::receiver ( ) const
inlineprotected

Definition at line 147 of file kexiactionproxy.h.

◆ setActionProxyParent_internal()

void KexiActionProxy::setActionProxyParent_internal ( KexiActionProxy *  parent)

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

Definition at line 276 of file kexiactionproxy.cpp.

◆ setAvailable()

void KexiActionProxy::setAvailable ( const char *  action_name,
bool  set 
)
protectedvirtual

Reimplemented in KexiViewBase.

Definition at line 253 of file kexiactionproxy.cpp.

◆ setSharedActionHost()

void KexiActionProxy::setSharedActionHost ( KexiSharedActionHost &  host)
inline

Sets host to host; rerely used.

Definition at line 97 of file kexiactionproxy.h.

◆ sharedAction()

TDEAction * KexiActionProxy::sharedAction ( const char *  action_name)
protectedvirtual
Returns
action named with name or NULL if there is no such action.

Reimplemented in KexiViewBase.

Definition at line 211 of file kexiactionproxy.cpp.

◆ takeActionProxyChild()

void KexiActionProxy::takeActionProxyChild ( KexiActionProxy *  child)
protected

Definition at line 270 of file kexiactionproxy.cpp.

◆ unplugSharedAction() [1/2]

void KexiActionProxy::unplugSharedAction ( const char *  action_name)
protected

Definition at line 122 of file kexiactionproxy.cpp.

◆ unplugSharedAction() [2/2]

void KexiActionProxy::unplugSharedAction ( const char *  action_name,
TQWidget *  w 
)
protected

Unplugs action named action_name from a widget w.

See also
plugSharedAction(const char action_name, TQWidget w)

Definition at line 141 of file kexiactionproxy.cpp.

Friends And Related Symbol Documentation

◆ KexiSharedActionConnector

friend class KexiSharedActionConnector
friend

Definition at line 186 of file kexiactionproxy.h.

◆ KexiSharedActionHost

friend class KexiSharedActionHost
friend

Definition at line 184 of file kexiactionproxy.h.

◆ TDEAction_setEnabled_Helper

friend class TDEAction_setEnabled_Helper
friend

Definition at line 185 of file kexiactionproxy.h.

Member Data Documentation

◆ m_actionProxyParent

KexiActionProxy* KexiActionProxy::m_actionProxyParent
protected

Definition at line 170 of file kexiactionproxy.h.

◆ m_alternativeActions

TQPtrList<TDEAction> KexiActionProxy::m_alternativeActions
protected

Definition at line 168 of file kexiactionproxy.h.

◆ m_focusedChild

KexiActionProxy* KexiActionProxy::m_focusedChild

Definition at line 182 of file kexiactionproxy.h.

◆ m_host

KexiSharedActionHost* KexiActionProxy::m_host
protected

Definition at line 162 of file kexiactionproxy.h.

◆ m_receiver

TQGuardedPtr<TQObject> KexiActionProxy::m_receiver
protected

Definition at line 163 of file kexiactionproxy.h.

◆ m_sharedActionChildren

TQPtrList<KexiActionProxy> KexiActionProxy::m_sharedActionChildren
protected

Definition at line 166 of file kexiactionproxy.h.

◆ m_signal_parent

TQObject KexiActionProxy::m_signal_parent
protected

it's just to have common parent for owned signals

Definition at line 172 of file kexiactionproxy.h.

◆ m_signals

TQAsciiDict< TQPair<TQSignal*,bool> > KexiActionProxy::m_signals
protected

Definition at line 164 of file kexiactionproxy.h.

◆ m_TDEAction_setEnabled_helper

TDEAction_setEnabled_Helper* KexiActionProxy::m_TDEAction_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: