void QmitkExtWorkbenchWindowAdvisor::PreWindowOpen()
{
 berry::IWorkbenchWindowConfigurer::Pointer configurer = GetWindowConfigurer();

 // show the shortcut bar and progress indicator, which are hidden by
 // default
 //configurer->SetShowPerspectiveBar(true);
 //configurer->SetShowFastViewBars(true);
 //configurer->SetShowProgressIndicator(true);

 //  // add the drag and drop support for the editor area
 //  configurer.addEditorAreaTransfer(EditorInputTransfer.getInstance());
 //  configurer.addEditorAreaTransfer(ResourceTransfer.getInstance());
 //  configurer.addEditorAreaTransfer(FileTransfer.getInstance());
 //  configurer.addEditorAreaTransfer(MarkerTransfer.getInstance());
 //  configurer.configureEditorAreaDropListener(new EditorAreaDropAdapter(
 //      configurer.getWindow()));

 this->HookTitleUpdateListeners(configurer);

 menuPerspectiveListener = new PerspectiveListenerForMenu(this);
 configurer->GetWindow()->AddPerspectiveListener(menuPerspectiveListener);

 configurer->AddEditorAreaTransfer(QStringList("text/uri-list"));
 configurer->ConfigureEditorAreaDropListener(dropTargetListener);

}
Exemplo n.º 2
0
void QmitkExtWorkbenchWindowAdvisor::RecomputeTitle()
{
 berry::IWorkbenchWindowConfigurer::Pointer configurer =
  GetWindowConfigurer();
 std::string oldTitle = configurer->GetTitle();
 std::string newTitle = ComputeTitle();
 if (newTitle != oldTitle)
 {
  configurer->SetTitle(newTitle);
 }
}
Exemplo n.º 3
0
void QmitkExtWorkbenchWindowAdvisor::UpdateTitle(bool editorHidden)
{
 berry::IWorkbenchWindowConfigurer::Pointer configurer =
  GetWindowConfigurer();
 berry::IWorkbenchWindow::Pointer window = configurer->GetWindow();
 berry::IEditorPart::Pointer activeEditor;
 berry::IWorkbenchPage::Pointer currentPage = window->GetActivePage();
 berry::IPerspectiveDescriptor::Pointer persp;
 berry::IAdaptable* input = 0;

 if (currentPage)
 {
  activeEditor = currentPage->GetActiveEditor();
  persp = currentPage->GetPerspective();
  input = currentPage->GetInput();
 }

 if (editorHidden)
 {
  activeEditor = 0;
 }

 // Nothing to do if the editor hasn't changed
 if (activeEditor == lastActiveEditor.Lock() && currentPage == lastActivePage.Lock()
  && persp == lastPerspective.Lock() && input == lastInput)
 {
  return;
 }

 if (!lastActiveEditor.Expired())
 {
  lastActiveEditor.Lock()->RemovePropertyListener(editorPropertyListener);
 }

 lastActiveEditor = activeEditor;
 lastActivePage = currentPage;
 lastPerspective = persp;
 lastInput = input;

 if (activeEditor)
 {
  activeEditor->AddPropertyListener(editorPropertyListener);
 }

 RecomputeTitle();
}
void QmitkExtWorkbenchWindowAdvisor::PostWindowOpen()
{
  // Force Rendering Window Creation on startup.
  berry::IWorkbenchWindowConfigurer::Pointer configurer = GetWindowConfigurer();

  ctkPluginContext* context = QmitkCommonExtPlugin::getContext();
  ctkServiceReference serviceRef = context->getServiceReference<mitk::IDataStorageService>();
  if (serviceRef)
  {
    mitk::IDataStorageService *dsService = context->getService<mitk::IDataStorageService>(serviceRef);
    if (dsService)
    {
      mitk::IDataStorageReference::Pointer dsRef = dsService->GetDataStorage();
      mitk::DataStorageEditorInput::Pointer dsInput(new mitk::DataStorageEditorInput(dsRef));
      mitk::WorkbenchUtil::OpenEditor(configurer->GetWindow()->GetActivePage(),dsInput);
    }
  }
}
Exemplo n.º 5
0
std::string QmitkExtWorkbenchWindowAdvisor::ComputeTitle()
{
 berry::IWorkbenchWindowConfigurer::Pointer configurer =
  GetWindowConfigurer();
 berry::IWorkbenchPage::Pointer currentPage =
  configurer->GetWindow()->GetActivePage();
 berry::IEditorPart::Pointer activeEditor;
 if (currentPage)
 {
  activeEditor = lastActiveEditor.Lock();
 }

 std::string title;
 //TODO Product
 //    IProduct product = Platform.getProduct();
 //    if (product != null) {
 //      title = product.getName();
 //    }
 // instead of the product name, we use a custom variable for now
 title = productName;

 if(showMitkVersionInfo)
 {
   title += std::string(" ") + MITK_VERSION_STRING;
 }

 if (showVersionInfo)
 {
  // add version informatioin
  QString mitkRevision(MITK_REVISION);
  mitkRevision = mitkRevision.left(6) + " (" MITK_REVISION_NAME ")";
  QString versions = QString(" (ITK %1.%2.%3  VTK %4.%5.%6 Qt %7 MITK %8)")
   .arg(ITK_VERSION_MAJOR).arg(ITK_VERSION_MINOR).arg(ITK_VERSION_PATCH)
   .arg(VTK_MAJOR_VERSION).arg(VTK_MINOR_VERSION).arg(VTK_BUILD_VERSION)
   .arg(QT_VERSION_STR)
   .arg(mitkRevision);

  title += versions.toStdString();
 }

 if (currentPage)
 {
  if (activeEditor)
  {
   lastEditorTitle = activeEditor->GetTitleToolTip();
   if (!lastEditorTitle.empty())
    title = lastEditorTitle + " - " + title;
  }
  berry::IPerspectiveDescriptor::Pointer persp =
   currentPage->GetPerspective();
  std::string label = "";
  if (persp)
  {
   label = persp->GetLabel();
  }
  berry::IAdaptable* input = currentPage->GetInput();
  if (input && input != wbAdvisor->GetDefaultPageInput())
  {
   label = currentPage->GetLabel();
  }
  if (!label.empty())
  {
   title = label + " - " + title;
  }
 }

 title += " (Not for use in diagnosis or treatment of patients)";

 return title;
}