dialogs/SearchInProjectDialog.py
changeset 1696 8043f32de7b8
parent 1571 486f94a8032c
child 1730 64d8f52bc8c8
equal deleted inserted replaced
1695:a63bb4025852 1696:8043f32de7b8
     3 
     3 
     4 # This file is part of Beremiz, a Integrated Development Environment for
     4 # This file is part of Beremiz, a Integrated Development Environment for
     5 # programming IEC 61131-3 automates supporting plcopen standard and CanFestival.
     5 # programming IEC 61131-3 automates supporting plcopen standard and CanFestival.
     6 #
     6 #
     7 # Copyright (C) 2007: Edouard TISSERANT and Laurent BESSARD
     7 # Copyright (C) 2007: Edouard TISSERANT and Laurent BESSARD
       
     8 # Copyright (C) 2017: Andrey Skvortsov <andrej.skvortzov@gmail.com>
     8 #
     9 #
     9 # See COPYING file for copyrights details.
    10 # See COPYING file for copyrights details.
    10 #
    11 #
    11 # This program is free software; you can redistribute it and/or
    12 # This program is free software; you can redistribute it and/or
    12 # modify it under the terms of the GNU General Public License
    13 # modify it under the terms of the GNU General Public License
    39             ("configuration", _("Configuration"))]
    40             ("configuration", _("Configuration"))]
    40 
    41 
    41 class SearchInProjectDialog(wx.Dialog):
    42 class SearchInProjectDialog(wx.Dialog):
    42     
    43     
    43     def __init__(self, parent):
    44     def __init__(self, parent):
    44         wx.Dialog.__init__(self, parent, title=_('Search in Project'), 
    45         wx.Dialog.__init__(self, parent, title=_('Search in Project'))
    45               size=wx.Size(600, 350))
       
    46         
    46         
    47         main_sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=3, vgap=10)
    47         main_sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=3, vgap=10)
    48         main_sizer.AddGrowableCol(0)
    48         main_sizer.AddGrowableCol(0)
    49         main_sizer.AddGrowableRow(1)
    49         main_sizer.AddGrowableRow(1)
    50         
    50         
    57         pattern_sizer.AddWindow(pattern_label, flag=wx.ALIGN_BOTTOM)
    57         pattern_sizer.AddWindow(pattern_label, flag=wx.ALIGN_BOTTOM)
    58         
    58         
    59         self.CaseSensitive = wx.CheckBox(self, label=_('Case sensitive'))
    59         self.CaseSensitive = wx.CheckBox(self, label=_('Case sensitive'))
    60         pattern_sizer.AddWindow(self.CaseSensitive, flag=wx.GROW)
    60         pattern_sizer.AddWindow(self.CaseSensitive, flag=wx.GROW)
    61         
    61         
    62         self.Pattern = wx.TextCtrl(self)
    62         self.Pattern = wx.TextCtrl(self, size=wx.Size(250,-1))
    63         self.Bind(wx.EVT_TEXT, self.FindPatternChanged, self.Pattern)
    63         self.Bind(wx.EVT_TEXT, self.FindPatternChanged, self.Pattern)
    64         pattern_sizer.AddWindow(self.Pattern, flag=wx.GROW)
    64         pattern_sizer.AddWindow(self.Pattern, flag=wx.GROW)
    65         self.Bind(wx.EVT_CHAR_HOOK, self.OnEscapeKey)
    65         self.Bind(wx.EVT_CHAR_HOOK, self.OnEscapeKey)
    66         self.RegularExpression = wx.CheckBox(self, label=_('Regular expression'))
    66         self.RegularExpression = wx.CheckBox(self, label=_('Regular expression'))
    67         pattern_sizer.AddWindow(self.RegularExpression, flag=wx.GROW)
    67         pattern_sizer.AddWindow(self.RegularExpression, flag=wx.GROW)
    73         
    73         
    74         scope_selection_sizer = wx.BoxSizer(wx.VERTICAL)
    74         scope_selection_sizer = wx.BoxSizer(wx.VERTICAL)
    75         scope_sizer.AddSizer(scope_selection_sizer, 1, border=5, 
    75         scope_sizer.AddSizer(scope_selection_sizer, 1, border=5, 
    76               flag=wx.GROW|wx.TOP|wx.LEFT|wx.BOTTOM)
    76               flag=wx.GROW|wx.TOP|wx.LEFT|wx.BOTTOM)
    77         
    77         
    78         self.WholeProject = wx.RadioButton(self, label=_('Whole Project'), 
    78         self.WholeProject = wx.RadioButton(self, label=_('Whole Project'), style=wx.RB_GROUP)
    79               size=wx.Size(0, 24), style=wx.RB_GROUP)
       
    80         self.WholeProject.SetValue(True)
    79         self.WholeProject.SetValue(True)
    81         self.Bind(wx.EVT_RADIOBUTTON, self.OnScopeChanged, self.WholeProject)
    80         self.Bind(wx.EVT_RADIOBUTTON, self.OnScopeChanged, self.WholeProject)
    82         scope_selection_sizer.AddWindow(self.WholeProject, border=5, 
    81         scope_selection_sizer.AddWindow(self.WholeProject, border=5, 
    83               flag=wx.GROW|wx.BOTTOM)
    82               flag=wx.GROW|wx.BOTTOM)
    84         
    83         
    85         self.OnlyElements = wx.RadioButton(self, 
    84         self.OnlyElements = wx.RadioButton(self, label=_('Only Elements'))
    86               label=_('Only Elements'), size=wx.Size(0, 24))
       
    87         self.Bind(wx.EVT_RADIOBUTTON, self.OnScopeChanged, self.OnlyElements)
    85         self.Bind(wx.EVT_RADIOBUTTON, self.OnScopeChanged, self.OnlyElements)
    88         self.OnlyElements.SetValue(False)
    86         self.OnlyElements.SetValue(False)
    89         scope_selection_sizer.AddWindow(self.OnlyElements, flag=wx.GROW)
    87         scope_selection_sizer.AddWindow(self.OnlyElements, flag=wx.GROW)
    90         
    88         
    91         self.ElementsList = wx.CheckListBox(self)
    89         self.ElementsList = wx.CheckListBox(self)
   108         
   106         
   109         self.SetSizer(main_sizer)
   107         self.SetSizer(main_sizer)
   110         
   108         
   111         for name, label in GetElementsChoices():
   109         for name, label in GetElementsChoices():
   112             self.ElementsList.Append(_(label))
   110             self.ElementsList.Append(_(label))
       
   111 
       
   112         self.Fit()
   113         self.infosPrev = {}
   113         self.infosPrev = {}
   114         self.criteria = {}
   114         self.criteria = {}
   115         self.Pattern.SetFocus()
   115         self.Pattern.SetFocus()
   116         self.RefreshButtonsState()
   116         self.RefreshButtonsState()
   117 
   117