~ubuntu-branches/ubuntu/precise/ginkgocadx/precise

« back to all changes in this revision

Viewing changes to src/cadxcore/api/initwx.cpp

  • Committer: Package Import Robot
  • Author(s): Andreas Tille
  • Date: 2011-09-09 08:39:26 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: package-import@ubuntu.com-20110909083926-iktecd132cnku5cd
Tags: 2.5.4.0~rc-1
New upstream version (patches were applied)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
2
 *
3
 
 *  $Id: initwx.cpp 3910 2011-07-01 10:12:00Z tovar $
 
3
 *  $Id: initwx.cpp 4117 2011-09-02 09:06:53Z carlos $
4
4
 *  Ginkgo CADx Project
5
5
 *
6
6
 *  Copyright 2008-10 MetaEmotion S.L. All rights reserved.
261
261
                {
262
262
                        wxFileName fileName;
263
263
                        if (argc == 2) {
264
 
                                fileName = wxFileName(wxString(argv[1]));
265
 
                        }
266
 
                        if (fileName.IsRelative()) {
267
 
                                fileName.MakeAbsolute();
268
 
                        }
269
 
                        LOG_INFO("Core", "The client sends following file: " << fileName.GetFullPath().ToUTF8());
270
 
                        // Ask the other instance to open a file or raise itself
271
 
                        connection->Execute(fileName.GetFullPath());
272
 
                        connection->Disconnect();
273
 
                        delete connection;
 
264
                                fileName = wxFileName(argv[1]);
 
265
                                if (fileName.IsRelative()) {
 
266
                                        #if defined(__WXGTK__)
 
267
                                        char* invocation_dir = getenv("INVOCATION_DIR");                                        
 
268
                                        if (invocation_dir != NULL) {
 
269
                                                wxString invocationDir = wxString::FromUTF8(invocation_dir);
 
270
                                                if (!invocationDir.IsEmpty()) {
 
271
                                                        fileName = invocationDir + wxFileName::GetPathSeparator() + fileName.GetFullPath();
 
272
                                                }
 
273
                                        }                                       
 
274
                                        #else
 
275
                                        fileName.MakeAbsolute();
 
276
                                        #endif
 
277
                                }                       
 
278
                                if (fileName.IsOk() && fileName.FileExists() && fileName.IsFileReadable()) {
 
279
                                        LOG_INFO("Core", "The client sends following file: " << fileName.GetFullPath().ToUTF8());
 
280
                                        // Ask the other instance to open a file or raise itself
 
281
                                        connection->Execute(fileName.GetFullPath());
 
282
                                        connection->Disconnect();
 
283
                                        delete connection;
 
284
                                }
 
285
                                else {
 
286
                                        wxString err = wxString::Format(wxT("Error: The file %s does not exists or is not readable"), argv[1]);
 
287
                                        LOG_ERROR("Core", TOPATH(err));
 
288
                                        wxMessageBox(err, wxT("Ginkgo CADx"), wxICON_INFORMATION|wxOK);
 
289
                                }                       
 
290
                        } else {
 
291
                                // Ask the other instance to open a file or raise itself
 
292
                                connection->Execute(wxT(""));
 
293
                                connection->Disconnect();
 
294
                                delete connection;
 
295
                        }
274
296
                }
275
297
                else
276
298
                {
293
315
                GNC::GCS::ControladorInternacionalizacion::Instance()->AddCatalog("ginkgocadxcore");
294
316
        }
295
317
        //permisos del core
296
 
        GNC::GCS::ControladorPermisos::Instance()->AddDefinicionPermiso("core.history", _Std("Anonymous medical history"), "anonymous", _Std("Anonymous mode (history is cleaned)"), false, "", false);
 
318
        GNC::GCS::ControladorPermisos::Instance()->AddDefinicionPermiso("core.restrictions", _Std("Ginkgo CADx Restrictions"), "anonymous_history", _Std("Anonymous mode (history is cleaned)"), false, "", false);
 
319
        GNC::GCS::ControladorPermisos::Instance()->AddDefinicionPermiso("core.restrictions", _Std("Ginkgo CADx Restrictions"), "max_tabs", _Std("Max number of tabs opened"), false, "2", false);
 
320
        GNC::GCS::ControladorPermisos::Instance()->AddDefinicionPermiso("core.restrictions", _Std("Ginkgo CADx Restrictions"), "inactivity_time", _Std("Max seconds of Ginkgo CADx application inactivity"), false, "600", false);
297
321
        GNC::GCS::ControladorPermisos::Instance()->AddDefinicionPermiso("core.help", _Std("Online Manual"), "url_manual", _Std("URL of online manual"), true, "http://doc.ginkgo-cadx.com/", true);
298
322
        GNC::GCS::ControladorPermisos::Instance()->AddDefinicionPermiso("core.help", _Std("Online Support"), "url_support", _Std("URL of online support"), true, _Std("http://ginkgo-cadx.com/en/services/"), true);
299
323
        GNC::GCS::ControladorPermisos::Instance()->AddDefinicionPermiso("core.help", _Std("Extensions Support"), "extensions_support", _Std("URL for new extensions"), true, _Std("http://ginkgo-cadx.com/en/extensions/"), true);
300
324
        GNC::GCS::ControladorPermisos::Instance()->AddDefinicionPermiso("core.update", _Std("Program Updates"), "check_updates", _Std("Warn about newest Ginkgo CADx updates"), false, "http://updates.ginkgo-cadx.com/version.xml", true);
301
325
        GNC::GCS::ControladorPermisos::Instance()->AddDefinicionPermiso("core.update", _Std("Program Updates"), "update_period", _Std("Update period (days)"), false, "2", true);
302
326
        GNC::GCS::ControladorPermisos::Instance()->AddDefinicionPermiso("core.seguridad",_Std("Security"), "setup_security", _Std("Setup Security"), false, "", false);
303
 
        GNC::GCS::ControladorPermisos::Instance()->AddDefinicionPermiso("core.adquisicion",_Std("Acquisition"), "pacs", _Std("Acquire images from PACS"),false, "", true);
304
 
        GNC::GCS::ControladorPermisos::Instance()->AddDefinicionPermiso("core.menu",_Std("Tools"),"subir pacs",_Std("Upload images to a PACS server"), false, "", true);
 
327
        
 
328
        
305
329
        GNC::GCS::ControladorPermisos::Instance()->AddDefinicionPermiso("core.menu",_Std("Tools"),"configuracion",_Std("Settings menu"), false, "", true);
306
330
        GNC::GCS::ControladorPermisos::Instance()->AddDefinicionPermiso("core.menu",_Std("Tools"),"filtrado",_Std("Filter menu"), true, "", false);
307
331
        GNC::GCS::ControladorPermisos::Instance()->AddDefinicionPermiso("core.menu",_Std("Tools"),"licencia",_Std("License menu"), true, "", true);
 
332
        GNC::GCS::ControladorPermisos::Instance()->AddDefinicionPermiso("core.pacs.limits", _Std("PACS Limits"),"pacs_upload",_Std("Upload images to a PACS server"), false, "", true);
 
333
        GNC::GCS::ControladorPermisos::Instance()->AddDefinicionPermiso("core.pacs.limits", _Std("PACS Limits"), "pacs_acquisition", _Std("Acquire images from PACS"),false, "", true);
308
334
        GNC::GCS::ControladorPermisos::Instance()->AddDefinicionPermiso("core.pacs.limits", _Std("PACS Limits"), "remote_pacs", _Std("Enable remote PACS configuration"), false, "", true);
309
335
        GNC::GCS::ControladorPermisos::Instance()->AddDefinicionPermiso("core.pacs.limits", _Std("PACS Limits"), "pacs_tls", _Std("Enable TLS configuration"), false, "", true);
310
336
        GNC::GCS::ControladorPermisos::Instance()->AddDefinicionPermiso("core.pacs.limits", _Std("PACS Limits"), "patient_scope", _Std("Restrict search over selected patient"), false, "", false);
325
351
                wxString texto = wxString::Format(_("Download %s images"),wxString::FromUTF8(modalidades[i].c_str()).c_str());
326
352
                GNC::GCS::ControladorPermisos::Instance()->AddDefinicionPermiso("core.pacs.download",_Std("PACS"),modalidades[i],std::string(texto.ToUTF8()),false, "", true);
327
353
        }
 
354
                
 
355
        wxString texto = _("Download all modalities");
 
356
        GNC::GCS::ControladorPermisos::Instance()->AddDefinicionPermiso("core.pacs.download",_Std("PACS"),"all",std::string(texto.ToUTF8()),false, "", true);
328
357
 
329
358
        //
330
359
 
427
456
                        cH->RegistrarHerramienta(new GNC::HerramientaPanelTags());
428
457
                        cH->RegistrarHerramienta(new GNC::HerramientaDesencajar());
429
458
                        cH->RegistrarHerramienta(new GNC::HerramientaDeshacer());
 
459
                        cH->RegistrarHerramienta(new GNC::HerramientaInterpolate());
430
460
                        
431
461
 
432
462
                        //especial
538
568
        GNC::GCS::IHerramientaLayoutVentana*    hLayoutVentana  = NULL;
539
569
        GNC::GCS::IHerramientaDesencajar*               hDesencajar = NULL;
540
570
        GNC::GCS::IHerramientaDeshacer*         hDeshacer = NULL;
 
571
        GNC::GCS::IHerramientaInterpolate* hInterpolate = NULL;
541
572
 
542
573
        try {
543
574
                hPuntero = cH->ObtenerHerramientaConcreta<GNC::GCS::IHerramientaPuntero>(GNC::GCS::IHerramientaPuntero::ID);
624
655
                        cH->DesRegistrarHerramienta(hDeshacer);
625
656
                        delete hDeshacer;
626
657
                }
 
658
 
 
659
                hInterpolate = cH->ObtenerHerramientaConcreta<GNC::GCS::IHerramientaInterpolate>(GNC::GCS::IHerramientaInterpolate::ID);
 
660
                if (hInterpolate != NULL) {
 
661
                        cH->DesRegistrarHerramienta(hInterpolate);
 
662
                        delete hInterpolate;
 
663
                }
627
664
        }
628
665
        catch (GNC::GCS::ControladorHerramientasException& ex) {
629
666
                std::cerr << "Error al registrar herramientas de Derma: No se pudo subscribir la herramienta: " << ex.getCause() << std::endl;
630
667
        }
631
668
 
632
669
 
 
670
        GNC::GCS::ControladorVistas::FreeInstance();
633
671
        GIL::XMLRPC::XMLRPCController::FreeInstance();
 
672
        GIL::HL7::ControladorEnvioHl7::FreeInstance();
634
673
        GNC::GCS::ControladorAcciones::FreeInstance();
635
674
        GNC::GCS::ControladorComandos::FreeInstance();
636
675
        GIL::DICOM::PACSController::FreeInstance();
639
678
        GNC::GCS::ControladorCarga::FreeInstance();
640
679
        GNC::ControladorHerramientas::FreeInstance();
641
680
        GNC::GCS::ControladorHistorial::FreeInstance();
642
 
        GIL::HL7::ControladorEnvioHl7::FreeInstance();
643
681
        GIL::HL7::ControladorBBDDHl7::FreeInstance();
644
682
        GNC::GCS::ControladorPermisos::FreeInstance();
645
683
        GNC::GCS::ControladorInternacionalizacion::FreeInstance();
700
738
        version << ".";
701
739
        versionNumber = GINKGO_SUB_RELEASE;
702
740
        version << versionNumber;
 
741
        versionNumber = GINKGO_BUILD;
 
742
        version << versionNumber;
703
743
 
704
744
        date=now.Format(wxT("%d/%m/%Y %H:%M:%S"),wxDateTime::CET);
705
745