Hi Carlos,

        Creating customized working areas is a common feature used in
several plugins developed by GIMIAS developers. There are several examples
in GIMIAS Framework like DICOMPlugin, CMGUIPlugin and TavernaPlugin that
create a customized working areas. You can take a look at these examples to
see how to register and initialize the working area in different ways.

        Using GetPluginTab( ) to customize your plugin:
        You can use GetPluginTab( ) to customized the widgets that will be
shown by default when loading your plugin. Before calling the function
GetPluginTab( ) you need to check that the return value is not NULL. For
example taking a look at this piece of code (from DICOMPlugin), you can see
that the command panel and all toolbars are hidden and the IO toolbar is
shown:
        if ( GetPluginTab( ) != NULL )
        {
                GetPluginTab( )->EnableWindow( wxID_CommandPanel, false);
                GetPluginTab( )->EnableAllToolbars( false );
                GetPluginTab( )->ShowWindow( wxID_IOToolbar );
        }

        The function GetPluginTab( ) will return the last active plugin tab.
When working in plugin perspective, this is the plugin tab of the current
plugin, for example, in DICOMPlugin, the first thing it does is to create a
plugin tab:
        Core::Runtime::Kernel::GetGraphicalInterface()->CreatePluginTab(
"Dicom" );
        When working in workflow perspective, this line of code doesn't have
any effect. All plugin tabs are created after loading all plugins and using
the XML description of the workflow. For each workflow step, a new plugin
tab will be created. 

        To show your custom working area:
        In workflow perspective, you can set your custom working area as the
default one if you remove all working areas from the workflow step and keep
only your customized one. In plugin perspective, you can show your custom
working area by default if you set the property Show( ) to WindowConfig( )
parameter (you can see DICOM example).

        For the crash, could it be possible that you send me your workflow
file, so I can test in my computer and try to reproduce your bug.

Thanks,
Xavi


From: Carlos Cavero Barca [mailto:[email protected]] 
Sent: miércoles, 13 de abril de 2011 17:20
To: [email protected]
Subject: [Gimias-developers] GIMIAS - Error in Workflow mode

                Hi all,

                We’ve created the plug-in Clinical Data Load (uploaded in
the SVN) using personalized Working Area but without a real Working Area. In
the xxxWidgetCollective, we assigned the “ListadoPacientesWorkingArea” as
ActiveWindow using the following code:

         GetPluginTab()->ShowWindow( wxID_ListadoPacientesPanelWidget );
        
GetPluginTab()->SetCurrentWorkingArea(wxID_ListadoPacientesPanelWidget);

                This correctly works in Plugin mode, but GIMIAS crashes in
Workflow mode, we created a new workflow, a new step and assigned Clinical
Data Load windows accordingly (no widget sub-steps have been defined).

                We realized that GetPluginTab is NULL and that’s the reason
of the error, if we use the IsNull function, Standard working Area is put
instead the right one, and we have to change it manually (Working Area /
ListadoPacientesWorkingArea).

                The workflow arrows also work unexpectedly sometimes (GIMIAS
also crashes), although the corresponding windows and widgets are well
defined. Any idea?         

                Thanks in advance and best regards.
                Carlos.

 
------------------------------------------------------------------
This e-mail and the documents attached are confidential and intended 
solely for the addressee; it may also be privileged. If you receive 
this e-mail in error, please notify the sender immediately and destroy it. 
As its integrity cannot be secured on the Internet, the Atos Origin 
group liability cannot be triggered for the message content. Although 
the sender endeavours to maintain a computer virus-free network, 
the sender does not warrant that this transmission is virus-free and 
will not be liable for any damages resulting from any virus transmitted. 

Este mensaje y los ficheros adjuntos pueden contener informacion
confidencial 
destinada solamente a la(s) persona(s) mencionadas anteriormente 
pueden estar protegidos por secreto profesional. 
Si usted recibe este correo electronico por error, gracias por informar 
inmediatamente al remitente y destruir el mensaje. 
Al no estar asegurada la integridad de este mensaje sobre la red, Atos
Origin 
no se hace responsable por su contenido. Su contenido no constituye ningun 
compromiso para el grupo Atos Origin, salvo ratificacion escrita por ambas
partes. 
Aunque se esfuerza al maximo por mantener su red libre de virus, el emisor 
no puede garantizar nada al respecto y no sera responsable de cualesquiera 
danos que puedan resultar de una transmision de virus. 
------------------------------------------------------------------


------------------------------------------------------------------------------
Benefiting from Server Virtualization: Beyond Initial Workload 
Consolidation -- Increasing the use of server virtualization is a top
priority.Virtualization can reduce costs, simplify management, and improve 
application availability and disaster protection. Learn more about boosting 
the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
_______________________________________________
Gimias-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gimias-developers

Reply via email to