3D PLM Enterprise Architecture |
User Interface - Frame |
Managing Transitions between WorkbenchesMaking a process-driven user interface |
Use Case |
AbstractThis article shows how to create the transition to the two workbenches of the Geometry workshop. |
CAAAfrGeometryWksTransition is a use case of the CAAApplicationFrame.edu framework that illustrates the ApplicationFrame framework capabilities.
[Top]
The CAAAfrGeometryWksTransition use case to manage the transitions between any workbench and the workbenches of the Geometry workshop.
[Top]
The CAAAfrGeometryWksTransition use case to manage the transitions between any workbench and the workbenches of the Geometry workshop. To do this, it is made of a class that implements the CATIWorkbenchTransition interface as an extension of the CAAAfrGeometryWks_trans late type, CAAAfrGeometryWks being the Geometry workshop description class name.
See the section entitled "How to Launch the CAAGeometry Use Case" in the "The CAAGeometry Sample" use case for a detailed description of how this use case should be launched. For the specific scenario :
Do not type the module name on the command line, but type CNEXT instead. When the application is ready, do the following:
This creates a new CAAGeometry document with the CAA Geometrical Creation workbench active.
[Top]
The CAAAfrGeometryWksTransition use case is made of a single class named CAAEAfrGeometryWksTransition located in the CAAAfrGeometryWksTransition.m module of the CAAApplicationFrame.edu framework:
Windows | InstallRootDirectory\CAAApplicationFrame.edu\CAAAfrGeometryWksTransition.m\ |
Unix | InstallRootDirectory/CAAApplicationFrame.edu/CAAAfrGeometryWksTransition.m/ |
where InstallRootDirectory
is the directory where the CAA CD-ROM
is installed.
[Top]
To manage transitions between any workbench and the workbenches of the CAAGeometry document, there are two steps:
# | Step | Where |
---|---|---|
1 | Create the extension class that implements CATIWorkbenchTransition | CAAEAfrGeometryWksTransition class |
2 | Update the interface dictionary | interface dictionary |
[Top]
This class is a data extension of a made of the workshop identifier suffixed
by _trans
, that is here CAAAfrGeometryWks_trans
for
the Geometry workshop.
#include "CATExtIWorkbenchTransition.h" class CAAEAfrGeometryWksTransition : public CATExtIWorkbenchTransition { CATDeclareClass; public: CAAEAfrGeometryWksTransition(); virtual ~CAAEAfrGeometryWksTransition(); }; |
The CATDeclareClass macro states that this class belongs to a component. The class has only a constructor and a destructor.
// Local FW #include "CAAEAfrGeometryWksTransition.h" CATImplementClass(CAAEAfrGeometryWksTransition, DataExtension, CATBaseUnknown, CAAAfrGeometryWks_trans); #include <TIE_CATIWorkbenchTransition.h> TIE_CATIWorkbenchTransition(CAAEAfrGeometryWksTransition); CAAEAfrGeometryWksTransition::CAAEAfrGeometryWksTransition() { _newDoc = "CAAGeometry" ; } CAAEAfrGeometryWksTransition::~CAAEAfrGeometryWksTransition() {} |
The CATImplementClass
macro reads: the CAAEAfrGeometryWksTransition
class is a data extension of the late type CAAAfrGeometryWks_trans.
As any extension class, its third argument is CATBaseUnknown. The
constructor assigns the type CAAGeometry to the document type to create
using the _newDoc
data member of the base class CATExtIWorkbenchTransition.
This type is the one to which the workbench is dedicated.
Since the DoTransition
method is not implemented, the one of the
base class CATExtIWorkbenchTransition is executed instead. It creates a
new CAAGeometry document, except if:
[Top]
Update the interface dictionary, that is a file named, for example, CAAApplicationFrame.dico, whose directory's pathname is concatenated at run time in the CATDictionaryPath environment variable, and containing the following declaration to state that the CAAAfrGeometryWks_trans late type implements the CATIWorkbenchTransition interface, and whose code is located in the libCAAAfrGeometryWksTransition shared library or DLL.
CAAAfrGeometryWks_trans CATIWorkbenchTransition libCAAAfrGeometryWksTransition |
[Top]
The CAA process-centric user interface implies that the application should know what to do when the end user selects a workbench in the Start menu. This knowledge is provided by the workshop, or possibly the workbench, supplier by implementing the CATIWorkbenchTransition interface.
For standalone documents, that is, documents that do not contain or are not linked to, or that are not contained or linked by, other documents, the CATIWorkbenchTransition interface is implemented once by the document's workshop supplier, and applies to all the document's workbenches.
Otherwise, each workbench of the embedded or linked document should implement the CATIWorkbenchTransition interface to create its incoming and outgoing transitions, that is what should happen when it is selected, or when it is active and when another workbench is selected.
[Top]
[Top] |
Version: 1 [Jan 2000] | Document created |
[Top] |
Copyright © 2000, Dassault Systèmes. All rights reserved.