All Frameworks Class Hierarchy This Framework Previous Next Indexes
ApplicationFrame Interface CATICSOFilter
System.IUnknown
|
+---System.IDispatch
|
+---System.CATBaseUnknown
|
+---CATICSOFilter
Usage: you can freely reimplement this interface.
interface CATICSOFilter
Interface to disable the contextual menu commands for the selected objects.
Role: After a selection, the Select command analyzes if the current UI-Active
object (see CATIUIActivate ) implements this interface. If it does, the implementation of this interface will decide which commands are to be made available. If it does not, then all the commands of the
contextual menu are available. Before implementing this interface on your object, you must verify
the context you are working in:
- if your object is in a CATProduct context, then the ASMProduct which is the UI-Active object
for a CATProduct document already implements this interface and disables all the commands
other than: Cut, Copy, Paste and Delete. For these four commands, the ASMProduct requests a
specific feature implementation and if none is found, the four commands are disabled.
- if your object is in a CATPart context, then the MechanicalPart which is the UI-Active object
for a CATPart document, does not already implement this interface, so all the commands of the
contextual menu are available.
In short, before implementing this interface, if your object is the UI-Active object,
then you can implement this interface. Otherwise, verify the context to know if your
implementation will be called.
Note that it is always possible for a
CATCommandHeader to decide to disable or not the command by overriding the
CATCommandHeader.BecomeAvailable and
CATCommandHeader.BecomeUnavailable methods.
Method Index
- o
AvailableElements(char*,CATCSO*,CATListValCATBaseUnknown_var**)
- Query for available objects from CSO.
- o
CommandIsAvailable(char*,CATCSO*)
- Query for command availability.
Methods
o AvailableElements
public virtual HRESULT AvailableElements( | const char* | iHeaderID, |
| const CATCSO* | iCSO, |
| CATListValCATBaseUnknown_var** | ioAvailableElements)= 0 |
-
Query for available objects from CSO.
- Parameters:
-
- iHeaderID
- command identifier
- iCSO
- CSO to filter
- ioAvailableElements
- available objets for command. In entry it contains the CSO's objects.
- Returns:
- S_OK
o CommandIsAvailable
public virtual HRESULT CommandIsAvailable( | const char* | iHeaderID, |
| const CATCSO* | iCSO)= 0 |
-
Query for command availability.
Role:This method is called each time the CSO change. So the
command avaibility can change in according the selection.
- Parameters:
-
- iHeaderID
- command identifier
- iCSO
- CSO to filter
- Returns:
- S_OK if command available for provided objects otherwise S_FALSE.
E_FAIL if unexpected internal problem
This object is included in the file: CATICSOFilter.h
If needed, your Imakefile.mk should include the module: CATApplicationFrame