Commit 1289f0e2e312ea02fa2b1ff03c22aa06aa51ace1
1 parent
9a65a341
Exists in
master
and in
67 other branches
ENH: Showing an info icon about not be possible to use default method to the cre…
…ation of a new surface
Showing
1 changed file
with
26 additions
and
14 deletions
Show diff stats
invesalius/gui/dialogs.py
@@ -1045,8 +1045,8 @@ class SurfaceCreationDialog(wx.Dialog): | @@ -1045,8 +1045,8 @@ class SurfaceCreationDialog(wx.Dialog): | ||
1045 | btnsizer.Realize() | 1045 | btnsizer.Realize() |
1046 | 1046 | ||
1047 | sizer_panels = wx.BoxSizer(wx.HORIZONTAL) | 1047 | sizer_panels = wx.BoxSizer(wx.HORIZONTAL) |
1048 | - sizer_panels.Add(surface_method_sizer, 0, wx.EXPAND|wx.ALL, 5) | ||
1049 | sizer_panels.Add(surface_options_sizer, 0, wx.EXPAND|wx.ALL, 5) | 1048 | sizer_panels.Add(surface_options_sizer, 0, wx.EXPAND|wx.ALL, 5) |
1049 | + sizer_panels.Add(surface_method_sizer, 0, wx.EXPAND|wx.ALL, 5) | ||
1050 | 1050 | ||
1051 | sizer = wx.BoxSizer(wx.VERTICAL) | 1051 | sizer = wx.BoxSizer(wx.VERTICAL) |
1052 | sizer.Add(sizer_panels, 0, wx.ALIGN_RIGHT|wx.ALL, 5) | 1052 | sizer.Add(sizer_panels, 0, wx.ALIGN_RIGHT|wx.ALL, 5) |
@@ -1062,13 +1062,10 @@ class SurfaceCreationDialog(wx.Dialog): | @@ -1062,13 +1062,10 @@ class SurfaceCreationDialog(wx.Dialog): | ||
1062 | self.ca.mask_edited = mask.was_edited | 1062 | self.ca.mask_edited = mask.was_edited |
1063 | self.ca.ReloadMethodsOptions() | 1063 | self.ca.ReloadMethodsOptions() |
1064 | 1064 | ||
1065 | - | ||
1066 | - | ||
1067 | def GetValue(self): | 1065 | def GetValue(self): |
1068 | return {"method": self.ca.GetValue(), | 1066 | return {"method": self.ca.GetValue(), |
1069 | "options": self.nsd.GetValue()} | 1067 | "options": self.nsd.GetValue()} |
1070 | 1068 | ||
1071 | - | ||
1072 | class SurfaceCreationOptionsPanel(wx.Panel): | 1069 | class SurfaceCreationOptionsPanel(wx.Panel): |
1073 | def __init__(self, parent, ID=-1): | 1070 | def __init__(self, parent, ID=-1): |
1074 | import constants as const | 1071 | import constants as const |
@@ -1232,28 +1229,39 @@ class SurfaceMethodPanel(wx.Panel): | @@ -1232,28 +1229,39 @@ class SurfaceMethodPanel(wx.Panel): | ||
1232 | 1229 | ||
1233 | def _build_widgets(self): | 1230 | def _build_widgets(self): |
1234 | self.ca_options = CAOptions(self) | 1231 | self.ca_options = CAOptions(self) |
1232 | + | ||
1235 | self.cb_types = wx.ComboBox(self, -1, _(u'Default'), | 1233 | self.cb_types = wx.ComboBox(self, -1, _(u'Default'), |
1236 | choices=[i for i in sorted(self.alg_types) | 1234 | choices=[i for i in sorted(self.alg_types) |
1237 | if not (self.mask_edited and i in self.edited_imp)], | 1235 | if not (self.mask_edited and i in self.edited_imp)], |
1238 | style=wx.CB_READONLY) | 1236 | style=wx.CB_READONLY) |
1239 | - if self.mask_edited: | ||
1240 | - self.cb_types.SetValue(_(u'Context aware smoothing')) | ||
1241 | - self.ca_options.Enable() | ||
1242 | - else: | ||
1243 | - self.ca_options.Disable() | 1237 | + w, h = self.cb_types.GetSizeTuple() |
1244 | 1238 | ||
1239 | + icon = wx.ArtProvider.GetBitmap(wx.ART_INFORMATION, wx.ART_MESSAGE_BOX, | ||
1240 | + (h * 0.8, h * 0.8)) | ||
1241 | + self.bmp = wx.StaticBitmap(self, -1, icon) | ||
1242 | + self.bmp.SetToolTipString(_("It's not possible to use the Default method because the mask was edited")) | ||
1245 | 1243 | ||
1246 | - method_sizer = wx.BoxSizer(wx.HORIZONTAL) | ||
1247 | - method_sizer.Add(wx.StaticText(self, -1, u'Method:'), 0, | ||
1248 | - wx.EXPAND | wx.ALL, 5) | ||
1249 | - method_sizer.Add(self.cb_types, 0, wx.EXPAND) | 1244 | + self.method_sizer = wx.BoxSizer(wx.HORIZONTAL) |
1245 | + self.method_sizer.Add(wx.StaticText(self, -1, u'Method:'), 0, | ||
1246 | + wx.EXPAND | wx.ALL, 5) | ||
1247 | + self.method_sizer.Add(self.cb_types, 1, wx.EXPAND) | ||
1248 | + self.method_sizer.Add(self.bmp, 0, wx.EXPAND|wx.ALL, 5) | ||
1250 | 1249 | ||
1251 | self.main_sizer = wx.BoxSizer(wx.VERTICAL) | 1250 | self.main_sizer = wx.BoxSizer(wx.VERTICAL) |
1252 | - self.main_sizer.Add(method_sizer, 0, wx.EXPAND | wx.ALL, 5) | 1251 | + self.main_sizer.Add(self.method_sizer, 0, wx.EXPAND | wx.ALL, 5) |
1253 | self.main_sizer.Add(self.ca_options, 0, wx.EXPAND | wx.ALL, 5) | 1252 | self.main_sizer.Add(self.ca_options, 0, wx.EXPAND | wx.ALL, 5) |
1254 | 1253 | ||
1255 | self.SetSizer(self.main_sizer) | 1254 | self.SetSizer(self.main_sizer) |
1255 | + self.Layout() | ||
1256 | self.Fit() | 1256 | self.Fit() |
1257 | + | ||
1258 | + if self.mask_edited: | ||
1259 | + self.cb_types.SetValue(_(u'Context aware smoothing')) | ||
1260 | + self.ca_options.Enable() | ||
1261 | + self.method_sizer.Show(self.bmp) | ||
1262 | + else: | ||
1263 | + self.ca_options.Disable() | ||
1264 | + self.method_sizer.Hide(self.bmp) | ||
1257 | 1265 | ||
1258 | def _bind_wx(self): | 1266 | def _bind_wx(self): |
1259 | self.cb_types.Bind(wx.EVT_COMBOBOX, self._set_cb_types) | 1267 | self.cb_types.Bind(wx.EVT_COMBOBOX, self._set_cb_types) |
@@ -1296,6 +1304,10 @@ class SurfaceMethodPanel(wx.Panel): | @@ -1296,6 +1304,10 @@ class SurfaceMethodPanel(wx.Panel): | ||
1296 | if self.mask_edited: | 1304 | if self.mask_edited: |
1297 | self.cb_types.SetValue(_(u'Context aware smoothing')) | 1305 | self.cb_types.SetValue(_(u'Context aware smoothing')) |
1298 | self.ca_options.Enable() | 1306 | self.ca_options.Enable() |
1307 | + self.method_sizer.Show(self.bmp) | ||
1299 | else: | 1308 | else: |
1300 | self.cb_types.SetValue(_(u'Default')) | 1309 | self.cb_types.SetValue(_(u'Default')) |
1301 | self.ca_options.Disable() | 1310 | self.ca_options.Disable() |
1311 | + self.method_sizer.Hide(self.bmp) | ||
1312 | + | ||
1313 | + self.method_sizer.Layout() |