Esempio n. 1
0
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
Esempio n. 2
0
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)
Esempio n. 3
0
 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
Esempio n. 4
0
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])
Esempio n. 5
0
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
Esempio n. 6
0
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)
Esempio n. 7
0
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
Esempio n. 8
0
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
Esempio n. 9
0
                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: