Commit 430896dc4a78f879fc48604c34dce3862e961c8c
1 parent
dedc2a7c
Exists in
master
and in
68 other branches
ENH: Translation (source code changes and mo)
Showing
12 changed files
with
18 additions
and
389 deletions
Show diff stats
.gitattributes
... | ... | @@ -129,7 +129,6 @@ invesalius/gui/default_viewers.py -text |
129 | 129 | invesalius/gui/dialogs.py -text |
130 | 130 | invesalius/gui/dicom_preview_panel.py -text |
131 | 131 | invesalius/gui/frame.py -text |
132 | -invesalius/gui/import_data_wizard.py -text | |
133 | 132 | invesalius/gui/import_panel.py -text |
134 | 133 | invesalius/gui/language_dialog.py -text |
135 | 134 | invesalius/gui/task_exporter.py -text | ... | ... |
invesalius/gui/data_notebook.py
1 | +#!/usr/bin/env python | |
2 | +# -*- coding: UTF-8 -*- | |
1 | 3 | #-------------------------------------------------------------------------- |
2 | 4 | # Software: InVesalius - Software de Reconstrucao 3D de Imagens Medicas |
3 | 5 | # Copyright: (C) 2001 Centro de Pesquisas Renato Archer |
... | ... | @@ -161,7 +163,7 @@ class MasksListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): |
161 | 163 | wx_image.SetData(new_image.tostring()) |
162 | 164 | return wx.BitmapFromImage(wx_image.Scale(16, 16)) |
163 | 165 | |
164 | - def InsertNewItem(self, index=0, label=_("Mask 1"), threshold="(1000, 4500)", | |
166 | + def InsertNewItem(self, index=0, label=_("Mask"), threshold="(1000, 4500)", | |
165 | 167 | colour=None): |
166 | 168 | self.InsertStringItem(index, "") |
167 | 169 | self.SetStringItem(index, 1, label, |
... | ... | @@ -232,7 +234,7 @@ class SurfacesListCtrlPanel(wx.ListCtrl, listmix.TextEditMixin): |
232 | 234 | |
233 | 235 | self.InsertColumn(0, "", wx.LIST_FORMAT_CENTER) |
234 | 236 | self.InsertColumn(1, _("Name")) |
235 | - self.InsertColumn(2, _("Volume (mm3)")) | |
237 | + self.InsertColumn(2, _(u"Volume (mm³)")) | |
236 | 238 | self.InsertColumn(3, _("Transparency"), wx.LIST_FORMAT_RIGHT) |
237 | 239 | |
238 | 240 | self.SetColumnWidth(0, 20) | ... | ... |
invesalius/gui/default_viewers.py
... | ... | @@ -86,7 +86,7 @@ class Panel(wx.Panel): |
86 | 86 | |
87 | 87 | p3 = slice_viewer.Viewer(self, "SAGITAL") |
88 | 88 | s3 = wx.aui.AuiPaneInfo().Centre().Row(1).\ |
89 | - Name("Sagital Slice").Caption(_("Sagital slice")).\ | |
89 | + Name("Sagittal Slice").Caption(_("Sagittal slice")).\ | |
90 | 90 | MaximizeButton(True).CloseButton(False) |
91 | 91 | |
92 | 92 | p4 = VolumeViewerCover(self) |
... | ... | @@ -409,7 +409,7 @@ class VolumeToolPanel(wx.Panel): |
409 | 409 | d = wx.TextEntryDialog(self, _("Preset name")) |
410 | 410 | if d.ShowModal() == wx.ID_OK: |
411 | 411 | preset_name = d.GetValue() |
412 | - ps.Publisher().sendMessage('Save raycasting preset', | |
412 | + ps.Publisher().sendMessage(_("Save raycasting preset"), | |
413 | 413 | preset_name) |
414 | 414 | |
415 | 415 | def __init_menus(self, pubsub_evt=None): | ... | ... |
invesalius/gui/dialogs.py
... | ... | @@ -48,7 +48,7 @@ class NumberDialog(wx.Dialog): |
48 | 48 | |
49 | 49 | # Buttons |
50 | 50 | btn_ok = wx.Button(self, wx.ID_OK) |
51 | - btn_ok.SetHelpText(_("Above value will be applied.")) | |
51 | + btn_ok.SetHelpText(_("Value will be applied.")) | |
52 | 52 | btn_ok.SetDefault() |
53 | 53 | |
54 | 54 | btn_cancel = wx.Button(self, wx.ID_CANCEL) |
... | ... | @@ -252,7 +252,7 @@ class MessageDialog(wx.Dialog): |
252 | 252 | self.Centre() |
253 | 253 | |
254 | 254 | def SaveChangesDialog__Old(filename): |
255 | - message = _("Save changes to %s?")%filename | |
255 | + message = _("The project %s has been modified.\nSave changes?")%filename | |
256 | 256 | dlg = MessageDialog(message) |
257 | 257 | |
258 | 258 | answer = dlg.ShowModal() |
... | ... | @@ -291,7 +291,7 @@ def ImportInvalidFiles(): |
291 | 291 | |
292 | 292 | def SaveChangesDialog(filename): |
293 | 293 | current_dir = os.path.abspath(".") |
294 | - msg = _("Save changes to %s?")%filename | |
294 | + msg = _("The project %s has been modified.\nSave changes?")%filename | |
295 | 295 | if sys.platform == 'darwin': |
296 | 296 | dlg = wx.MessageDialog(None, "", msg, |
297 | 297 | wx.ICON_QUESTION | wx.YES_NO | wx.CANCEL) |
... | ... | @@ -313,7 +313,7 @@ def SaveChangesDialog(filename): |
313 | 313 | |
314 | 314 | def SaveChangesDialog2(filename): |
315 | 315 | current_dir = os.path.abspath(".") |
316 | - msg = _("Save changes to %s?")%filename | |
316 | + msg = _("The project %s has been modified.\nSave changes?")%filename | |
317 | 317 | if sys.platform == 'darwin': |
318 | 318 | dlg = wx.MessageDialog(None, "", msg, |
319 | 319 | wx.ICON_QUESTION | wx.YES_NO) |
... | ... | @@ -337,7 +337,7 @@ def ShowAboutDialog(parent): |
337 | 337 | info = wx.AboutDialogInfo() |
338 | 338 | info.Name = "InVesalius" |
339 | 339 | info.Version = "3.a.1 - RP" |
340 | - info.Copyright = _("(C) 2007 Renato Archer Research Centre") | |
340 | + info.Copyright = _("(c) 2007 Center for Information Technology Renato Archer") | |
341 | 341 | info.Description = wordwrap( |
342 | 342 | _("InVesalius is a software for medical imaging 3D reconstruction. ")+\ |
343 | 343 | _("Its input is a sequency of DICOM 2D image files acquired with CT or MR.\n\n")+\ | ... | ... |
invesalius/gui/import_data_wizard.py
... | ... | @@ -1,372 +0,0 @@ |
1 | -#-------------------------------------------------------------------------- | |
2 | -# Software: InVesalius - Software de Reconstrucao 3D de Imagens Medicas | |
3 | -# Copyright: (C) 2001 Centro de Pesquisas Renato Archer | |
4 | -# Homepage: http://www.softwarepublico.gov.br | |
5 | -# Contact: invesalius@cti.gov.br | |
6 | -# License: GNU - GPL 2 (LICENSE.txt/LICENCA.txt) | |
7 | -#-------------------------------------------------------------------------- | |
8 | -# Este programa e software livre; voce pode redistribui-lo e/ou | |
9 | -# modifica-lo sob os termos da Licenca Publica Geral GNU, conforme | |
10 | -# publicada pela Free Software Foundation; de acordo com a versao 2 | |
11 | -# da Licenca. | |
12 | -# | |
13 | -# Este programa eh distribuido na expectativa de ser util, mas SEM | |
14 | -# QUALQUER GARANTIA; sem mesmo a garantia implicita de | |
15 | -# COMERCIALIZACAO ou de ADEQUACAO A QUALQUER PROPOSITO EM | |
16 | -# PARTICULAR. Consulte a Licenca Publica Geral GNU para obter mais | |
17 | -# detalhes. | |
18 | -#-------------------------------------------------------------------------- | |
19 | -import cStringIO | |
20 | -import wx | |
21 | -import widgets.foldpanelbar as fpb | |
22 | -import wx.lib.filebrowsebutton as filebrowse | |
23 | -import wx.lib.hyperlink as hl | |
24 | -import wx.wizard as wiz | |
25 | - | |
26 | -def getWizTest1Data(): | |
27 | - return \ | |
28 | -'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00t\x00\x00\x01\x04\x08\x02\ | |
29 | -\x00\x00\x00v\xad\x87\x05\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\x00\ | |
30 | -\x00\x06\x06IDATx\x9c\xed\x9b\xc1\xcd\xdbF\x10FGA\xe0\xc0\x07]\x048M\xa8\x01\ | |
31 | -\x9f\x9c\x02\xd4\x81\xd3\x84\x1a\x10\xec@\r\xa8\x89\xa4\x03\x15\x90\x9c\xd2\ | |
32 | -\x80\x9aH\x00]t\x08\xec\x0bs`D\x04\xc9\x92\xe0\xee\xf2\xed\xceR\xdf;\x1a$\ | |
33 | -\xbd\xf8\xf083\xbb?\xb5\xe9\xba\xce\x04\xc37\xb5\x17\xb0f\x14.\x88\xc2\x05Q\ | |
34 | -\xb8 \n\x17D\xe1\x82(\\\x10\x85\x0b\xa2pA\x14.\x88\xc2\x05Q\xb8 \xdf\xe6?b\ | |
35 | -\xb3\xd9\xa4\xdd\xb8\xfa3#\x99\x0b\xb2\x80\xb9O>c\x17\xb7\x8a\xcc\x05Y2\xdc\ | |
36 | -\xae\xfb\xd4u\x9f\x16|`\xeb\xc8\\\x10\x85\x0b\xb2`C\x9b\xe6\xf3\xff\xffi\xce\ | |
37 | -\x0c\xd7\xf4\xb8&sA\x8a\x99kf\x16ea\xea\xd6\xc4\x11\xb3\xc2M\xde\x83\xbd8*\ | |
38 | -\x0b \x11ea\xec\x9d\x8e\xb4zx\xcc\xfa\xdf\x06\x99\x0b\x12\xd9\xd0\xfa\x964R\ | |
39 | -\x827\x9b\x9f\xb2\xd7\xb3*d.\xc8f\xce\x94\xdeO\x0b\x9d\x85\xcd\x9d_;\xbb\xce\ | |
40 | -\xe6\xd7\xdc\xfe?\xd1&B\x84Y`\x13\x11T\xab\xd7r\xf0\xee5\'e\x99\x0b\xa2pA\ | |
41 | -\x8a\x9e-\x98\xd9+\xec\x1d\x06d.\x88\xc2\x05\x89,\x0byM\xff\xd5F\x06\x99\x0b\ | |
42 | -\x12an\x8evMo\xb4\x92\x91\xb9 \xb3\xce\x16D\x1a2\x17D\xe1\x82(\\\x10\x85\x0b\ | |
43 | -R\xfel\xe1\xbf\x1c\x0e\x87\xb4\x1b\xaf\xd7\xeb\xb2+Y\x1c\x99\x0bR\xdf\xdc\'?\ | |
44 | -\xc6\\\xfc3\xb5\x8aE\x91\xb9 \x8e\xc2\xbd^?^\xaf\x1fk\xafbI\x1c\x85\xbb>\x14\ | |
45 | -.\x88\x9f\x866M\xa0\x83\xcd\x99\xe1\xea\x8ek2\x17\xa4\x15s\xcd\xcc\xa2,L\xdd\ | |
46 | -\x9a,I\x89p\x93\xf7`\xad\xa3\xb2\x00R\xae,\x8c\xbd\xd3\x91V\x0f\x8fi\xe0m\ | |
47 | -\x90\xb9 e\x1bZ\xdf\x92FJ\xf0\xe1\xf0K\xd1\xc5\xf0\xc8\\\x10?\xa3X\x1b\x07]Q\ | |
48 | -\xc8\\\x90\xfa\xe6\x06\xa7\x88\xbe*\x0f\x9b\xd7F\'e\x99\x0b\xa2pA\xea\x97\ | |
49 | -\x85HZ\xaa\x0f2\x17D\xe1\x82\x94-\x0byM\xbf\xb9\x91A\xe6\x82\x9437G;\xff\x1f\ | |
50 | -\xd7\x04\x91\xb9 \xfa\xf8\x19D\xe6\x82(\\\x10\x85\x0b\xa2pA\x14.\x88\xc2\x05\ | |
51 | -Q\xb8 \n\x17\xa4\xb9\xf3\\3\xb3\xf3\xf9\x9cv\xe3\xe9tZv%\xd3\xc8\\\x90&\xcd}\ | |
52 | -\xf2C\xcc\xc5\xbfR\xab\x18G\xe6\x82\xb4\x1d\xee\xe9\xf4\xe1t\xfaP{\x15\xa3\ | |
53 | -\xb4\x1d\xaes\x14.H\xd3\rm\x9a@\x07\x9b3\xc3-8\xae\xc9\\\x90\x15\x9bkf\x16ea\ | |
54 | -\xea\xd6d\x14\xa7\xe1&\xef\xc1\\\xa1\xb2\x00\xe2\xd4\xdc\x9e\xb1w:\xd2\xea\ | |
55 | -\xe11\xa5\xdf\x06\x99\x0b\xe2\xda\\\xb3gK\x1a)\xc1\xe7\xf3oE\x17\x13\x89\xcc\ | |
56 | -\x05qo\xee\x14\x15\x0e\xba\xa2\x90\xb9 M\x9a\x1b\x9c"\xfa\xaa<l^=L\xca2\x17D\ | |
57 | -\xe1\x824Y\x16"\xa9V\x1fd.\x88\xc2\x05q_\x16\xf2\x9a~\xdd\x91A\xe6\x82\xb867\ | |
58 | -G\xbb\xc2\x1f\xd7\x04\x91\xb9 \xfa\xc1\t\x88\xcc\x05Q\xb8 \n\x17D\xe1\x82(\\\ | |
59 | -\x10\x85\x0b\xa2pA\\\xef\xd0\xe6s\xb9\\\xd2n<\x1e\x8f\xcb\xae\xe4\xdf\xc8\\\ | |
60 | -\x90\x95\x98\xfb\xe4}\xcc\xc5\xbfS\xabx"sA\xd6\x16\xee\xf1\xf8\xfex\x8c\xf2\ | |
61 | -\x17dm\xe1\xbaB\xe1\x82\xac\xac\xa1M\x13\xe8`sf\xb8\xe4qM\xe6\x82\xbc\x94\ | |
62 | -\xb9ffQ\x16\xa6nM\xfe\xa1\x99p\x93\xf7`\x15QY\x00i\xc6\xdc\x9e\xb1w:\xd2\xea\ | |
63 | -\xe11\xec\xdb sA\x1a3\xd7\xec\xd9\x92FJ\xf0\xe5\x82\x9f\x18\xccG\xe6\x824h\ | |
64 | -\xee\x14\x8e\xb45\x99\x8b\xb2\x12s\x83SD_\x95\x87\xcdk\xf9IY\xe6\x82(\\\x90\ | |
65 | -\x95\x94\x85H\n\xd5\x07\x99\x0b\xa2pA\x1a,\x0byM\xbf\xe4\xc8 sA\x1a37G;\xf4\ | |
66 | -\xe3\x9a 2\x17D\xbf\x89\x00\x91\xb9 \n\x17D\xe1\x82(\\\x10\x85\x0b\xa2pA\x14\ | |
67 | -.\x88\xc2\x05Q\xb8 \n\x17\xc4\xe3\xc1\xcd\xedvK\xbbq\xbf\xdf/\xbb\x92Ld.\x88\ | |
68 | -Gs\x9f|\x1fs\xf1\x1f\xd4*2\x90\xb9 \xae\xc3\xdd\xef\xdf\xed\xf7\xefj\xaf"\ | |
69 | -\x1d\xd7\xe1\xb6\x8e\xc2\x05\xf1\xdc\xd0\xa6\tt\xb093\\\xc9qM\xe6\x82\xb4k\ | |
70 | -\xae\x99Y\x94\x85\xa9[\x93t\xea\x84\x9b\xbc\x07k\x0b\x95\x05\x90\x9aea\xec\ | |
71 | -\x9d\x8e\xb4zx\x8c\xbb\xb7A\xe6\x82\xd4nh}K\x1a)\xc1\xb7\xdb\x9fE\x17\xb342\ | |
72 | -\x17\xa4\xb6\xb9Sx<\xe8\x8aB\xe6\x82x478E\xf4Uy\xd8\xbc61)\xcb\\\x10\x85\x0b\ | |
73 | -\xe2\xb1,D\xe2\xb7>\xc8\\\x10\x85\x0bR\xbb,\xe45}\xe7#\x83\xcc\x05\xa9in\x8e\ | |
74 | -v\xde>\xae\t"sA\xf4S)\x10\x99\x0b\xa2pA\x14.\x88\xc2\x05Q\xb8 \n\x17D\xe1\ | |
75 | -\x82\xd4\xd9\xa1\xdd\xef\xf7\xb4\x1bw\xbb\xdd\xb2+A\x91\xb9 uO\xc5\xde\xc6\\\ | |
76 | -\xfc\x17\xb5\n\x0c\x99\x0bR9\xdc\xdd\xee\xedn\x17\xe5oK\xc8\\\x10\x85\x0bR\ | |
77 | -\xfb\xcf<S\x04:\xd8\x9c\x19\xce\xcf\xb8&sA<\x9bkf\x16ea\xea\xd6\x84\x82\n7y\ | |
78 | -\x0f\xb6&T\x16@\xd8\xb20\xf6NGZ=<\xa6\xb1\xb7A\xe6\x82\xf0\r\xadoI#%\xf8~o\ | |
79 | -\xef\xc4`>2\x17\xa4\xee(\xb6fmM\xe6\xa2\xd4178E\xf4Uy\xd8\xbc\xae`R\x96\xb9 \ | |
80 | -\n\x17\xc4\xfb\xd9\x82\x995\xb7w\x18\x90\xb9 \n\x17\x84/\x0byM\xbf\xe9\x91A\ | |
81 | -\xe6\x82\xb0\xe6\xe6h\xe7\xe7\xaf5\xc9\xc8\\\x10\xfd&\x02D\xe6\x82(\\\x10\ | |
82 | -\x85\x0b\xa2pA\x9c\x9e-<\x1e\x8f\xb4\x1b\xb7\xdb\xed\xb2+\xc9A\xe6\x8285\xf7\ | |
83 | -\xc9w1\x17\x7f\xa1V\x91\x8a\xcc\x05\xf1\x1e\xeev\xfbf\xbb}S{\x15\x89x\x0f\ | |
84 | -\xb7i\x14.\x88\xf3\x866M\xa0\x83\xcd\x99\xe1\x8a\x8dk2\x17\xa4is\xcd\xcc\xa2\ | |
85 | -,L\xdd\x9a$R-\xdc\xe4=XC\xa8,\x80T.\x0bc\xeft\xa4\xd5\xc3c|\xbd\r2\x17\xc4AC\ | |
86 | -\xeb[\xd2H\t~<\xbe\x16]\xcc\xa2\xc8\\\x10\x07\xe6N\xe1\xee\xa0+\n\x99\x0b\ | |
87 | -\xe2\xd4\xdc\xe0\x14\xd1W\xe5a\xf3\xea\x7fR\x96\xb9 \n\x17\xc4iY\x88\xc4i}\ | |
88 | -\x90\xb9 \n\x17\xc4AY\xc8k\xfa\x9eG\x06\x99\x0bR\xd9\xdc\x1c\xed\\}\\\x13D\ | |
89 | -\xe6\x82\xe8\xe3g\x10\x99\x0b\xa2pA\x14.\x88\xc2\x05\xf9\x1b\xa1\x11\xf1\xe2\ | |
90 | -?\xae\xd64\x00\x00\x00\x00IEND\xaeB`\x82' | |
91 | - | |
92 | -def getWizTest1Bitmap(): | |
93 | - return wx.BitmapFromImage(getWizTest1Image()) | |
94 | - | |
95 | -def getWizTest1Image(): | |
96 | - stream = cStringIO.StringIO(getWizTest1Data()) | |
97 | - return wx.ImageFromStream(stream) | |
98 | - | |
99 | - | |
100 | -def makePageTitle(wizPg, title): | |
101 | - sizer = wx.BoxSizer(wx.VERTICAL) | |
102 | - wizPg.SetSizer(sizer) | |
103 | - title = wx.StaticText(wizPg, -1, title) | |
104 | - title.SetFont(wx.Font(18, wx.SWISS, wx.NORMAL, wx.BOLD)) | |
105 | - sizer.Add(title, 0, wx.ALIGN_CENTRE|wx.ALL, 5) | |
106 | - sizer.Add(wx.StaticLine(wizPg, -1), 0, wx.EXPAND|wx.ALL, 5) | |
107 | - return sizer | |
108 | - | |
109 | -class BasePage(wiz.PyWizardPage): | |
110 | - def __init__(self, parent, title, number): | |
111 | - wiz.PyWizardPage.__init__(self, parent) | |
112 | - # header data | |
113 | - self.title = title | |
114 | - self.number = number | |
115 | - # previous / next page data | |
116 | - self.next = self.prev = None | |
117 | - self.jump_next_page = False | |
118 | - | |
119 | - self.__init_gui() | |
120 | - | |
121 | - self.Update() | |
122 | - self.SetAutoLayout(1) | |
123 | - self.Fit() | |
124 | - | |
125 | - def __init_gui(self): | |
126 | - sizer = wx.BoxSizer(wx.VERTICAL) | |
127 | - self.SetSizer(sizer) | |
128 | - | |
129 | - # Build header | |
130 | - first_line = wx.BoxSizer(wx.HORIZONTAL) | |
131 | - number = wx.StaticText(self, -1, str(self.number)+".") | |
132 | - number.SetFont(wx.Font(20, wx.SWISS, wx.NORMAL, wx.BOLD)) | |
133 | - self.header_number = number | |
134 | - title = wx.StaticText(self, -1, self.title) | |
135 | - title.SetFont(wx.Font(16, wx.SWISS, wx.NORMAL, wx.NORMAL)) | |
136 | - first_line.Add(number, 0, wx.ALIGN_LEFT|wx.ALIGN_BOTTOM|wx.RIGHT, 5) | |
137 | - first_line.Add(title, 0, wx.ALIGN_LEFT|wx.ALIGN_BOTTOM|wx.RIGHT|wx.BOTTOM, 2) | |
138 | - sizer.AddSizer(first_line, 0) | |
139 | - sizer.Add(wx.StaticLine(self, -1), 0, wx.EXPAND|wx.ALL, 5) | |
140 | - | |
141 | - self.sizer = sizer | |
142 | - | |
143 | - def DecreasePageNumber(self): | |
144 | - print "number before", self.number | |
145 | - self.number -= 1 | |
146 | - self.header_number.SetLabel(str(self.number)+".") | |
147 | - | |
148 | - def SetNext(self, next): | |
149 | - self.next = next | |
150 | - | |
151 | - def SetPrev(self, prev): | |
152 | - self.prev = prev | |
153 | - | |
154 | - # Classes derived from wxPyWizardPanel must override | |
155 | - # GetNext and GetPrev, and may also override GetBitmap | |
156 | - # as well as all those methods overridable by | |
157 | - # wx.PyWindow. | |
158 | - | |
159 | - def GetNext(self): | |
160 | - return self.next | |
161 | - | |
162 | - def GetPrev(self): | |
163 | - return self.prev | |
164 | - | |
165 | -class RawDataPage(BasePage): | |
166 | - def __init__(self, parent, title, number): | |
167 | - BasePage.__init__(self, parent, title, number) | |
168 | - | |
169 | -class StudyPage(BasePage): | |
170 | - def __init__(self, parent, title, number): | |
171 | - BasePage.__init__(self, parent, title, number) | |
172 | - | |
173 | -class DirPage(BasePage): | |
174 | - """ | |
175 | - Wizard page for selecting which directory or directories should be searched | |
176 | - for retrieving medical images. | |
177 | - """ | |
178 | - | |
179 | - def __init__(self, parent, title, number): | |
180 | - BasePage.__init__(self, parent, title, number) | |
181 | - self.__init_specific_gui() | |
182 | - | |
183 | - self.selected_dir = [] | |
184 | - | |
185 | - def __init_specific_gui(self): | |
186 | - | |
187 | - line1 = wx.StaticText(self, -1,_("Select the directory which ")+\ | |
188 | - _("contains medical images of the study interest.")) | |
189 | - | |
190 | - | |
191 | - | |
192 | - t1 = wx.TextCtrl(self, -1, "", size=(125, -1)) | |
193 | - | |
194 | - dbb = filebrowse.DirBrowseButton( | |
195 | - self, -1, size=(450, -1), changeCallback = self.dbbCallback) | |
196 | - dbb.SetLabel("") | |
197 | - line2 = dbb | |
198 | - #line2 = wx.BoxSizer(wx.HORIZONTAL) | |
199 | - | |
200 | - #line3 = wx.BoxSizer(wx.VERTICAL) | |
201 | - #self.line3 = line3 | |
202 | - | |
203 | - #link_add_another_dir = hl.HyperLinkCtrl(self, -1,"Add a new directory") | |
204 | - #link_add_another_dir.SetUnderlines(True, False, False) | |
205 | - #link_add_another_dir.SetColours("BLUE", "BLUE", "BLUE") | |
206 | - #link_add_another_dir.AutoBrowse(False) | |
207 | - #link_add_another_dir.UpdateLink() | |
208 | - #link_add_another_dir.Bind(hl.EVT_HYPERLINK_LEFT, self.OnAddDir) | |
209 | - #self.link_add_new = link_add_another_dir | |
210 | - | |
211 | - | |
212 | - # ADVANCED | |
213 | - # [] Save selected folders as default | |
214 | - # [] Consider files inside inner folders of the selected folder, using recursion | |
215 | - | |
216 | - | |
217 | - self.sizer.Add(line1, 0, wx.LEFT|wx.RIGHT|wx.TOP, 5) | |
218 | - self.sizer.Add(line2, 0, wx.ALL, 5) | |
219 | - #self.sizer.Add(line3, 0, wx.ALL, 5) | |
220 | - #self.sizer.Add(link_add_another_dir, 0, wx.LEFT|wx.BOTTOM, 10) | |
221 | - | |
222 | - | |
223 | - fold_panel = fpb.FoldPanelBar(self, -1, wx.DefaultPosition, | |
224 | - (450, 100), 0,fpb.FPB_SINGLE_FOLD) | |
225 | - | |
226 | - # Fold panel style | |
227 | - style = fpb.CaptionBarStyle() | |
228 | - style.SetCaptionStyle(fpb.CAPTIONBAR_RECTANGLE) | |
229 | - style.SetSecondColour(wx.Colour(255,255,255)) | |
230 | - | |
231 | - # Fold 1 - Surface properties | |
232 | - item = fold_panel.AddFoldPanel(_("Advanced options"), | |
233 | - collapsed=True) | |
234 | - fold_panel.ApplyCaptionStyle(item, style) | |
235 | - fold_panel.AddFoldPanelWindow(item, | |
236 | - wx.CheckBox(item, wx.ID_ANY, _("Use selected folder(s) as default")), | |
237 | - Spacing= 0, leftSpacing=0, rightSpacing=0) | |
238 | - fold_panel.AddFoldPanelWindow(item, | |
239 | - wx.CheckBox(item, wx.ID_ANY, _("Enable recursion in folder(s)")), | |
240 | - Spacing= 0, leftSpacing=0, rightSpacing=0) | |
241 | - | |
242 | - | |
243 | - self.sizer.Add(fold_panel, 0, wx.TOP|wx.LEFT, 5) | |
244 | - | |
245 | - self.sizer.Fit(self) | |
246 | - self.Update() | |
247 | - self.SetAutoLayout(1) | |
248 | - | |
249 | - | |
250 | - def JumpNextPage(self): | |
251 | - self.jump_next_page = True | |
252 | - self.next.GetNext().DecreasePageNumber() | |
253 | - | |
254 | - def OnAddDir(self, evt): | |
255 | - dlg = wx.DirDialog(self, _("Choose a directory:"), | |
256 | - style=wx.DD_DIR_MUST_EXIST) | |
257 | - | |
258 | - if dlg.ShowModal() == wx.ID_OK: | |
259 | - path = dlg.GetPath() | |
260 | - self.selected_dir.append(path) | |
261 | - self.link_add_new.SetLabel(_("Add another directory")) | |
262 | - self.AddNewDir(path) | |
263 | - dlg.Destroy() | |
264 | - | |
265 | - def OnChangeDir(self, prev_dir, text): | |
266 | - dlg = wx.DirDialog(self, _("Choose a directory:"), | |
267 | - style=wx.DD_DIR_MUST_EXIST) | |
268 | - dlg.SetPath(prev_dir) | |
269 | - | |
270 | - if dlg.ShowModal() == wx.ID_OK: | |
271 | - path = dlg.GetPath() | |
272 | - self.selected_dir.remove(prev_dir) | |
273 | - self.selected_dir.append(path) | |
274 | - text.SetValue(path) | |
275 | - dlg.Destroy() | |
276 | - | |
277 | - | |
278 | - def AddNewDir(self, path): | |
279 | - folder_bmp = wx.ArtProvider.GetBitmap(wx.ART_FOLDER_OPEN, wx.ART_BUTTON, | |
280 | - (12,12)) | |
281 | - btn = wx.BitmapButton(self, -1, folder_bmp) | |
282 | - | |
283 | - text_dir_path = wx.StaticText(self, -1, path) | |
284 | - | |
285 | - tooltip = wx.ToolTip(_("Remove this directory from list")) | |
286 | - link_remove = hl.HyperLinkCtrl(self, -1,_("Remove")) | |
287 | - link_remove.SetUnderlines(True, False, False) | |
288 | - link_remove.SetColours("BLUE", "BLUE", "BLUE") | |
289 | - link_remove.SetToolTip(tooltip) | |
290 | - link_remove.AutoBrowse(False) | |
291 | - link_remove.UpdateLink() | |
292 | - | |
293 | - dir_line = wx.BoxSizer(wx.HORIZONTAL) | |
294 | - dir_line.Add(btn, 0, wx.LEFT|wx.RIGHT, 5) | |
295 | - dir_line.Add(text_dir_path, 0) | |
296 | - dir_line.Add(link_remove, 0, wx.ALIGN_RIGHT|wx.RIGHT|wx.LEFT, 5) | |
297 | - | |
298 | - link_remove.Bind(hl.EVT_HYPERLINK_LEFT, lambda e: self.RemoveDir(path, dir_line)) | |
299 | - btn.Bind(wx.EVT_BUTTON, lambda e: self.OnChangeDir(path, link_remove)) | |
300 | - | |
301 | - self.line3.Add(dir_line, 1, wx.LEFT, 2) | |
302 | - #self.line3.Add(text_dir_path, 0, wx.ALL, 5) | |
303 | - | |
304 | - self.Fit() | |
305 | - | |
306 | - def RemoveDir(self, path, sizer): | |
307 | - self.selected_dir.remove(path) | |
308 | - self.line3.Hide(sizer) | |
309 | - self.line3.RemoveSizer(sizer) | |
310 | - if not self.selected_dir: | |
311 | - self.link_add_new.SetLabel(_("Add another directory")) | |
312 | - self.Layout() | |
313 | - self.Fit() | |
314 | - | |
315 | - | |
316 | - | |
317 | - | |
318 | - def GetNext(self): | |
319 | - """If jump_next_page is true then return the next page's next page""" | |
320 | - if self.jump_next_page: | |
321 | - try: | |
322 | - self.next.GetNext().SetPrev(self) | |
323 | - except AttributeError: | |
324 | - print "Warning: Next is the last Wizard page." | |
325 | - return None | |
326 | - else: | |
327 | - return self.next.GetNext() | |
328 | - else: | |
329 | - try: | |
330 | - self.next.GetNext().SetPrev(self.next) | |
331 | - except AttributeError: | |
332 | - print "Worning: This is the last Wizard page" | |
333 | - return self.next | |
334 | - | |
335 | - | |
336 | - def dbbCallback(self, evt): | |
337 | - self.log.write('DirBrowseButton: %s\n' % evt.GetString()) | |
338 | - | |
339 | -def CreateWizard(parent): | |
340 | - wizard = wiz.Wizard(parent, -1, _("Import medical images"), getWizTest1Bitmap()) | |
341 | - | |
342 | - page1 = DirPage(wizard, _("Choose directory"), 1) | |
343 | - page2 = RawDataPage(wizard, _("Define RAW data"), 2) | |
344 | - page3 = StudyPage(wizard, _("Select study"), 3) # 2 can be 3 | |
345 | - | |
346 | - | |
347 | - wizard.FitToPage(page1) | |
348 | - page3.sizer.Add(wx.StaticText(page3, -1, _("\nThis is the last page."))) | |
349 | - | |
350 | - # Set the initial order of the pages | |
351 | - page1.SetNext(page2) | |
352 | - page2.SetPrev(page1) | |
353 | - page2.SetNext(page3) | |
354 | - page3.SetPrev(page2) | |
355 | - | |
356 | - page1.JumpNextPage() | |
357 | - | |
358 | - wizard.GetPageAreaSizer().Add(page1) | |
359 | - | |
360 | - if wizard.RunWizard(page1): | |
361 | - print "Completed - Send message to import data" | |
362 | - else: | |
363 | - print "Canceled" | |
364 | - | |
365 | -class ImportApp(wx.App): | |
366 | - def OnInit(self): | |
367 | - CreateWizard(None) | |
368 | - return True | |
369 | - | |
370 | -if __name__ == '__main__': | |
371 | - app = ImportApp(0) | |
372 | - app.MainLoop() |
invesalius/gui/task_exporter.py
... | ... | @@ -291,7 +291,7 @@ class InnerTaskPanel(wx.Panel): |
291 | 291 | dlg = wx.MessageDialog(None, |
292 | 292 | _("You need to create a surface and make it ") + |
293 | 293 | _("visible before exporting it."), |
294 | - _('InVesalius Information'), | |
294 | + 'InVesalius 3', | |
295 | 295 | wx.OK | wx.ICON_INFORMATION) |
296 | 296 | try: |
297 | 297 | dlg.ShowModal() | ... | ... |
invesalius/gui/task_slice.py
... | ... | @@ -135,7 +135,7 @@ class InnerTaskPanel(wx.Panel): |
135 | 135 | |
136 | 136 | def OnLinkNewMask(self, evt=None): |
137 | 137 | dlg = wx.TextEntryDialog(self, _('Name of new mask:'), |
138 | - _('InVesalius 3.0 - New mask')) | |
138 | + _('InVesalius 3 - New mask')) | |
139 | 139 | dlg.CenterOnScreen() |
140 | 140 | default_mask_name = const.MASK_NAME_PATTERN %(mask.Mask.general_index+2) |
141 | 141 | dlg.SetValue(default_mask_name) | ... | ... |
invesalius/gui/task_surface.py
... | ... | @@ -128,7 +128,7 @@ class InnerTaskPanel(wx.Panel): |
128 | 128 | evt.Skip() |
129 | 129 | |
130 | 130 | def OnLinkNewSurface(self, evt=None): |
131 | - dlg = NewSurfaceDialog(self, -1, _('InVesalius 3.0 - New surface')) | |
131 | + dlg = NewSurfaceDialog(self, -1, _('InVesalius 3 - New surface')) | |
132 | 132 | if dlg.ShowModal() == wx.ID_OK: |
133 | 133 | print "TODO: Send Signal - Create 3d surface %s \n" % dlg.GetValue() |
134 | 134 | dlg.Destroy() |
... | ... | @@ -180,7 +180,7 @@ class NewSurfaceDialog(wx.Dialog): |
180 | 180 | |
181 | 181 | text = wx.TextCtrl(self, -1, "", size=(80,-1)) |
182 | 182 | text.SetHelpText(_("Name the new surface to be created")) |
183 | - text.SetValue(_("Default 3D")) | |
183 | + text.SetValue(_("Surface")) | |
184 | 184 | self.text = text |
185 | 185 | |
186 | 186 | sizer = wx.BoxSizer(wx.VERTICAL) |
... | ... | @@ -208,8 +208,8 @@ class NewSurfaceDialog(wx.Dialog): |
208 | 208 | self.SetSizer(sizer) |
209 | 209 | sizer.Fit(self) |
210 | 210 | |
211 | - def GetValue(self): | |
212 | - return self.text.GetValue() + _("| mask: ") + MASK_LIST[self.combo_surface_name.GetSelection()] | |
211 | + #def GetValue(self): | |
212 | + # return self.text.GetValue() + _("| mask: ") + MASK_LIST[self.combo_surface_name.GetSelection()] | |
213 | 213 | |
214 | 214 | class FoldPanel(wx.Panel): |
215 | 215 | def __init__(self, parent): | ... | ... |
invesalius/i18n.py
locale/en/LC_MESSAGES/invesalius.mo
No preview for this file type
locale/es/LC_MESSAGES/invesalius.mo
No preview for this file type
locale/pt_BR/LC_MESSAGES/invesalius.mo
No preview for this file type