def edit_mode(active=1,quiet=1,_self=cmd): ''' DESCRIPTION "edit_mode" switches the mouse into editing mode, if such a mode is available in the current mouse ring. ''' # legacy function if is_string(active): active=boolean_dict[boolean_sc.auto_err(active,'active')] active = int(active) if len(mouse_ring): bm = int(_cmd.get_setting(_self._COb,"button_mode")) mouse_mode = mouse_ring[bm] if active: if mouse_mode[0:10]=='two_button': if mouse_mode!='two_button_editing': mouse(action='two_button_editing',quiet=quiet,_self=_self) elif mouse_mode[0:12] == 'three_button': if mouse_mode!='three_button_editing': mouse(action='three_button_editing',quiet=quiet,_self=_self) else: if mouse_mode[0:10]=='two_button': if mouse_mode!='two_button_viewing': mouse(action='two_button_viewing',quiet=quiet,_self=_self) elif mouse_mode[0:12] == 'three_button': if mouse_mode!='three_button_viewing': mouse(action='three_button_viewing',quiet=quiet,_self=_self) return DEFAULT_SUCCESS
def edit_mode(active=1, quiet=1, _self=cmd): ''' DESCRIPTION "edit_mode" switches the mouse into editing mode, if such a mode is available in the current mouse ring. ''' # legacy function if is_string(active): active = boolean_dict[boolean_sc.auto_err(active, 'active')] active = int(active) if len(mouse_ring): bm = int(_cmd.get_setting(_self._COb, "button_mode")) mouse_mode = mouse_ring[bm] if active: if mouse_mode[0:10] == 'two_button': if mouse_mode != 'two_button_editing': mouse(action='two_button_editing', quiet=quiet, _self=_self) elif mouse_mode[0:12] == 'three_button': if mouse_mode != 'three_button_editing': mouse(action='three_button_editing', quiet=quiet, _self=_self) else: if mouse_mode[0:10] == 'two_button': if mouse_mode != 'two_button_viewing': mouse(action='two_button_viewing', quiet=quiet, _self=_self) elif mouse_mode[0:12] == 'three_button': if mouse_mode != 'three_button_viewing': mouse(action='three_button_viewing', quiet=quiet, _self=_self) return DEFAULT_SUCCESS
def mouse(action=None, quiet=1, _self=cmd): # INTERNAL ''' DESCRIPTION "mouse" cycles through the mouse modes defined in the current mouse configuration ring. USAGE mouse ''' # NOTE: PyMOL automatically runs this routine upon start-up r = DEFAULT_ERROR try: _self.lock(_self) if action == 'forward': bm = _cmd.get_setting(_self._COb, "button_mode") bm = (int(bm) + 1) % len(mouse_ring) _self.set("button_mode", str(bm), quiet=1) action = None elif action == 'backward': bm = _cmd.get_setting(_self._COb, "button_mode") bm = (int(bm) - 1) % len(mouse_ring) _self.set("button_mode", str(bm), quiet=1) action = None elif action == 'select_forward': sm = _cmd.get_setting(_self._COb, "mouse_selection_mode") sm = sm + 1 if sm > 6: sm = 0 _self.set("mouse_selection_mode", sm, quiet=1) elif action == 'select_backward': sm = _cmd.get_setting(_self._COb, "mouse_selection_mode") sm = sm - 1 if sm < 0: sm = 6 _self.set("mouse_selection_mode", sm, quiet=1) mode_list = None if action == None: bm = int(_cmd.get_setting(_self._COb, "button_mode")) if bm >= 0: bm = bm % len(mouse_ring) mode = mouse_ring[bm] _self.set("button_mode_name", mode_name_dict.get(mode, mode)) mode_list = mode_dict[mode] else: bm = (-1 - bm) % len(mode_name_list) mode = mode_name_list[bm] _self.set("button_mode_name", mode_name_dict.get(mode, mode)) mode_list = mode_dict[mode] elif action in mouse_ring: mode = action _self.set("button_mode_name", mode_name_dict.get(mode, mode)) bm = mouse_ring.index(mode) _self.set("button_mode", bm) mode_list = mode_dict[mode] elif mode_dict.has_key(action): mode = action _self.set("button_mode_name", mode_name_dict.get(mode, mode)) bm = -1 - mode_name_list.index(action) _self.set("button_mode", bm) mode_list = mode_dict[mode] if mode_list != None: kw_dict = {'_self': _self} for a in mode_list: apply(button, a, kw_dict) if not quiet: print " mouse: %s" % mode if mode[-7:] != 'editing': _self.unpick() if mode[-7:] == 'editing': _self.deselect() r = DEFAULT_SUCCESS finally: _self.unlock(r, _self) if _self._raising(r, _self): raise pymol.CmdException return r
def mouse(action=None, quiet=1, _self=cmd):# INTERNAL ''' DESCRIPTION "mouse" cycles through the mouse modes defined in the current mouse configuration ring. USAGE mouse ''' # NOTE: PyMOL automatically runs this routine upon start-up r = DEFAULT_ERROR try: _self.lock(_self) if action=='forward': bm = _cmd.get_setting(_self._COb,"button_mode") bm = (int(bm) + 1) % len(mouse_ring) _self.set("button_mode",str(bm),quiet=1) action=None elif action=='backward': bm = _cmd.get_setting(_self._COb,"button_mode") bm = (int(bm) - 1) % len(mouse_ring) _self.set("button_mode",str(bm),quiet=1) action=None elif action=='select_forward': sm = _cmd.get_setting(_self._COb,"mouse_selection_mode") sm = sm + 1 if sm>6: sm = 0 _self.set("mouse_selection_mode",sm,quiet=1) elif action=='select_backward': sm = _cmd.get_setting(_self._COb,"mouse_selection_mode") sm = sm - 1 if sm<0: sm = 6 _self.set("mouse_selection_mode",sm,quiet=1) mode_list = None if action==None: bm = int(_cmd.get_setting(_self._COb,"button_mode")) if bm>=0: bm = bm % len(mouse_ring) mode = mouse_ring[bm] _self.set("button_mode_name",mode_name_dict.get(mode,mode)) mode_list = mode_dict[mode] else: bm = (-1-bm) % len(mode_name_list) mode = mode_name_list[bm] _self.set("button_mode_name",mode_name_dict.get(mode,mode)) mode_list = mode_dict[mode] elif action in mouse_ring: mode = action _self.set("button_mode_name",mode_name_dict.get(mode,mode)) bm = mouse_ring.index(mode) _self.set("button_mode",bm) mode_list = mode_dict[mode] elif mode_dict.has_key(action): mode = action _self.set("button_mode_name",mode_name_dict.get(mode,mode)) bm = -1 - mode_name_list.index(action) _self.set("button_mode",bm) mode_list = mode_dict[mode] if mode_list!=None: kw_dict = {'_self':_self} for a in mode_list: apply(button,a,kw_dict) if not quiet: print " mouse: %s"%mode if mode[-7:]!='editing': _self.unpick() if mode[-7:]=='editing': _self.deselect() r = DEFAULT_SUCCESS finally: _self.unlock(r,_self) if _self._raising(r,_self): raise pymol.CmdException return r