~toolpart/+junk/pythoncard

« back to all changes in this revision

Viewing changes to templates/dialogs/findDialog.py

  • Committer: Bazaar Package Importer
  • Author(s): Mohammed Adnène Trojette
  • Date: 2006-11-12 17:52:13 UTC
  • mfrom: (2.1.5 feisty)
  • Revision ID: james.westby@ubuntu.com-20061112175213-tv8bnl6rtpa2qw1o
Tags: 0.8.1-8.1
* Non-maintainer upload.
* Fix path to findfiles, codeEditor and resourceEditor:
   + patch from Ernest ter Kuile <ernestjw@xs4all.nl>. (Closes: #397018)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
"""
 
3
__version__ = "$Revision: 1.2 $"
 
4
__date__ = "$Date: 2004/08/12 19:12:39 $"
 
5
"""
 
6
 
 
7
from PythonCard import dialog, model
 
8
 
 
9
class FindDialog(model.CustomDialog):
 
10
    def __init__(self, aBg, searchText='', wholeWordsOnly=0, caseSensitive=0, 
 
11
                    searchField=None, searchableFields=None):
 
12
        model.CustomDialog.__init__(self, aBg)
 
13
        
 
14
        self.parent = aBg
 
15
        
 
16
        # if some special setup is necessary, do it here
 
17
        self.components.fldFind.text = searchText
 
18
        self.components.chkMatchWholeWordOnly.checked = wholeWordsOnly
 
19
        self.components.chkMatchCase.checked = caseSensitive
 
20
        if searchableFields is None:
 
21
            self.components.popSearchField.visible = False
 
22
        else:
 
23
            searchableFields.insert(0, 'All')
 
24
            self.components.popSearchField.items = searchableFields
 
25
            if searchField is None:
 
26
                self.components.popSearchField.stringSelection = 'All'
 
27
            else:
 
28
                self.components.popSearchField.stringSelection = searchField
 
29
        self.components.fldFind.setSelection(0, len(self.components.fldFind.text))
 
30
        #self.components.fldFind.SetMark(-1, -1)
 
31
        self.components.fldFind.setFocus()
 
32
 
 
33
def findDialog(parent, searchText='', wholeWordsOnly=0, caseSensitive=0, 
 
34
                searchField=None, searchableFields=None):
 
35
    dlg = FindDialog(parent, searchText, wholeWordsOnly, caseSensitive, 
 
36
                        searchField, searchableFields)
 
37
    result = dlg.showModal()
 
38
    result.searchText= dlg.components.fldFind.text
 
39
    result.wholeWordsOnly = dlg.components.chkMatchWholeWordOnly.checked
 
40
    result.caseSensitive = dlg.components.chkMatchCase.checked
 
41
    sel = dlg.components.popSearchField.stringSelection
 
42
    if searchableFields is None or sel == 'All':
 
43
        result.searchField = None
 
44
    else:
 
45
        result.searchField = sel
 
46
    dlg.destroy()
 
47
    return result
 
48