def getButton(): tabs = get_current_ui().get_pyrevit_tabs() for tab in tabs: button = tab.find_child(EXEC_PARAMS.command_name) if button: return button return None
def update_ui(config): # Minify or unminify the ui here hidden_tabs = get_minifyui_config(config) for tab in ribbon.get_current_ui(): if tab.name in hidden_tabs: # not new state since the visible value is reverse tab.visible = not script.get_envvar(MINIFYUI_ENV_VAR)
def ui_button(self): from pyrevit.coreutils.ribbon import get_current_ui pyrvt_tabs = get_current_ui().get_pyrevit_tabs() for tab in pyrvt_tabs: button = tab.find_child(COMMAND_NAME) if button: return button return None
def config_minifyui(): this_ext_name = script.get_extension_name() hidden_tabs = get_minifyui_config() tabs = forms.SelectFromCheckBoxes.show( [TabOption(x, hidden_tabs) for x in ribbon.get_current_ui() if x.name not in this_ext_name], title='Minify UI Config:', button_name='Hide Selected Tabs in Minified Mode' ) if tabs: set_minifyui_config([x.name for x in tabs if x])
def get_button(): """Find and return current script ui button. Returns: :obj:`pyrevit.coreutils.ribbon._PyRevitRibbonButton`: ui button object """ from pyrevit.coreutils.ribbon import get_current_ui pyrvt_tabs = get_current_ui().get_pyrevit_tabs() for tab in pyrvt_tabs: button = tab.find_child(EXEC_PARAMS.command_name) if button: return button return None
def config_minifyui(config): this_ext_name = script.get_extension_name() hidden_tabs = get_minifyui_config(config) tabs = forms.SelectFromList.show( [ TabOption(x, hidden_tabs) for x in ribbon.get_current_ui() if x.name not in this_ext_name ], title='Minify UI Config', button_name='Hide Selected Tabs in Minified Mode', multiselect=True) if tabs: set_minifyui_config([x.name for x in tabs if x], config)
def get_all_buttons(): """Find and return all ui buttons matching current script command name. Sometimes tools are duplicated across extensions for user access control so this would help smart buttons to find all the loaded buttons and make icon adjustments. Returns: :obj:`list(pyrevit.coreutils.ribbon._PyRevitRibbonButton)`: list of ui button objects """ from pyrevit.coreutils.ribbon import get_current_ui pyrvt_tabs = get_current_ui().get_pyrevit_tabs() buttons = [] for tab in pyrvt_tabs: button = tab.find_child(EXEC_PARAMS.command_name) if button: buttons.append(button) return buttons
from System.Reflection import BindingFlags from pyrevit.api import AdWindows as ad from pyrevit import UI from pyrevit.coreutils import ribbon ui = ribbon.get_current_ui() rp = ad.RibbonPanel() rps = ad.RibbonPanelSource() rp.Source = rps rps.Title = 'Test Panel' t = ui.ribbon_tab('pyRevitDev') rt = t.get_rvtapi_object() rt.Panels.Add(rp) dlb = ad.RibbonButton() dlb.Name = "TestCommand" rps.Items.Add(dlb) bbb = ui.ribbon_tab('pyRevitDev').ribbon_panel('Debug').ribbon_item('Logs') brb = bbb.get_adwindows_object() brbb = brb.Clone() rps.DialogLauncher = brbb rps.Items.Add(brb) for panel in rt.Panels: if panel.Source.Title == 'Debug': panel.Source.DialogLauncher = brbb
ui_maker_params.parent_ui, sub_cmp, ui_maker_params.asm_info, ui_maker_params.create_beta_cmds)) except KeyError: logger.debug( 'Can not find create function for: {}'.format(sub_cmp)) logger.debug('UI item created by create func is: {}'.format(ui_item)) if ui_item and sub_cmp.is_container: _recursively_produce_ui_items( UIMakerParams(ui_item, sub_cmp, ui_maker_params.asm_info, ui_maker_params.create_beta_cmds)) if not EXEC_PARAMS.doc_mode: current_ui = get_current_ui() def update_pyrevit_ui(parsed_ext, ext_asm_info, create_beta=False): """Updates/Creates pyRevit ui for the given extension and provided assembly dll address. """ logger.debug('Creating/Updating ui for extension: {}'.format(parsed_ext)) _recursively_produce_ui_items( UIMakerParams(current_ui, parsed_ext, ext_asm_info, create_beta)) def cleanup_pyrevit_ui(): untouched_items = current_ui.get_unchanged_items() for item in untouched_items: if not item.is_native(): try: