Package Gnumed :: Package wxGladeWidgets :: Module wxgPACSPluginPnl
[frames] | no frames]

Source Code for Module Gnumed.wxGladeWidgets.wxgPACSPluginPnl

  1  # -*- coding: UTF-8 -*- 
  2  # 
  3  # generated by wxGlade 
  4  # 
  5   
  6  import wx 
  7   
  8  # begin wxGlade: dependencies 
  9  import gettext 
 10  # end wxGlade 
 11   
 12  # begin wxGlade: extracode 
 13  from Gnumed.wxpython.gmListWidgets import cReportListCtrl 
 14  from Gnumed.wxpython.gmTextCtrl import cTextCtrl 
 15  # end wxGlade 
 16   
 17   
18 -class wxgPACSPluginPnl(wx.Panel):
19 - def __init__(self, *args, **kwds):
20 # begin wxGlade: wxgPACSPluginPnl.__init__ 21 kwds["style"] = kwds.get("style", 0) | wx.BORDER_NONE | wx.TAB_TRAVERSAL 22 wx.Panel.__init__(self, *args, **kwds) 23 self.__lbl_host = wx.StaticText(self, wx.ID_ANY, _("Host:")) 24 self._TCTRL_host = cTextCtrl(self, wx.ID_ANY, "") 25 self.__lbl_port = wx.StaticText(self, wx.ID_ANY, _("Port:")) 26 self._TCTRL_port = cTextCtrl(self, wx.ID_ANY, "") 27 self.__lbl_user = wx.StaticText(self, wx.ID_ANY, _("User:")) 28 self._TCTRL_user = cTextCtrl(self, wx.ID_ANY, "") 29 self.__lbl_password = wx.StaticText(self, wx.ID_ANY, _("Password")) 30 self._TCTRL_password = wx.TextCtrl(self, wx.ID_ANY, "", style=wx.TE_PASSWORD) 31 self._BTN_connect = wx.Button(self, wx.ID_ANY, _("&Connect"), style=wx.BU_EXACTFIT) 32 self._LBL_PACS_identification = wx.StaticText(self, wx.ID_ANY, _("<not connected>")) 33 self._LBL_patient_identification = wx.StaticText(self, wx.ID_ANY, "") 34 self._LCTRL_studies = cReportListCtrl(self, wx.ID_ANY, style=wx.BORDER_NONE | wx.LC_REPORT) 35 self._LCTRL_series = cReportListCtrl(self, wx.ID_ANY, style=wx.BORDER_NONE | wx.LC_REPORT) 36 self._LCTRL_details = cReportListCtrl(self, wx.ID_ANY, style=wx.BORDER_NONE | wx.LC_REPORT) 37 self._TCTRL_details = wx.TextCtrl(self, wx.ID_ANY, "", style=wx.TE_BESTWRAP | wx.TE_MULTILINE | wx.TE_READONLY) 38 self._BMP_preview = wx.lib.statbmp.GenStaticBitmap(self, wx.ID_ANY, wx.Bitmap(50, 50), style=wx.BORDER_SIMPLE) 39 self._LBL_image = wx.StaticText(self, wx.ID_ANY, _("Image")) 40 self._BTN_verify_patient_data = wx.Button(self, wx.ID_ANY, _("Patient"), style=wx.BU_EXACTFIT) 41 self._BTN_previous_image = wx.Button(self, wx.ID_ANY, _(u"\u25c4"), style=wx.BU_EXACTFIT) 42 self._BTN_next_image = wx.Button(self, wx.ID_ANY, _(u"\u25ba"), style=wx.BU_EXACTFIT) 43 self._BTN_image_export = wx.Button(self, wx.ID_ANY, _("E&xport"), style=wx.BU_EXACTFIT) 44 self._BTN_browse_study = wx.Button(self, wx.ID_ANY, _("Browse"), style=wx.BU_EXACTFIT) 45 self._BTN_browse_patient = wx.Button(self, wx.ID_ANY, _("Browse"), style=wx.BU_EXACTFIT) 46 self._BTN_browse_pacs = wx.Button(self, wx.ID_ANY, _("Browse"), style=wx.BU_EXACTFIT) 47 self._BTN_image_show_dicom = wx.Button(self, wx.ID_ANY, _("&Show (D)"), style=wx.BU_EXACTFIT) 48 self._BTN_save_image_as_dicom = wx.Button(self, wx.ID_ANY, _("Save (&D)"), style=wx.BU_EXACTFIT) 49 self._BTN_save_studies_as_dicom_dir = wx.Button(self, wx.ID_ANY, _("Save"), style=wx.BU_EXACTFIT) 50 self._BTN_save_patient_as_dicom_dir = wx.Button(self, wx.ID_ANY, _("Save"), style=wx.BU_EXACTFIT) 51 self._BTN_upload = wx.Button(self, wx.ID_ANY, _("&Upload"), style=wx.BU_EXACTFIT) 52 self._BTN_image_show = wx.Button(self, wx.ID_ANY, _("Show (&P)"), style=wx.BU_EXACTFIT) 53 self._BTN_save_image_preview = wx.Button(self, wx.ID_ANY, _("Save (P)"), style=wx.BU_EXACTFIT) 54 self._BTN_save_studies_as_zip = wx.Button(self, wx.ID_ANY, _("as ZIP"), style=wx.BU_EXACTFIT) 55 self._BTN_save_patient_as_zip = wx.Button(self, wx.ID_ANY, _("as ZIP"), style=wx.BU_EXACTFIT) 56 self._BTN_modify_orthanc_content = wx.Button(self, wx.ID_ANY, _("Edit"), style=wx.BU_EXACTFIT) 57 58 self.__set_properties() 59 self.__do_layout() 60 61 self.Bind(wx.EVT_BUTTON, self._on_connect_button_pressed, self._BTN_connect) 62 self.Bind(wx.EVT_BUTTON, self._on_verify_patient_data_button_pressed, self._BTN_verify_patient_data) 63 self.Bind(wx.EVT_BUTTON, self._on_previous_image_button_pressed, self._BTN_previous_image) 64 self.Bind(wx.EVT_BUTTON, self._on_next_image_button_pressed, self._BTN_next_image) 65 self.Bind(wx.EVT_BUTTON, self._on_button_image_export_pressed, self._BTN_image_export) 66 self.Bind(wx.EVT_BUTTON, self._on_browse_study_button_pressed, self._BTN_browse_study) 67 self.Bind(wx.EVT_BUTTON, self._on_browse_patient_button_pressed, self._BTN_browse_patient) 68 self.Bind(wx.EVT_BUTTON, self._on_browse_pacs_button_pressed, self._BTN_browse_pacs) 69 self.Bind(wx.EVT_BUTTON, self._on_button_image_show_dicom_pressed, self._BTN_image_show_dicom) 70 self.Bind(wx.EVT_BUTTON, self._on_save_image_as_dicom_button_pressed, self._BTN_save_image_as_dicom) 71 self.Bind(wx.EVT_BUTTON, self._on_save_studies_as_dicom_dir_button_pressed, self._BTN_save_studies_as_dicom_dir) 72 self.Bind(wx.EVT_BUTTON, self._on_save_patient_as_dicom_dir_button_pressed, self._BTN_save_patient_as_dicom_dir) 73 self.Bind(wx.EVT_BUTTON, self._on_upload_button_pressed, self._BTN_upload) 74 self.Bind(wx.EVT_BUTTON, self._on_button_image_show_pressed, self._BTN_image_show) 75 self.Bind(wx.EVT_BUTTON, self._on_save_image_preview_button_pressed, self._BTN_save_image_preview) 76 self.Bind(wx.EVT_BUTTON, self._on_save_studies_as_zip_button_pressed, self._BTN_save_studies_as_zip) 77 self.Bind(wx.EVT_BUTTON, self._on_save_patient_as_zip_button_pressed, self._BTN_save_patient_as_zip) 78 self.Bind(wx.EVT_BUTTON, self._on_modify_orthanc_content_button_pressed, self._BTN_modify_orthanc_content)
79 # end wxGlade 80
81 - def __set_properties(self):
82 # begin wxGlade: wxgPACSPluginPnl.__set_properties 83 self._TCTRL_host.SetToolTip(_("Enter the PACS host address.")) 84 self._TCTRL_port.SetToolTip(_("Enter the PACS port.")) 85 self._TCTRL_user.SetToolTip(_("Enter the PACS user.")) 86 self._TCTRL_password.SetToolTip(_("Enter the PACS password. It will not be shown.")) 87 self._BTN_connect.SetToolTip(_("Connect to PACS.")) 88 self._LCTRL_details.SetFont(wx.Font(9, wx.MODERN, wx.NORMAL, wx.NORMAL, 0, "")) 89 self._TCTRL_details.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_BACKGROUND)) 90 self._TCTRL_details.SetFont(wx.Font(9, wx.MODERN, wx.NORMAL, wx.NORMAL, 0, "")) 91 self._TCTRL_details.Hide() 92 self._BMP_preview.SetMinSize((50, 50)) 93 self._BTN_verify_patient_data.SetToolTip(_("Verify patient data in PACS.")) 94 self._BTN_verify_patient_data.Enable(False) 95 self._BTN_previous_image.SetToolTip(_("Review previous image.")) 96 self._BTN_previous_image.Enable(False) 97 self._BTN_next_image.SetToolTip(_("Preview next image.")) 98 self._BTN_next_image.Enable(False) 99 self._BTN_image_export.SetToolTip(_("Store image into export area.")) 100 self._BTN_image_export.Enable(False) 101 self._BTN_browse_study.SetToolTip(_("Browse topmost selected study.")) 102 self._BTN_browse_study.Enable(False) 103 self._BTN_browse_patient.SetToolTip(_("Browse overview of all studies for this patient.")) 104 self._BTN_browse_patient.Enable(False) 105 self._BTN_browse_pacs.SetToolTip(_("Browse PACS at top level.")) 106 self._BTN_browse_pacs.Enable(False) 107 self._BTN_image_show_dicom.SetToolTip(_("Show image in DICOM viewer.")) 108 self._BTN_image_show_dicom.Enable(False) 109 self._BTN_save_image_as_dicom.SetToolTip(_("Save image in DICOM format.")) 110 self._BTN_save_image_as_dicom.Enable(False) 111 self._BTN_save_studies_as_dicom_dir.SetToolTip(_("Save selected studies to disk as DICOM directory.")) 112 self._BTN_save_studies_as_dicom_dir.Enable(False) 113 self._BTN_save_patient_as_dicom_dir.SetToolTip(_("Save all studies as one DICOM directory.")) 114 self._BTN_save_patient_as_dicom_dir.Enable(False) 115 self._BTN_upload.SetToolTip(_("Upload DICOM files from a directory, recursively, into the Orthanc PACS\n\nThe currently active patient does not matter. Orthanc will associate uploaded files with the patient found within the DICOM metadata. It will create new patients as needed.")) 116 self._BTN_upload.Enable(False) 117 self._BTN_image_show.SetToolTip(_("Show image in external viewer (PNG format).")) 118 self._BTN_image_show.Enable(False) 119 self._BTN_save_image_preview.SetToolTip(_("Save image preview (PNG format).")) 120 self._BTN_save_image_preview.Enable(False) 121 self._BTN_save_studies_as_zip.SetToolTip(_("Save selected studies as DICOM archive.")) 122 self._BTN_save_studies_as_zip.Enable(False) 123 self._BTN_save_patient_as_zip.SetToolTip(_("Save all studies of patient as DICOM archive.")) 124 self._BTN_save_patient_as_zip.Enable(False) 125 self._BTN_modify_orthanc_content.SetToolTip(_("Modify some of Orthanc content (such as patient IDs).")) 126 self._BTN_modify_orthanc_content.Enable(False)
127 # end wxGlade 128
129 - def __do_layout(self):
130 # begin wxGlade: wxgPACSPluginPnl.__do_layout 131 __szr_main = wx.BoxSizer(wx.VERTICAL) 132 __szr_details = wx.BoxSizer(wx.HORIZONTAL) 133 __szr_metadata_image = wx.BoxSizer(wx.VERTICAL) 134 __szr_images_buttons = wx.BoxSizer(wx.HORIZONTAL) 135 __gszr_buttons_bottom = wx.FlexGridSizer(4, 5, 1, 4) 136 __szr_prev_next = wx.BoxSizer(wx.HORIZONTAL) 137 __szr_studies_series = wx.BoxSizer(wx.VERTICAL) 138 __szr_PACS_details = wx.BoxSizer(wx.HORIZONTAL) 139 __szr_PACS_details.Add(self.__lbl_host, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 3) 140 __szr_PACS_details.Add(self._TCTRL_host, 1, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5) 141 __szr_PACS_details.Add(self.__lbl_port, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 3) 142 __szr_PACS_details.Add(self._TCTRL_port, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5) 143 __szr_PACS_details.Add(self.__lbl_user, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 3) 144 __szr_PACS_details.Add(self._TCTRL_user, 1, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5) 145 __szr_PACS_details.Add(self.__lbl_password, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 3) 146 __szr_PACS_details.Add(self._TCTRL_password, 1, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5) 147 __szr_PACS_details.Add(self._BTN_connect, 0, wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, 5) 148 __szr_main.Add(__szr_PACS_details, 0, wx.EXPAND | wx.LEFT | wx.RIGHT | wx.TOP, 3) 149 __szr_main.Add(self._LBL_PACS_identification, 0, wx.EXPAND | wx.LEFT | wx.RIGHT | wx.TOP, 3) 150 __szr_studies_series.Add(self._LBL_patient_identification, 0, wx.ALL | wx.EXPAND, 3) 151 __szr_studies_series.Add(self._LCTRL_studies, 3, wx.EXPAND | wx.TOP, 3) 152 __szr_studies_series.Add(self._LCTRL_series, 2, wx.EXPAND | wx.TOP, 3) 153 __szr_details.Add(__szr_studies_series, 1, wx.EXPAND | wx.RIGHT, 3) 154 __szr_metadata_image.Add(self._LCTRL_details, 1, wx.EXPAND, 0) 155 __szr_metadata_image.Add(self._TCTRL_details, 0, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, 0) 156 __szr_images_buttons.Add(self._BMP_preview, 0, wx.ALL, 2) 157 __gszr_buttons_bottom.Add(self._LBL_image, 0, wx.ALIGN_CENTER, 0) 158 __gszr_buttons_bottom.Add((20, 20), 0, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, 0) 159 __lbl_study = wx.StaticText(self, wx.ID_ANY, _("Study")) 160 __gszr_buttons_bottom.Add(__lbl_study, 0, wx.ALIGN_CENTER, 0) 161 __gszr_buttons_bottom.Add(self._BTN_verify_patient_data, 0, wx.ALIGN_CENTER, 0) 162 __lbl_PACS = wx.StaticText(self, wx.ID_ANY, _("PACS")) 163 __gszr_buttons_bottom.Add(__lbl_PACS, 0, wx.ALIGN_CENTER, 0) 164 __szr_prev_next.Add(self._BTN_previous_image, 0, wx.ALIGN_CENTER | wx.ALL, 3) 165 __szr_prev_next.Add(self._BTN_next_image, 0, wx.ALIGN_CENTER | wx.ALL, 3) 166 __gszr_buttons_bottom.Add(__szr_prev_next, 0, wx.ALIGN_CENTER, 0) 167 __gszr_buttons_bottom.Add(self._BTN_image_export, 0, wx.ALIGN_CENTER, 0) 168 __gszr_buttons_bottom.Add(self._BTN_browse_study, 0, wx.ALIGN_CENTER | wx.ALL, 3) 169 __gszr_buttons_bottom.Add(self._BTN_browse_patient, 0, wx.ALIGN_CENTER | wx.ALL, 3) 170 __gszr_buttons_bottom.Add(self._BTN_browse_pacs, 0, wx.ALIGN_CENTER | wx.ALL, 5) 171 __gszr_buttons_bottom.Add(self._BTN_image_show_dicom, 0, wx.ALIGN_CENTER, 0) 172 __gszr_buttons_bottom.Add(self._BTN_save_image_as_dicom, 0, wx.ALIGN_CENTER, 0) 173 __gszr_buttons_bottom.Add(self._BTN_save_studies_as_dicom_dir, 0, wx.ALIGN_CENTER | wx.RIGHT, 3) 174 __gszr_buttons_bottom.Add(self._BTN_save_patient_as_dicom_dir, 0, wx.ALIGN_CENTER | wx.RIGHT, 3) 175 __gszr_buttons_bottom.Add(self._BTN_upload, 0, wx.ALIGN_CENTER, 0) 176 __gszr_buttons_bottom.Add(self._BTN_image_show, 0, wx.ALIGN_CENTER, 0) 177 __gszr_buttons_bottom.Add(self._BTN_save_image_preview, 0, wx.ALIGN_CENTER, 0) 178 __gszr_buttons_bottom.Add(self._BTN_save_studies_as_zip, 0, wx.ALIGN_CENTER, 0) 179 __gszr_buttons_bottom.Add(self._BTN_save_patient_as_zip, 0, wx.ALIGN_CENTER, 0) 180 __gszr_buttons_bottom.Add(self._BTN_modify_orthanc_content, 0, wx.ALIGN_CENTER, 0) 181 __szr_images_buttons.Add(__gszr_buttons_bottom, 0, wx.EXPAND, 0) 182 __szr_metadata_image.Add(__szr_images_buttons, 0, wx.EXPAND, 0) 183 __szr_details.Add(__szr_metadata_image, 1, wx.EXPAND, 0) 184 __szr_main.Add(__szr_details, 1, wx.EXPAND | wx.LEFT | wx.RIGHT | wx.TOP, 3) 185 self.SetSizer(__szr_main) 186 __szr_main.Fit(self) 187 self.Layout()
188 # end wxGlade 189
190 - def _on_connect_button_pressed(self, event): # wxGlade: wxgPACSPluginPnl.<event_handler>
191 print("Event handler '_on_connect_button_pressed' not implemented!") 192 event.Skip()
193
194 - def _on_verify_patient_data_button_pressed(self, event): # wxGlade: wxgPACSPluginPnl.<event_handler>
195 print("Event handler '_on_verify_patient_data_button_pressed' not implemented!") 196 event.Skip() 197
198 - def _on_previous_image_button_pressed(self, event): # wxGlade: wxgPACSPluginPnl.<event_handler>
199 print("Event handler '_on_previous_image_button_pressed' not implemented!") 200 event.Skip() 201
202 - def _on_next_image_button_pressed(self, event): # wxGlade: wxgPACSPluginPnl.<event_handler>
203 print("Event handler '_on_next_image_button_pressed' not implemented!") 204 event.Skip() 205
206 - def _on_button_image_export_pressed(self, event): # wxGlade: wxgPACSPluginPnl.<event_handler>
207 print("Event handler '_on_button_image_export_pressed' not implemented!") 208 event.Skip() 209
210 - def _on_browse_study_button_pressed(self, event): # wxGlade: wxgPACSPluginPnl.<event_handler>
211 print("Event handler '_on_browse_study_button_pressed' not implemented!") 212 event.Skip() 213
214 - def _on_browse_patient_button_pressed(self, event): # wxGlade: wxgPACSPluginPnl.<event_handler>
215 print("Event handler '_on_browse_patient_button_pressed' not implemented!") 216 event.Skip() 217
218 - def _on_browse_pacs_button_pressed(self, event): # wxGlade: wxgPACSPluginPnl.<event_handler>
219 print("Event handler '_on_browse_pacs_button_pressed' not implemented!") 220 event.Skip() 221
222 - def _on_button_image_show_dicom_pressed(self, event): # wxGlade: wxgPACSPluginPnl.<event_handler>
223 print("Event handler '_on_button_image_show_dicom_pressed' not implemented!") 224 event.Skip() 225
226 - def _on_save_image_as_dicom_button_pressed(self, event): # wxGlade: wxgPACSPluginPnl.<event_handler>
227 print("Event handler '_on_save_image_as_dicom_button_pressed' not implemented!") 228 event.Skip() 229
230 - def _on_save_studies_as_dicom_dir_button_pressed(self, event): # wxGlade: wxgPACSPluginPnl.<event_handler>
231 print("Event handler '_on_save_studies_as_dicom_dir_button_pressed' not implemented!") 232 event.Skip() 233
234 - def _on_save_patient_as_dicom_dir_button_pressed(self, event): # wxGlade: wxgPACSPluginPnl.<event_handler>
235 print("Event handler '_on_save_patient_as_dicom_dir_button_pressed' not implemented!") 236 event.Skip() 237
238 - def _on_upload_button_pressed(self, event): # wxGlade: wxgPACSPluginPnl.<event_handler>
239 print("Event handler '_on_upload_button_pressed' not implemented!") 240 event.Skip() 241
242 - def _on_button_image_show_pressed(self, event): # wxGlade: wxgPACSPluginPnl.<event_handler>
243 print("Event handler '_on_button_image_show_pressed' not implemented!") 244 event.Skip() 245
246 - def _on_save_image_preview_button_pressed(self, event): # wxGlade: wxgPACSPluginPnl.<event_handler>
247 print("Event handler '_on_save_image_preview_button_pressed' not implemented!") 248 event.Skip() 249
250 - def _on_save_studies_as_zip_button_pressed(self, event): # wxGlade: wxgPACSPluginPnl.<event_handler>
251 print("Event handler '_on_save_studies_as_zip_button_pressed' not implemented!") 252 event.Skip() 253
254 - def _on_save_patient_as_zip_button_pressed(self, event): # wxGlade: wxgPACSPluginPnl.<event_handler>
255 print("Event handler '_on_save_patient_as_zip_button_pressed' not implemented!") 256 event.Skip() 257
258 - def _on_modify_orthanc_content_button_pressed(self, event): # wxGlade: wxgPACSPluginPnl.<event_handler>
259 print("Event handler '_on_modify_orthanc_content_button_pressed' not implemented!") 260 event.Skip() 261 262 # end of class wxgPACSPluginPnl 263