示例#1
0
 def togle_search_in_descriptions(self, *args, **kwargs):
     self.is_search_in_descriptions = not self.is_search_in_descriptions
     ct.menu_proc(self.mi_search_in_descriptions,
                  ct.MENU_SET_CHECKED,
                  command=self.is_search_in_descriptions)
     self.last_text = None
     self.search()
示例#2
0
 def togle_fuzzy_search(self, *args, **kwargs):
     self.is_fuzzy_search = not self.is_fuzzy_search
     ct.menu_proc(self.mi_fuzzy_search,
                  ct.MENU_SET_CHECKED,
                  command=self.is_fuzzy_search)
     self.last_text = None
     self.search()
示例#3
0
    def add_menu_items(self):
        if 'cuda_snippets' in [i['tag'] for i in ct.menu_proc('text', ct.MENU_ENUM)]:
            return

        ct.menu_proc("text", ct.MENU_ADD,
                     caption='-',
                     tag='cuda_snippets'
                     )
        ct.menu_proc("text", ct.MENU_ADD,
                     caption=_('Delete snippet markers'),
                     command=self.del_markers,
                     # hotkey=hotkey,
                     tag='cuda_snippets'
                     )
示例#4
0
    def _menu_ed_lex(self, id_dlg, id_ctl, data='', info=''):
        pkg = self._get_sel_pkg()
        snips_fn, group_lexers = self._get_sel_group(pkg)

        group_lexers = set(group_lexers) if group_lexers else set()

        ### menu
        h_menu = ct.menu_proc(0, ct.MENU_CREATE)

        # fill
        app_lexs = ct.lexer_proc(ct.LEXER_GET_LEXERS, '')
        for lex in app_lexs:
            caption = '** ' + lex if lex in group_lexers else lex  # mark lexers of current snippet group
            command = lambda l=lex: self.ed.set_prop(ct.PROP_LEXER_FILE, l)
            ct.menu_proc(h_menu, ct.MENU_ADD, command=command, caption=caption)

        ct.menu_proc(h_menu, ct.MENU_SHOW)
示例#5
0
    def _menu_add_lex(self, *args, lex=None, **vargs):
        if lex is None:  # initial call: show menu
            lexs = ct.lexer_proc(ct.LEXER_GET_LEXERS, '')

            h_menu = ct.menu_proc(0, ct.MENU_CREATE)
            for lex in lexs:
                ct.menu_proc(h_menu,
                             ct.MENU_ADD,
                             command=lambda l=lex: self._menu_add_lex(lex=l),
                             caption=lex)
            ct.menu_proc(h_menu, ct.MENU_SHOW)

        else:  # add specified lexer
            p = ct.dlg_proc(self.h, ct.DLG_CTL_PROP_GET, index=self.n_lex)
            val = p['val']
            newval = lex if not val else val + ', ' + lex
            p = ct.dlg_proc(self.h,
                            ct.DLG_CTL_PROP_SET,
                            index=self.n_lex,
                            prop={'val': newval})
示例#6
0
    def __init__(self):
        self.data = None
        self.last_text = None
        self.cfg = Ini(
            os.path.join(ct.app_path(ct.APP_DIR_SETTINGS), "plugins.ini"))

        w, h = 600, 400
        self.h = ct.dlg_proc(0, ct.DLG_CREATE)
        ct.dlg_proc(
            self.h,
            ct.DLG_PROP_SET,
            prop={
                'cap': _('Search snippets'),
                'w': w,
                'h': h,
                # 'resize': False,
                'border': ct.DBORDER_SIZE,
                "keypreview": True,
                'on_key_up': self.press_key,
            })

        self.g1 = ct.dlg_proc(self.h, ct.DLG_CTL_ADD, 'panel')
        ct.dlg_proc(self.h,
                    ct.DLG_CTL_PROP_SET,
                    index=self.g1,
                    prop={
                        'name': 'g1',
                        'h': 30,
                        'a_l': ('', '['),
                        'a_r': ('', ']'),
                        'a_t': ('', '['),
                    })

        self.g2 = ct.dlg_proc(self.h, ct.DLG_CTL_ADD, 'panel')
        ct.dlg_proc(self.h,
                    ct.DLG_CTL_PROP_SET,
                    index=self.g2,
                    prop={
                        'name': 'g2',
                        'a_l': ('', '['),
                        'a_r': ('', ']'),
                        'a_t': ('g1', ']'),
                        'a_b': ('', ']'),
                    })

        self.ls = ct.dlg_proc(self.h, ct.DLG_CTL_ADD, 'listbox')
        ct.dlg_proc(self.h,
                    ct.DLG_CTL_PROP_SET,
                    index=self.ls,
                    prop={
                        'name': 'ls',
                        'p': 'g2',
                        'align': ct.ALIGN_CLIENT,
                        'sp_l': 5,
                        'sp_r': 5,
                        'sp_t': 5,
                        'on_click_dbl': self.install,
                        'on_click': self.load_description,
                    })

        self.sp = ct.dlg_proc(self.h, ct.DLG_CTL_ADD, 'splitter')
        ct.dlg_proc(self.h,
                    ct.DLG_CTL_PROP_SET,
                    index=self.sp,
                    prop={
                        'name': 'sp',
                        'p': 'g2',
                        'align': ct.ALIGN_BOTTOM,
                    })

        self.memo = ct.dlg_proc(self.h, ct.DLG_CTL_ADD, 'memo')
        ct.dlg_proc(self.h,
                    ct.DLG_CTL_PROP_SET,
                    index=self.memo,
                    prop={
                        'name': 'ls',
                        'h': 60,
                        'ex0': True,
                        'ex1': True,
                        'p': 'g2',
                        'align': ct.ALIGN_BOTTOM,
                        'sp_l': 5,
                        'sp_r': 5,
                        'sp_b': 5,
                        'tab_stop': False,
                    })

        self.b = ct.dlg_proc(self.h, ct.DLG_CTL_ADD, 'button')
        ct.dlg_proc(self.h,
                    ct.DLG_CTL_PROP_SET,
                    index=self.b,
                    prop={
                        'name': 'b',
                        'w': 32,
                        'a_l': None,
                        'a_r': ('g1', ']'),
                        'a_t': ('g1', '['),
                        'sp_a': 5,
                        'p': 'g1',
                        'cap': '=',
                        'tab_stop': False,
                        'on_change': self.menu_show
                    })

        self.edit = ct.dlg_proc(self.h, ct.DLG_CTL_ADD, 'edit')
        ct.dlg_proc(self.h,
                    ct.DLG_CTL_PROP_SET,
                    index=self.edit,
                    prop={
                        'name': 'edit',
                        'a_l': ('g1', '['),
                        'a_r': ('b', '['),
                        'a_t': ('g1', '['),
                        'sp_a': 5,
                        'p': 'g1',
                        'tab_order': 0,
                    })

        # make options
        self.is_fuzzy_search = True
        self.is_whole_word_search = False
        self.is_search_in_descriptions = False

        # make menu
        self.menu_hndl = ct.menu_proc(0, ct.MENU_CREATE)

        self.mi_fuzzy_search = ct.menu_proc(self.menu_hndl,
                                            ct.MENU_ADD,
                                            caption="Fuzzy search",
                                            command=self.togle_fuzzy_search)
        ct.menu_proc(self.mi_fuzzy_search,
                     ct.MENU_SET_CHECKED,
                     command=self.is_fuzzy_search)

        self.mi_whole_word_search = ct.menu_proc(
            self.menu_hndl,
            ct.MENU_ADD,
            caption="Whole word search",
            command=self.togle_whole_word_search)

        self.mi_search_in_descriptions = ct.menu_proc(
            self.menu_hndl,
            ct.MENU_ADD,
            caption="Search in descriptions",
            command=self.togle_search_in_descriptions)
示例#7
0
 def menu_show(self, *args, **kwargs):
     """Shows popup-menu."""
     p = ct.dlg_proc(self.h, ct.DLG_PROP_GET)
     base_point = (p["x"] + p["w"] - 190, p["y"] + 50)
     ct.menu_proc(self.menu_hndl, ct.MENU_SHOW, command=base_point)