Commit 16623c5b7fd2c929d0dc2ca3701f337abbfbe7eb

Authored by tfmoraes
1 parent b0622f7a

ENH: Using sizers in language selection dialog. Related to ticket #87

Showing 1 changed file with 32 additions and 51 deletions   Show diff stats
invesalius/gui/language_dialog.py
... ... @@ -30,56 +30,12 @@ class LanguageDialog(wx.Dialog):
30 30 exist chcLanguage that list language EN and PT. The language
31 31 selected is writing in the config.ini"""
32 32  
33   - def __init__(self, parent = None, startApp = None):
34   -
  33 + def __init__(self, parent=None, startApp=None):
  34 + super(LanguageDialog, self).__init__(parent, title='Language selection')
35 35 self.__TranslateMessage__()
36   -
37   - self.pre = pre = wx.PreDialog()
38   - pre.SetExtraStyle(wx.DIALOG_MODAL)
39   -
40   - pre.Create(parent, -1, 'Language selection', size = wx.Size(250, 150),
41   - pos = wx.DefaultPosition, style=wx.DEFAULT_DIALOG_STYLE)
42   - self.PostCreate(pre)
  36 + self.__init_gui()
43 37 self.Centre()
44   -
45   - icon_path = os.path.join(const.ICON_DIR, "invesalius.ico")
46   - pre.SetIcon(wx.Icon(icon_path, wx.BITMAP_TYPE_ICO))
47   -
48   - self.pnl = wx.Panel(id=-1, name='pnl',
49   - parent=pre, pos=wx.Point(0, 0), size=wx.Size(250, 160),
50   - style=wx.TAB_TRAVERSAL)
51   -
52   - self.txtMsg = wx.StaticText(id=1,
53   - label=_('Choose user interface language'),
54   - name='txtMsg', parent=self.pnl, pos=wx.Point(15,
55   - 10), size=wx.Size(200, 13), style=0)
56   -
57   - self.bxSizer = wx.BoxSizer(orient=wx.VERTICAL)
58   - self.bxSizer.AddWindow(self.pnl, 1, wx.GROW|wx.ALIGN_CENTRE)
59   -
60   - btnsizer = wx.StdDialogButtonSizer()
61   -
62   - if wx.Platform != "__WXMSW__":
63   - btn = wx.ContextHelpButton(self)
64   - btnsizer.AddButton(btn)
65   -
66   - btnsizer.SetOrientation(wx.CENTER)
67   -
68   - btn = wx.Button(self, wx.ID_OK)
69   - btn.SetDefault()
70   - btnsizer.AddButton(btn)
71   -
72   - btn = wx.Button(self, wx.ID_CANCEL)
73   - btnsizer.AddButton(btn)
74   - btnsizer.Realize()
75   -
76   - self.bxSizer.AddSizer(btnsizer, 1, wx.GROW|wx.ALIGN_CENTRE)
77   -
78   - self.__init_combobox_bitmap__()
79   -
80   - self.SetSizer(self.bxSizer)
81   -
82   -
  38 +
83 39 def __init_combobox_bitmap__(self):
84 40 """Initialize combobox bitmap"""
85 41  
... ... @@ -88,9 +44,7 @@ class LanguageDialog(wx.Dialog):
88 44 self.locales_key = i18n.GetLocales().keys()
89 45 self.os_locale = i18n.GetLocaleOS()
90 46  
91   -
92   - self.bitmapCmb = bitmapCmb = wx.combo.BitmapComboBox(self.pnl, pos=(32,34),
93   - size=(180,22), style=wx.CB_READONLY)
  47 + self.bitmapCmb = bitmapCmb = wx.combo.BitmapComboBox(self, style=wx.CB_READONLY)
94 48  
95 49 bmp_brazilian_flag = wx.Bitmap(os.path.join(const.ICON_DIR, "pt_BR.bmp"), wx.BITMAP_TYPE_BMP)
96 50 bmp_english_flag = wx.Bitmap(os.path.join(const.ICON_DIR, "en_GB.bmp"), wx.BITMAP_TYPE_BMP)
... ... @@ -108,6 +62,33 @@ class LanguageDialog(wx.Dialog):
108 62 else:
109 63 bitmapCmb.SetSelection(0)
110 64  
  65 + def __init_gui(self):
  66 + self.txtMsg = wx.StaticText(self, -1,
  67 + label=_('Choose user interface language'))
  68 +
  69 + btnsizer = wx.StdDialogButtonSizer()
  70 +
  71 + btn = wx.Button(self, wx.ID_OK)
  72 + btn.SetDefault()
  73 + btnsizer.AddButton(btn)
  74 +
  75 + btn = wx.Button(self, wx.ID_CANCEL)
  76 + btnsizer.AddButton(btn)
  77 + btnsizer.Realize()
  78 +
  79 + self.__init_combobox_bitmap__()
  80 +
  81 + sizer = wx.BoxSizer(wx.VERTICAL)
  82 + sizer.Add(self.txtMsg, 0, wx.EXPAND | wx.ALL, 5)
  83 + sizer.Add(self.bitmapCmb, 0, wx.EXPAND | wx.ALL, 5)
  84 + sizer.Add(btnsizer, 0, wx.EXPAND | wx.ALL, 5)
  85 +
  86 + sizer.Fit(self)
  87 + self.SetSizer(sizer)
  88 + self.Layout()
  89 + self.Update()
  90 + self.SetAutoLayout(1)
  91 +
111 92 def GetSelectedLanguage(self):
112 93 """Return String with Selected Language"""
113 94 return self.locales_key[self.bitmapCmb.GetSelection()]
... ...