smartclick.py (3375B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\carbonui\smartclick.py 2 import math 3 import logging 4 import blue 5 _logger = logging.getLogger(__name__) 6 7 def _get_ui_element_name(ui_element): 8 return getattr(ui_element, 'name', repr(ui_element)) 9 10 11 def smartclick(ui_element): 12 if not ui_element: 13 return False 14 element_name = _get_ui_element_name(ui_element) 15 try: 16 from eve.client.script.ui.shared.neocom.neocom.neocomPanelEntries import PanelEntryGroup 17 if isinstance(ui_element, PanelEntryGroup): 18 ui_element.ToggleNeocomPanel() 19 return True 20 except (ImportError, AttributeError) as exc: 21 _logger.exception('Failed smart click on PanelEntryGroup for %s: %s', element_name, exc) 22 23 try: 24 from eve.client.script.ui.shared.neocom.neocom.neocomPanelEntries import PanelEntryCmd 25 if isinstance(ui_element, PanelEntryCmd): 26 ui_element.OnClick() 27 return True 28 except (ImportError, AttributeError) as exc: 29 _logger.exception('Failed smart click on PanelEntryCmd for %s: %s', element_name, exc) 30 31 try: 32 from eve.client.script.ui.shared.neocom.neocom.neocomPanelEntries import PanelEntryBase 33 if isinstance(ui_element, PanelEntryBase): 34 ui_element.OnClick() 35 return True 36 except (ImportError, AttributeError) as exc: 37 _logger.exception('Failed smart click on PanelEntryBase for %s: %s', element_name, exc) 38 39 try: 40 from eve.client.script.ui.shared.neocom.neocom.buttons.buttonGroup import ButtonGroup 41 if isinstance(ui_element, ButtonGroup): 42 ui_element.ToggleNeocomPanel() 43 return True 44 except (ImportError, AttributeError) as exc: 45 _logger.exception('Failed smart click on ButtonGroup for %s: %s', element_name, exc) 46 47 try: 48 from eve.client.script.ui.shared.neocom.neocom.buttons.buttonWindow import ButtonWindow 49 if isinstance(ui_element, ButtonWindow): 50 ui_element.OnClickCommand() 51 return True 52 except (ImportError, AttributeError) as exc: 53 _logger.exception('Failed smart click on ButtonWindow for %s: %s', element_name, exc) 54 55 try: 56 from eve.client.script.ui.shared.neocom.neocom.buttons.baseNeocomButton import BaseNeocomButton 57 if isinstance(ui_element, BaseNeocomButton): 58 if hasattr(ui_element, 'ToggleNeocomPanel'): 59 ui_element.ToggleNeocomPanel() 60 return True 61 if hasattr(ui_element, 'OnClickCommand'): 62 ui_element.OnClickCommand() 63 return True 64 except (ImportError, AttributeError) as exc: 65 _logger.exception('Failed smart click on BaseNeocomButton for %s: %s', element_name, exc) 66 67 try: 68 from carbonui.control.button import Button 69 if isinstance(ui_element, Button) and hasattr(ui_element, 'OnClick'): 70 ui_element.OnClick() 71 return True 72 except (ImportError, AttributeError) as exc: 73 _logger.exception('Failed smart click on Button for %s: %s', element_name, exc) 74 75 if hasattr(ui_element, 'OnClick'): 76 try: 77 ui_element.OnClick() 78 return True 79 except AttributeError as exc: 80 _logger.exception('Failed calling OnClick() for %s: %s', element_name, exc) 81 82 return False