]> Creatis software - creaImageIO.git/blob - src/creaImageIOWxGimmickDialog.cpp
start!
[creaImageIO.git] / src / creaImageIOWxGimmickDialog.cpp
1 #include <creaImageIOWxGimmickDialog.h>
2 #include <creaImageIOImageReader.h>
3
4 namespace creaImageIO
5 {
6
7   //================================================================
8   WxGimmickDialog::WxGimmickDialog()
9   {
10   }
11   //================================================================
12   
13   //================================================================
14   WxGimmickDialog::WxGimmickDialog(wxWindow *parent, 
15                                                wxWindowID id,
16                                                wxString title,
17                                                const wxPoint& pos,
18                                                const wxSize& size,
19                                                int threads)
20     :   wxDialog( parent, 
21                 id, 
22                 title,
23                 pos,
24                 size,
25                 wxRESIZE_BORDER | 
26                 wxSYSTEM_MENU  |
27                 wxCLOSE_BOX |
28                 wxMAXIMIZE_BOX | 
29                 wxMINIMIZE_BOX | 
30                 wxCAPTION  
31                 )
32   {
33     wxBoxSizer *topsizer = new wxBoxSizer(wxVERTICAL);
34  
35     mView = new ViewType(this,
36                          TVID,
37                          wxDefaultPosition,
38                          size,
39                          threads);
40  
41     topsizer->Add( mView,1,wxGROW,0);
42
43     wxSizer* bsizer = CreateSeparatedButtonSizer(wxOK|wxCANCEL);
44     mOkButton = (wxButton*)FindWindowById(GetAffirmativeId(), this);
45     mCancelButton = (wxButton*)FindWindowById(GetEscapeId(), this);
46     
47     mOkButton->Enable(false);
48
49     topsizer->Add ( bsizer, 0, wxGROW );
50
51     SetSizer( topsizer );     
52     Layout(); 
53   
54   }
55   //================================================================
56
57   //================================================================
58   WxGimmickDialog::~WxGimmickDialog()
59   {
60           std::cout <<"WxGimmickDialog::~WxGimmickDialog()"<<std::endl;
61   }
62   //================================================================
63
64   //================================================================
65   void WxGimmickDialog::OnSelChanged(EventType& event)
66   {
67     //    std::cout << "++++++++++ WxGimmickDialog::OnSelChanged ++++++++++"
68     //        <<std::endl;
69     std::vector<DicomNode*> nodes;
70     mView->GetSelectedDicomNodes(nodes);
71     
72     bool ok = false;
73     std::vector<DicomNode*>::iterator i;
74     for (i=nodes.begin();i!=nodes.end();++i)
75       {
76         if ((*i)->GetType() == DicomNode::Image)
77           {
78             ok = true;
79             break;
80           }
81         //      std::cout << "'" << (*i)->GetFieldValue("FullFileName") 
82         //                << "'" << std::endl;
83       }
84     //    std::cout << "++++++++++++++++++++" << std::endl;
85     
86     if (ok)
87       {
88         mOkButton->Enable(true);
89       }
90     else 
91       {
92         mOkButton->Enable(false);
93       }
94   }
95    //================================================================
96
97
98  //================================================================
99   void WxGimmickDialog::OnContextualMenu(EventType& event)
100   {
101     //    std::cout << "++++++++++ WxGimmickDialog::OnContextualMenu ++++++++++"
102     //        <<std::endl;
103     /*
104     event.GetMenu().AppendSeparator();
105     event.GetMenu().Append(ViewType::UserMenuFirstId, 
106                            wxT("&Test user menu"));
107     */
108   }
109  //================================================================
110  
111
112   //================================================================
113   void WxGimmickDialog::OnMenuTest(wxCommandEvent& event)
114   {
115     //    std::cout << "++++++++++ WxGimmickDialog::OnMenuTest ++++++++++"
116     //        <<std::endl;
117     wxMessageBox( wxT("WxGimmickDialog : user clicked on 'Test user menu'"),
118                   wxT("Test"),
119                  wxOK | wxICON_INFORMATION, this);
120   }
121  //================================================================
122
123   /*
124   //================================================================
125   void WxGimmickDialog::OnButtonOk(wxCommandEvent& event)
126   {
127     std::cout << "++++++++++ WxGimmickDialog::OnButtonOk ++++++++++"
128               << std::endl;
129     EndModal(wxID_OK);
130   }
131   //================================================================
132   
133   
134   //================================================================
135   void WxGimmickDialog::OnButtonCancel(wxCommandEvent& event)
136   {
137     std::cout << "++++++++++ WxGimmickDialog::OnButtonCancel ++++++++++"
138               << std::endl;
139     EndModal(wxID_CANCEL);
140   }
141   //================================================================
142   */
143
144  //================================================================
145   BEGIN_EVENT_TABLE(WxGimmickDialog, wxDialog)
146     EVT_TREEVIEWLIST_SEL_CHANGED(TVID,WxGimmickDialog::OnSelChanged)
147     EVT_TREEVIEWLIST_CONTEXTUAL_MENU(TVID,WxGimmickDialog::OnContextualMenu)
148     EVT_MENU(WxGimmickDialog::ViewType::UserMenuFirstId, 
149              WxGimmickDialog::OnMenuTest)
150   //    EVT_BUTTON(OKID, WxGimmickDialog::OnButtonOk )
151   //    EVT_BUTTON(CANCELID, WxGimmickDialog::OnButtonCancel )
152     END_EVENT_TABLE()
153  //================================================================
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168   //================================================================
169 } // namespace creaImageIO