Hi Nil, Stefan,

Well, I disagree to what you said Stefan and I suppose to leave it how it is 
implemented. We had some hard discussions about how “dynamic” the whole 
DataManager monster should be. The key point is – surprise, surprise - that 
other views may add context menu action to the DataManager without any 
dependency. As a central view within a highly dynamic application framework 
this makes sense.

I agree that there are much lines of BlueBerry code needed making some files or 
sections hard to read. And I agree that the DataManager monster class has grown 
to Godzilla in the meantime. Maybe introducing some shortcut code for Blueberry 
and some refactoring and care for the DataManager is the alternative to going 
back to good old monolithic times.

Bye
Michael

Von: Kislinskiy, Stefan [mailto:[email protected]]
Gesendet: Montag, 4. April 2016 10:34
An: Nil Goyette <[email protected]>; [email protected]
Betreff: Re: [mitk-users] SetDataStorage in QmitkDataManagerView.cpp

Hi Nil,

as far as I know, the context menu entries of the Data Manager were never fully 
implemented in BlueBerry. Well, to be honest, they might have been implemented 
since the last BlueBerry update a year ago but you probably know more than me 
when you are fiddling around with them at the moment. :-) However, I know that 
there are (were?) historic, ugly, hard-coded workarounds for certain data types 
in the Data Manager, sorry. In the BlueBerry/OSGI/Eclipse world, this is 
supposed to be loosely coupled and dynamic. If it isn’t in MITK (which I 
guess), that would be a nice mini project. You could help us by filing a 
feature request in our bug tracker for your needs/thoughts and setting its 
target milestone to AfterNextRelease, in order to have a realistic chance of 
having these features implemented in the release after next.

Best regards,
Stefan

From: Nil Goyette [mailto:[email protected]]
Sent: Freitag, 1. April 2016 17:38
To: [email protected]<mailto:[email protected]>
Subject: [mitk-users] SetDataStorage in QmitkDataManagerView.cpp

Hi MITK,

I was creating a context menu action and I saw that SetDataStorage was never 
called. I found in QmitkDataManagerView.cpp this snippet:
if(className == "QmitkCreatePolygonModelAction")
{
  contextMenuAction->SetDataStorage(this->GetDataStorage());
  if(smoothed == "false")
  {
    contextMenuAction->SetSmoothed(false);
  }
  else
  {
    contextMenuAction->SetSmoothed(true);
  }
  contextMenuAction->SetDecimated(m_SurfaceDecimation);
}
else if(className == "QmitkStatisticsAction")
{
  contextMenuAction->SetFunctionality(this);
}
else if(className == "QmitkCreateSimulationAction")
{
  contextMenuAction->SetDataStorage(this->GetDataStorage());
}

I don't understand this decision. Why not simply always set it? I know that 
Smoothed, Decimated and Functionality are hacks useful only to a single class, 
but DataStorage is useful in many cases. Well, I don't know for the other 
programmers out there, but I often need the DataStorage in my context menu 
actions.

Right now, I'm forced to use my plugin's context, getServiceReference, 
IDataStorageService and include a lot of files to get it. This could easily be 
avoided if SetDataStorage was always called. I just tried it and it works 
perfectly. In fact, I don't see how it could break anything.

Nil
------------------------------------------------------------------------------
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users

Reply via email to