*/
-#include <creaImageIOPACSConnection.h>
+
#include <creaImageIOWxPACSConnectionPanel.h>
-#include <creaImageIOWxGimmickView.h>
#include <creaImageIOWxTreeView.h>
-#include <creaImageIOSystem.h>
#include <creaImageIOWxCustomizeConfigPanel.h>
#include <creaImageIOWxListenerPanel.h>
#include <creaImageIOWxEditFieldsPanel.h>
#include <creaImageIOWxOutputDlg.h>
#include <creaImageIOOutputModel.h>
+#if defined(_WIN32)
+#pragma warning(disable: 4996)
+#endif
+
using namespace crea;
// Icons
#include "icons/accept.xpm"
const wxPoint& pos,
const wxSize& size,
int min_dim,
- int max_dim,
+ int max_dim,
int number_of_threads)
: wxPanel(parent,id,pos,size),
GimmickView(gimmick, number_of_threads),
- mProgressDialog(0),
+ mProgressDialog(NULL),
mConstructed(false)
{
- GimmickDebugMessage(1,"WxGimmickView::WxGimmickView"
- <<std::endl);
+ GimmickDebugMessage(1,"WxGimmickView::WxGimmickView" <<std::endl);
// Sets the current directory to the home dir
mCurrentDirectory = std2wx(gimmick->GetHomeDirectory());
-
// Connect the AddProgress callback
- gimmick->ConnectAddProgressObserver
- ( boost::bind( &WxGimmickView::OnAddProgress , this, _1 ) );
+ gimmick->ConnectAddProgressObserver( boost::bind( &WxGimmickView::OnAddProgress , this, _1 ) );
// Create the list of icons (mIcon)
CreateIconList();
mSplitter = new wxSplitterWindow( this , -1);
// Notebook
- mNotebook = new wxNotebook(mSplitter,
- -1, wxDefaultPosition, wxDefaultSize, 0);
+ mNotebook = new wxNotebook(mSplitter, -1, wxDefaultPosition, wxDefaultSize, 0);
//Gimmick
mGimmick=gimmick;
mText = new wxStaticText(mBottomPanel, wxID_ANY, wxT("Welcome to Gimmick!"));
mbottom_sizer->Add(mText,0,wxGROW,0);
-
-
-
+
mBottomPanel->SetSizer(mbottom_sizer);
// Splitting
/// \TODO fix warning: unused variable hsize
int hsize = size.GetHeight();
- int top_minsize = 450;
- int bottom_minsize = 50;
+ int top_minsize = 450;
+ int bottom_minsize = 50;
mSplitter->SetMinimumPaneSize( bottom_minsize );
- mSplitter->SplitHorizontally( mNotebook, mBottomPanel,
- top_minsize);
+ mSplitter->SplitHorizontally( mNotebook, mBottomPanel, top_minsize);
msizer->Add( mSplitter, 1, wxGROW, 0);
- mProgressDialog=0;
+ mProgressDialog=NULL;
SetSizer( msizer );
SetAutoLayout(true);
Layout();
{
// stop the viewer before application exit.
mViewer->StopPlayer();
- GimmickDebugMessage(1,"WxGimmickView::~WxGimmickView"
- <<std::endl);
+ GimmickDebugMessage(1,"WxGimmickView::~WxGimmickView" <<std::endl);
delete mIcon;
delete mViewer;
//if(mListener->IsAlive()) { mListener->Delete(); }
void WxGimmickView::CreateTreeView( TreeHandler* h)
{
std::string name(h->GetTree().GetAttribute("Name"));
- GimmickMessage(2,"Creating the tree view for '"<<
- name<<"'"<<std::endl);
+ GimmickMessage(2,"Creating the tree view for '"<< name<<"'"<<std::endl);
// Create the WxTreeView
WxTreeView* view = new WxTreeView(h, this, mNotebook, -1);
bool mult, const std::string out_model)
{
// First we select the files
- std::vector<std::string> files;
+ std::vector<std::string> files;
std::string db_name = crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection()));
GetTreeViewMap()[crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection()))]->GetSelectedAsString(files);
mGimmick->GetSetting(SETTINGS_OUTPUT_ASK, asking);
mGimmick->GetSetting(SETTINGS_OUTPUT_DIM, dim);
+
if (asking == "true")
{
// display the output dialog box
dim = dlg->getDim();
mGimmick->UpdateSetting(SETTINGS_OUTPUT_ASK, dlg->getAsking());
mGimmick->UpdateSetting(SETTINGS_OUTPUT_DIM, dim);
- }
- else
- {
+ } else {
return;
}
- }
- else
- {
+ } else {
}
sscanf(dim.c_str(),"%d",&i_dim_out);
-
// Next we create the structure for dicom output infos
OutputAttr Oattr;
+//EED 01/09/2014
+ if (i_dim_out==2)
+ {
+ Oattr.mult=true;
+ } // i_dim_out
+
+
Oattr.db = crea::wx2std(mNotebook->GetPageText(mNotebook->GetSelection()));
if(i_attr.empty())
{
// We don't send informations!
- }
- else if( i_attr.size() == 1 && i_attr.front() == "ALL")
+ } else if( i_attr.size() == 1 && i_attr.front() == "ALL")
{
// we send all database
Oattr.inside.push_back("ALL");
- }
- else if( (i_attr.size() == 1 && i_attr.front() != "ALL")
+ } else if( (i_attr.size() == 1 && i_attr.front() != "ALL")
|| (i_attr.size() >1) )
{
mGimmick->fillVectInfos(i_attr, Oattr);
- }
- else
- {
+ } else {
// nothing
}
void WxGimmickView::OnAddFiles(wxCommandEvent& event)
{
mViewer->StopPlayer();
+
+//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0
+#if wxMAJOR_VERSION <= 2
long style = wxOPEN | wxFILE_MUST_EXIST | wxFD_MULTIPLE;
+#else
+ long style = wxFD_OPEN | wxFD_FILE_MUST_EXIST | wxFD_MULTIPLE;
+#endif
+
+
std::string wc("*");
wxFileDialog* FD = new wxFileDialog( 0,
_T("Select file"),
{
if (recursive)
{
- nb += NumberFilesToAdd(itr->string(), recursive);
+ nb += NumberFilesToAdd(itr->path().string(), recursive);
}
}
else
//=================================================
void WxGimmickView::OnSelectionChange(const std::vector<tree::Node*>& sel, bool isSelection, int selection, bool needProcess)
{
- GimmickDebugMessage(5,
- "WxGimmickView::OnSelectionChange"
- <<std::endl);
+ GimmickDebugMessage(5,"WxGimmickView::OnSelectionChange"<<std::endl);
wxBusyCursor busy;
bool valid=true;
valid= ValidateSelected(NULL,
mSelectionMinDimension,
mSelectionMaxDimension );
- }
- else if(needProcess)
- {
+ } else if(needProcess) {
ResetExtent();
std::vector<tree::Node*>::const_iterator i;
for(i=sel.begin();i!=sel.end()&&valid;++i)
valid= ValidateSelected((*i),
mSelectionMinDimension,
mSelectionMaxDimension );
- }
- }
- else if(isSelection)
- {
+ } // for
+ } else if(isSelection) {
valid= ValidateSelected(sel.front(),
mSelectionMinDimension,
mSelectionMaxDimension );
- }
- else
- {
+ } else {
ResetExtent();
std::vector<tree::Node*>::const_iterator i;
for(i=sel.begin();i!=sel.end()&&valid;++i)
valid= ValidateSelected((*i),
mSelectionMinDimension,
mSelectionMaxDimension );
- }
- }
+ } // for
+ } // if sel.size
mText->SetLabel(crea::std2wx(GetMessage()));
- /*if(valid)
- {
- ReadImageThreaded(sel);
- }
- else
- {
- ClearSelection();
- }*/
- ReadImageThreaded(sel);
+/*
+ if(valid)
+ {
+ ReadImageThreaded(sel);
+ } else {
+ ClearSelection();
+ }
+*/
+
+
+//EED1 2018-08
+// ReadImageThreaded(sel);
+
}
//==================================================
///Reads Images (Threaded)
void WxGimmickView::ReadImageThreaded(const std::vector<tree::Node*>& sel)
{
- GimmickDebugMessage(5,
- "ReadImageThreaded"
- <<std::endl);
+ GimmickDebugMessage(5, "ReadImageThreaded" <<std::endl);
int maxprio = GetMaximalPriority();
int prio = maxprio + 2000;
RequestReading(*iterDown,prio,-1,ph);
// AddEntryToMap(*iterDown);
prio--;
- if (prio == maxprio) break;
- }
- }
- else
- {
+ if (prio == maxprio) { break; }
+ } // for
+ } else {
pointers.clear();
//ImagePointerHolder* ph=new ImagePointerHolder(GetDefaultImage());
boost::shared_ptr<ImagePointerHolder> ph(new ImagePointerHolder(GetDefaultImage()));
pointers.push_back(ph);
mViewer->SetImageVector(pointers);
- }
+ } // if
}
//==================================================
//==================================================
void WxGimmickView::ClearSelection()
{
+printf("EED WxGimmickView::ClearSelection Start\n");
pointers.clear();
pointers.push_back(boost::shared_ptr<creaImageIO::ImagePointerHolder>(new ImagePointerHolder(GetDefaultImage())));
//pointers.push_back(new ImagePointerHolder(GetDefaultImage()));
mViewer->SetImageVector(pointers);
mViewer->RefreshIfNecessary();
ResetExtent();
+printf("EED WxGimmickView::ClearSelection End\n");
}
//=================================================
//========================================================================
void WxGimmickView::CreateEditFieldsDialog(tree::Node* node, std::vector<std::string> names, std::vector<std::string> keys)
{
- wxDialog* dial= new wxDialog (this,-1,crea::std2wx("Edit Fields for node "+node->GetLabel()),wxDefaultPosition, wxSize(350,155));
- wxBoxSizer *siz = new wxBoxSizer(wxVERTICAL);
- WxEditFieldsPanel* ef = new WxEditFieldsPanel(dial, dial, this, node, names, keys);
+ wxDialog *dial= new wxDialog (this,-1,crea::std2wx("Edit Fields for node "+node->GetLabel()),wxDefaultPosition, wxSize(350,155));
+ wxBoxSizer *siz = new wxBoxSizer(wxVERTICAL);
+ WxEditFieldsPanel *ef = new WxEditFieldsPanel(dial, dial, this, node, names, keys);
siz->Add( ef,1,wxGROW ,0);
dial->SetSizer(siz);
wxString s(wxString::From8BitData(mess));
// std::cout << "Pulse"<<std::endl;
- if(mProgressDialog != 0)
+ if(mProgressDialog != NULL)
{
if (!mProgressDialog->Pulse(s))
{
{
mProgressDialog->Resume();
mProgressDialog->Destroy();
- mProgressDialog = 0;
+ mProgressDialog = NULL;
}
//=================================================