コード例 #1
0
 def style_button(file):
     return bkt.ribbon.ToggleButton(
         label=file,
         screentip="Lade " + file,
         supertip="Lade Custom-Styles aus dieser Katalog-Datei.",
         get_pressed=bkt.Callback(
             lambda: file == CustomFormatCatalog.current_file),
         on_toggle_action=bkt.Callback(
             lambda pressed: CustomFormatCatalog.read_from_config(file
                                                                  )))
コード例 #2
0
ファイル: chartlib.py プロジェクト: yanzj/bkt-toolbox
 def get_file_buttons(self):
     return [
         bkt.ribbon.Button(label="Datei öffnen und Library bearbeiten",
                           image_mso='FileSaveAsPowerPointPptx',
                           tag=self.filename,
                           on_action=bkt.Callback(ChartLib.open_file,
                                                  context=True,
                                                  current_control=True)),
         bkt.ribbon.Button(
             label="Datei erneut indizieren und Thumbnails aktualisieren",
             image_mso='AccessRefreshAllLists',
             on_action=bkt.Callback(self.reset_gallery_items, context=True))
     ]
コード例 #3
0
ファイル: tests.py プロジェクト: yanzj/bkt-toolbox
 def adjustment_edit_box(cls, prop):
     editbox = bkt.ribbon.EditBox(
         label=' ' + prop[0],
         sizeString='######',
         on_change=bkt.Callback(lambda shapes, value: map(
             lambda shape: cls.set_adjustment(shape, prop[1], value), shapes
         ),
                                shapes=True),
         get_text=bkt.Callback(
             lambda shape: cls.get_adjustment(shape, prop[1]), shape=True),
         get_enabled=bkt.Callback(lambda shapes: len(shapes) > 0,
                                  shapes=True))
     return editbox
コード例 #4
0
 def adjustment_edit_box(num):
     editbox = bkt.ribbon.EditBox(
         id='adjustment-' + str(num),
         label=' value ' + str(num),
         sizeString='#######',
         on_change=bkt.Callback(lambda shapes, value: map(
             lambda shape: Adjustments.set_adjustment(shape, num, value),
             shapes),
                                shapes=True),
         get_text=bkt.Callback(
             lambda shapes: Adjustments.get_adjustment(shapes[0], num),
             shapes=True),
         get_enabled=bkt.Callback(
             lambda shapes: Adjustments.is_enabled(shapes[0], num),
             shapes=True))
     return editbox
コード例 #5
0
    def get_styles():
        def style_button(file):
            return bkt.ribbon.ToggleButton(
                label=file,
                screentip="Lade " + file,
                supertip="Lade Custom-Styles aus dieser Katalog-Datei.",
                get_pressed=bkt.Callback(
                    lambda: file == CustomFormatCatalog.current_file),
                on_toggle_action=bkt.Callback(
                    lambda pressed: CustomFormatCatalog.read_from_config(file
                                                                         )))

        def style_list(folder):
            if os.path.exists(folder):
                return os.listdir(CustomFormatCatalog.config_folder)
            else:
                return []

        return bkt.ribbon.Menu(
            xmlns="http://schemas.microsoft.com/office/2009/07/customui",
            id=None,
            children=[
                bkt.ribbon.MenuSeparator(title="Style-Kataloge verwalten"),
            ] + [
                style_button(file)
                for file in style_list(CustomFormatCatalog.config_folder)
                if file.endswith(".json")
            ] + [
                bkt.ribbon.MenuSeparator(),
                bkt.ribbon.Button(
                    label='Neuen Style-Katalog anlegen',
                    supertip="Neuen Katalog mit definierbarem Namen anlegen.",
                    # image_mso='ModuleInsert',
                    on_action=bkt.Callback(CustomQuickEdit.create_new_style)),
            ])
コード例 #6
0
ファイル: shape_tables.py プロジェクト: yanzj/bkt-toolbox
 def __init__(self):
     self.position_gallery = PositionGallery(
         label="Tabelle in Bereich einpassen",
         description="Shape-Tabelle auf Größe des gewählten Bereichs anpassen",
         on_position_change = bkt.Callback(self.table_contentarea_fit),
         get_item_supertip = bkt.Callback(self.get_item_supertip)
     )
     self.locpin_gallery = LocpinGallery(
         id="table_alignment",
         label="Shape-Ausrichtung",
         image_mso="ObjectAlignMenu",
         supertip="Legt Ausrichtung der Shapes innerhalb der Tabellenzellen fest.",
         item_height="32",
         item_width="32",
         locpin=self.alignment_locpin,
         item_supertip="Shapes werden bei Shape-Anordnung in Tabellenzellen {} angeordnet.",
     )
コード例 #7
0
ファイル: chartlib.py プロジェクト: yanzj/bkt-toolbox
 def get_file_buttons(self, filename, show_menu_separator=True):
     return ([bkt.ribbon.MenuSeparator(
         title="Library")] if show_menu_separator else []) + [
             bkt.ribbon.Button(
                 label="Datei öffnen und Library bearbeiten",
                 image_mso='FileSaveAsPowerPointPptx',
                 tag=filename,
                 on_action=bkt.Callback(
                     self.open_file, context=True, current_control=True)),
             bkt.ribbon.Button(label="Datei erneut indizieren",
                               image_mso='AccessRefreshAllLists',
                               tag=filename,
                               on_action=bkt.Callback(
                                   self.reset_chartlib_menu_callback,
                                   context=True,
                                   current_control=True))
         ]
コード例 #8
0
ファイル: chartlib.py プロジェクト: yanzj/bkt-toolbox
 def get_dynamic_folder_menu(self, folder):
     ''' returns dynamic menu for folder. if menu unfolds, menu content is obtained by get_folder_menu '''
     basename = os.path.basename(folder)
     return bkt.ribbon.DynamicMenu(label=basename,
                                   tag=folder,
                                   get_content=bkt.Callback(
                                       self.get_folder_menu_callback,
                                       current_control=True))
コード例 #9
0
    def __init__(self, **kwargs):
        parent_id = kwargs.get('id') or ""
        my_kwargs = dict(
            label='Styles anzeigen',
            columns=6,
            image_mso='ShapeQuickStylesHome',
            show_item_label=False,
            screentip="Custom-Styles Gallerie",
            supertip=
            "Zeigt Übersicht über alle Custom-Styles im aktuellen Katalog.",
            item_height=64,
            item_width=64,
            children=[
                bkt.ribbon.Button(
                    id=parent_id + "_pickup",
                    label="Neuen Style aufnehmen",
                    supertip=
                    "Nimmt Format vom gewählten Shape neu in die Gallerie auf.",
                    image_mso="PickUpStyle",
                    on_action=bkt.Callback(CustomQuickEdit.show_pickup_window,
                                           shape=True),
                    get_enabled=bkt.apps.ppt_shapes_exactly1_selected,
                ),
                bkt.ribbon.Button(
                    id=parent_id + "_help1",
                    label="[STRG]+Klick für Bearbeiten und Löschen",
                    supertip=
                    "Bei Klick auf ein Custom-Style mit gedrückter STRG-Taste öffnet sich ein Fenster zur Bearbeitung und Löschung dieses Styles.",
                    enabled=False),
                bkt.ribbon.Button(
                    id=parent_id + "_help2",
                    label="[SHIFT]+Klick für Anlage neues Shape",
                    supertip=
                    "Bei Klick auf ein Custom-Style mit gedrückter SHIFT-Taste wird immer ein neues Shapes in gewähltem Style angelegt.",
                    enabled=False),
                bkt.ribbon.Button(
                    id=parent_id + "_help3",
                    label="Einschränkungen durch PowerPoint-Bugs",
                    supertip=
                    "Liste von funktionalen Einschränkungen durch interne PowerPoint-Bugs anzeigen",
                    image_mso="Risks",
                    on_action=bkt.Callback(CustomQuickEdit.show_caveats)),
            ])
        my_kwargs.update(kwargs)

        super(FormatLibGallery, self).__init__(**my_kwargs)
コード例 #10
0
ファイル: chartlib.py プロジェクト: yanzj/bkt-toolbox
 def get_dynamic_file_menu(self, filename):
     ''' returns dynamic menu for file. if menu unfolds, menu content is obtained by get_chartlib_menu_from_file '''
     file_basename = os.path.splitext(os.path.basename(filename))[0]
     return bkt.ribbon.DynamicMenu(label=file_basename,
                                   tag=filename,
                                   get_content=bkt.Callback(
                                       self.get_chartlib_menu_callback,
                                       current_control=True,
                                       context=True))
コード例 #11
0
ファイル: language.py プロジェクト: yanzj/bkt-toolbox
 def get_button(cls, language, idtag=""):
     return bkt.ribbon.Button(
             id = 'lang_'+language[0]+idtag,
             label=language[2],
             image=language[3],
             screentip="Sprache auf " + language[2] + " ändern",
             supertip="Setze Sprache für ausgewählten Text bzw. alle ausgewählten Shapes.\nWenn mehrere Folien ausgewählt sind, werden alle Shapes der gewählten Folien geändert.\nWenn nichts ausgewählt ist, werden alle Shapes in der Präsentation sowie die Standardsprache geändert.",
             on_action=bkt.Callback(lambda context, selection, presentation: cls.set_language(context, selection, presentation, language[1]), context=True, selection=True, presentation=True)
         )
コード例 #12
0
ファイル: info.py プロジェクト: yanzj/bkt-toolbox
 def enable(cls, context):
     if not cls.activated and bkt.config.ppt_activate_tab_on_new_shape:
         cls.context = context
         #FIXME: event is not unassigned on reload/unload of addin
         # context.app.WindowSelectionChange += cls.activate_tab_on_new_shape
         bkt.AppEvents.selection_changed += bkt.Callback(
             cls.activate_tab_on_new_shape, selection=True)
         # print("tab activator: workaround enabled")
     cls.activated = True
     return True
コード例 #13
0
    def __init__(self, **kwargs):
        '''
        attr examples: tmargin, bmargin, rmargin, lmargin
        '''

        my_kwargs = dict(
            size_string='###',
            round_cm=True,
            # convert = 'pt_to_cm',
            get_enabled=bkt.Callback(self.get_enabled, shapes=True))
        my_kwargs.update(kwargs)

        super(InnerMargin, self).__init__(**my_kwargs)
コード例 #14
0
 def get_folder_menu(self, postfix):
     return bkt.ribbon.Menu(
         xmlns="http://schemas.microsoft.com/office/2009/07/customui",
         id=None,
         children=[
             bkt.ribbon.Button(
                 id='setting_add_folder' + postfix,
                 label='Feature-Ordner hinzufügen',
                 #image_mso='Folder',
                 image_mso='ModuleInsert',
                 on_action=bkt.Callback(FolderSetup.add_folder_by_dialog)),
             bkt.ribbon.MenuSeparator()
         ] + [
             self.info_delete_button_for_folder(folder, postfix)
             for folder in bkt.config.feature_folders
         ])
コード例 #15
0
ファイル: chartlib.py プロジェクト: yanzj/bkt-toolbox
    def __init__(self, filename, copy_shapes=False, **user_kwargs):
        '''Constructor
           Initializes Gallery for chart/shape-library
        '''
        self.filename = filename
        self.items_initialized = False

        self.labels = []
        self.slide_indices = []

        parent_id = user_kwargs.get('id') or ""

        self.this_id = filename_as_ui_id(filename) + "--" + str(copy_shapes)

        # default settings
        kwargs = dict(
            #label = u"Test Gallery",
            id=self.this_id,
            label=os.path.splitext(os.path.basename(filename))[0],
            show_label=False,
            #screentip="",
            #supertip="",
            get_image=bkt.Callback(lambda: self.get_chartlib_item_image(0)),
        )

        self.copy_shapes = copy_shapes
        if self.copy_shapes:
            # shape lib settings
            kwargs.update(dict(item_height=50, item_width=50, columns=3))
        else:
            # slide lib settings
            kwargs.update(
                dict(
                    item_height=100,
                    #item_width=177, item_height=100, # 16:9
                    #item_width=133, item_height=100, # 4:3
                    columns=2))

        # user kwargs
        if len(user_kwargs) > 0:
            kwargs.update(user_kwargs)

        # initialize gallery
        super(ChartLibGallery, self).__init__(children=self.get_file_buttons(),
                                              **kwargs)
コード例 #16
0
ファイル: chartlib.py プロジェクト: yanzj/bkt-toolbox
    def get_section_menu(self, slides, offset, count):
        ''' return menu-buttons for given slide selection '''

        # control chars are removed from labels
        control_chars = dict.fromkeys(range(32))

        return [
            bkt.ribbon.Button(
                label=slides.item(idx).Shapes.Title.Textframe.TextRange.
                text[:40].translate(control_chars)
                if slides.item(idx).Shapes.Title.Textframe.TextRange.text != ""
                else "slide" + str(idx),
                tag=slides.parent.FullName + "|" + str(idx),
                on_action=bkt.Callback(self.slide_action,
                                       context=True,
                                       current_control=True))
            for idx in range(offset, offset + count)
            if slides.item(idx).shapes.hastitle != False
        ]
コード例 #17
0
innenabstand_gruppe = bkt.ribbon.Group(
    label="Textfeld Innenabstand",
    image_mso='ObjectNudgeRight',
    children=[
        bkt.ribbon.Box(children=[
            bkt.ribbon.LabelControl(
                label=u'         \u200b'), inner_margin_top,
            bkt.ribbon.LabelControl(label=u'   \u200b'),
            bkt.ribbon.Button(
                id='textFrameMargin-zero',
                label=u"=\u202F0",
                screentip="Innenabstand auf Null",
                supertip=
                "Ändere in Innenabstand des Textfelds an allen Seiten auf Null.",
                on_action=bkt.Callback(InnerMargin.set_to_0))
        ]),
        bkt.ribbon.Box(children=[
            inner_margin_left,
            inner_margin_right,
        ]),
        bkt.ribbon.Box(children=[
            bkt.ribbon.LabelControl(
                label=u'         \u200b'), inner_margin_bottom,
            bkt.ribbon.LabelControl(label=u'   \u200b'),
            bkt.ribbon.ToggleButton(
                id='textFrameMargin-equal',
                label="==",
                screentip="Einheitlicher Innenabstand",
                supertip=
                "Bei Änderung des Textfeld-Innenabstand einer Seite wird der Innenabstand aller Seiten geändert.",
コード例 #18
0
ファイル: sheets.py プロジェクト: yanzj/bkt-toolbox
blatt_gruppe = bkt.ribbon.Group(
    label="Blätter",
    image_mso="SheetInsert",
    auto_scale=True,
    children=[
        bkt.ribbon.SplitButton(
            size="large",
            children=[
                bkt.ribbon.Button(
                    id = 'toggle_hidden_sheets',
                    label="Blätter ein/ausblenden",
                    show_label=True,
                    image_mso='SheetInsert',
                    #image="toggle_hidden_sheets",
                    supertip="Alle ausgeblendeten Blätter zwischen ein- und ausblenden umschalten.\n\nSind keine Blätter ausgeblendet, werden die ausgewählten Blätter bzw. das aktuelle Blatt ausgeblendet.",
                    on_action=bkt.Callback(SheetsOps.toggle_hidden_sheets, sheets=True, selected_sheets=True),
                    get_enabled = bkt.CallbackTypes.get_enabled.dotnet_name,
                ),
                bkt.ribbon.Menu(children=[
                    bkt.ribbon.MenuSeparator(title="Ein-/Ausblenden"),
                    bkt.ribbon.Button(
                        id = 'toggle_hidden_sheets2',
                        label="Blätter ein/ausblenden",
                        show_label=True,
                        image_mso='SheetInsert',
                        #image="toggle_hidden_sheets",
                        supertip="Alle ausgeblendeten Blätter zwischen ein- und ausblenden umschalten.\n\nSind keine Blätter ausgeblendet, werden die ausgewählten Blätter bzw. das aktuelle Blatt ausgeblendet.",
                        on_action=bkt.Callback(SheetsOps.toggle_hidden_sheets, sheets=True, selected_sheets=True),
                        get_enabled = bkt.CallbackTypes.get_enabled.dotnet_name,
                    ),
                    bkt.ribbon.Button(
コード例 #19
0
ファイル: selection.py プロジェクト: yanzj/bkt-toolbox
 label="Selektion",
 image_mso="SelectCurrentRegion",
 #auto_scale=True,
 children=[
     bkt.ribbon.SplitButton(
         size='large',
         children=[
             bkt.ribbon.Button(
                 id='deselect',
                 label="Deselektieren…",
                 show_label=True,
                 image_mso='SelectCell',
                 supertip=
                 "Aktuelle Selektion um gewählten Bereich reduzieren (Komplement).",
                 on_action=bkt.Callback(SelectionOps.deselect,
                                        application=True,
                                        selection=True),
                 get_enabled=bkt.CallbackTypes.get_enabled.dotnet_name,
             ),
             bkt.ribbon.Menu(children=[
                 bkt.ribbon.Button(
                     id='deselect2',
                     label="Deselektieren…",
                     show_label=True,
                     image_mso='SelectCell',
                     supertip=
                     "Aktuelle Selektion um gewählten Bereich reduzieren (Komplement).",
                     on_action=bkt.Callback(SelectionOps.deselect,
                                            application=True,
                                            selection=True),
                     get_enabled=bkt.CallbackTypes.get_enabled.dotnet_name,
コード例 #20
0
ファイル: demo_excel.py プロジェクト: yanzj/bkt-toolbox
def get_cell_color(cell):
    return [
        cell.Interior.ThemeColor,
        round(cell.Interior.TintAndShade, 2), cell.Interior.Color
    ]


testgruppe = bkt.ribbon.Group(
    label="TESTGRUPPE",
    children=[
        bkt.ribbon.ColorGallery(
            label="Testgallery",
            size="large",
            color_helper=xllib.ColorHelper,
            on_theme_color_change=bkt.Callback(set_cell_color, cell=True),
            on_rgb_color_change=bkt.Callback(set_cell_color2, cell=True),
            get_selected_color=bkt.Callback(get_cell_color, cell=True),
        )
    ])

bkt.excel.add_tab(
    bkt.ribbon.Tab(
        id='bkt_excel_demo',
        #id_q='nsBKT:excel_toolbox_advanced',
        label=u'BKT DEMO',
        insert_before_mso="TabHome",
        get_visible=bkt.Callback(lambda: True),
        children=[
            testgruppe,
        ]))
コード例 #21
0
ファイル: demo_bkt.py プロジェクト: yanzj/bkt-toolbox

import bkt



# ==============
# = SpinnerBox =
# ==============

width_changer = bkt.Callback(lambda shapes, value: [setattr(shp, 'width', value) for shp in shapes], bkt.CallbackTypes.on_change, shapes=True)
width_getter = bkt.Callback(lambda shapes: shapes[0].width, bkt.CallbackTypes.get_text, shapes=True)

spinner_group = bkt.ribbon.Group(
    label="Spinner-Control",
    children=[
        
        
        bkt.ribbon.SpinnerBox(
            label="simple spinner for shape width",
            size_string="##########",
            # get_text and on_change are callbacks for the editbox
            get_text = width_getter,
            on_change = width_changer,
            # increment/decrement-callbacks are passed to the buttons
            increment = bkt.Callback(lambda shapes: [setattr(shp, 'width', shapes[0].width+20) for shp in shapes], shapes=True),
            decrement = bkt.Callback(lambda shapes: [setattr(shp, 'width', shapes[0].width-20) for shp in shapes], shapes=True)
        ),
        
        
        bkt.ribbon.RoundingSpinnerBox(
コード例 #22
0
    def __init__(self, idtag="", **kwargs):
        postfix = ("-" if idtag else "") + idtag

        # if (bkt.config.use_keymouse_hooks or False):
        keymouse_hook_buttons = [
            bkt.ribbon.MenuSeparator(),
            bkt.ribbon.ToggleButton(id='key-mouse-hook-toggle' + postfix,
                                    label='Key-/Mouse-Hooks',
                                    get_pressed='GetMouseKeyHookActivated',
                                    on_action='ToggleMouseKeyHookActivation')
        ]

        # else:
        # keymouse_hook_buttons = []

        def open_folder():
            from os import startfile
            bkt_folder = os.path.normpath(
                os.path.join(os.path.dirname(os.path.realpath(__file__)), "..",
                             ".."))
            if os.path.isdir(bkt_folder):
                startfile(bkt_folder)

        def open_config():
            from os import startfile
            config_filename = os.path.join(
                os.path.dirname(os.path.realpath(__file__)), "..",
                "config.txt")
            if os.path.exists(config_filename):
                os.startfile(config_filename)

        super(SettingsMenu, self).__init__(
            id='bkt-settings' + postfix,
            image='bkt_logo',
            children=[
                bkt.ribbon.Button(id='settings-website' + postfix,
                                  label="Website: bkt-toolbox.de",
                                  image_mso="HyperlinkInsert",
                                  on_action=bkt.Callback(
                                      BKTInfos.open_website)),
                bkt.ribbon.Button(id='settings-version' + postfix,
                                  label=bkt.full_version,
                                  image_mso="Info",
                                  on_action=bkt.Callback(
                                      BKTInfos.show_debug_message,
                                      context=True)),
                bkt.ribbon.MenuSeparator(),
                bkt.ribbon.DynamicMenu(
                    label='Feature-Ordner',
                    image_mso='ModuleInsert',
                    get_content=bkt.Callback(
                        lambda: self.get_folder_menu(postfix))),
                #bkt.ribbon.MenuSeparator(),
                bkt.ribbon.Button(id='settings-reload-addin' + postfix,
                                  label="Addin neu laden",
                                  image_mso="AccessRefreshAllLists",
                                  on_action=bkt.Callback(
                                      BKTReload.reload_bkt)),
                bkt.ribbon.Button(id='settings-invalidate' + postfix,
                                  label="Ribbon aktualisieren",
                                  image_mso="AccessRefreshAllLists",
                                  on_action=bkt.Callback(
                                      BKTReload.invalidate)),
                # FIXME: idQ-Referenz funktioniert nicht, control wird nicht angezeigt
                # bkt.ribbon.Button(
                #     #id='reload-addin',
                #     idQ='nsBKT:ppt__043a3c86-6596-4e3d-9d92-727b870cfbf7',
                #     label="Addin neu laden",
                #     image_mso="Refresh",
                #     visible=True
                #     #on_action=bkt.Callback(settings. )
                # ),
                #bkt.ribbon.MenuSeparator(),
                #bkt.ribbon.Button(label='Ctrl=kleine Schritte'),
                bkt.ribbon.MenuSeparator(),
                bkt.ribbon.Button(id='settings-open-folder' + postfix,
                                  label="Öffne BKT-Ordner",
                                  image_mso="Folder",
                                  on_action=bkt.Callback(open_folder)),
                bkt.ribbon.Button(id='settings-open-config' + postfix,
                                  label="Öffne config.txt",
                                  image_mso="NewNotepadTool",
                                  on_action=bkt.Callback(open_config)),
            ] + keymouse_hook_buttons,
            **kwargs)
コード例 #23
0
 def info_delete_button_for_folder(self, folder, postfix):
     return bkt.ribbon.Button(
         label=folder,
         image_mso='DeleteThisFolder',
         on_action=bkt.Callback(
             lambda context: FolderSetup.delete_folder(context, folder)))
コード例 #24
0
ファイル: demo_task_pane.py プロジェクト: yanzj/bkt-toolbox
# -*- coding: utf-8 -*-

import bkt
import bkt.taskpane
import bkt.helpers
#import logging

# ====================
# = Define callbacks =
# ====================

action_callback = bkt.Callback(
    lambda current_control: bkt.helpers.message('control clicked: id=%s' %
                                                (current_control.id)),
    current_control=True)

action_callback_header = bkt.Callback(
    lambda current_control: bkt.helpers.message(
        'control clicked: header=%s id=%s' %
        (current_control['header'], current_control.id)),
    current_control=True)

action_indexed_callback_header = bkt.Callback(
    lambda selected_item, index, current_control: bkt.helpers.message(
        'control clicked: header=%s,\nid=%s\n\nindex=%s, selected_item_id=%s' %
        (current_control['header'], current_control.id, index, selected_item)),
    current_control=True)

toggle_callback = bkt.Callback(
    lambda pressed, current_control: bkt.helpers.message(
        'toggle-button clicked: id=%s\n\npressed-state after click=%s' %
コード例 #25
0
ファイル: demo_backstage.py プロジェクト: yanzj/bkt-toolbox
import bkt

# define some default callbacks for the demo-tab
action_callback = bkt.Callback(
    lambda current_control: bkt.helpers.message('current_control clicked: label=%s,\nid=%s' % (current_control['label'], current_control['id'])),
    current_control=True)



backstage_control1 = bkt.ribbon.Tab(
        label="BKT Demo 1",
        title="BKT Demo 1 of backstage area",
        columnWidthPercent="30",
        insertAfterMso="TabInfo",
        children=[
            bkt.ribbon.FirstColumn(children=[
                bkt.ribbon.Group(label="Test Group 1", children=[
                    bkt.ribbon.PrimaryItem(children=[
                        bkt.ribbon.Menu(
                            label="Primary Item Menu",
                            image_mso="HappyFace",
                            children=[
                                bkt.ribbon.MenuGroup(
                                    label="Menu group large",
                                    item_size="large",
                                    children=[
                                        bkt.ribbon.Button(
                                            label="Test",
                                            description="Lorem ipsum",
                                            image_mso="HappyFace",
                                            on_action=action_callback,
コード例 #26
0
ファイル: demo_dialogs.py プロジェクト: yanzj/bkt-toolbox
    logging.debug("show fluent dialog")
    from dialogs import fluentdialog
    fluentdialog.show(
        System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle)


def show_mahappsdialog():
    logging.debug("show Mahapps.Metro dialog")
    from dialogs import mahapps_dialog
    mahapps_dialog.show(
        System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle)


bkt.powerpoint.add_tab(
    bkt.ribbon.Tab(label="Demo WPF dialog",
                   children=[
                       bkt.ribbon.Group(
                           label="WPF dialog",
                           children=[
                               bkt.ribbon.Button(
                                   label="WPF dialog",
                                   on_action=bkt.Callback(show_dialog)),
                               bkt.ribbon.Button(
                                   label="WPF FluentRibbon-dialog",
                                   on_action=bkt.Callback(show_fluentdialog)),
                               bkt.ribbon.Button(
                                   label="MahApps.Metro dialog",
                                   on_action=bkt.Callback(show_mahappsdialog))
                           ]),
                   ]))
コード例 #27
0
ファイル: tests.py プロジェクト: yanzj/bkt-toolbox
                                     children=[
                                         Adjustments.adjustment_edit_box(prop)
                                         for prop in Adjustments.properties
                                     ])

test_gruppe = bkt.ribbon.Group(
    label="Experimental",
    children=[
        bkt.ribbon.Button(
            id='bounding_box',
            label="BoundingBox",
            show_label=True,
            image_mso='HappyFace',
            screentip="Draw the bounding box",
            on_action=bkt.Callback(TestVisio.bounding_box,
                                   page=True,
                                   shape=True),
            get_enabled=bkt.CallbackTypes.get_enabled.dotnet_name),
        bkt.ribbon.Button(
            id='locpin_dis',
            label="Locpin Distance",
            show_label=True,
            image_mso='HappyFace',
            screentip="Calculate LocPin distance for rotated shapes",
            on_action=bkt.Callback(TestVisio.locpin_dis, shape=True),
            get_enabled=bkt.CallbackTypes.get_enabled.dotnet_name),
        bkt.ribbon.Button(
            id='clipboard_data',
            label="Clipboard Analysis",
            show_label=True,
            image_mso='HappyFace',
コード例 #28
0
calculator = Calc()

rechner_gruppe = bkt.ribbon.Group(
    label="Mini-Rechner",
    image_mso="Calculator",
    children=[
        bkt.ribbon.Button(
            id='run_eval',
            label="Neuer Mini-Rechner",
            show_label=True,
            size='large',
            image_mso='Calculator',
            screentip=
            "Zeigt einen kleines Tool zum Auswerten von Formeln und Berechnungen an an",
            on_action=bkt.Callback(calculator.show_calc, context=True),
            get_enabled=bkt.CallbackTypes.get_enabled.dotnet_name,
        ),
    ])

bkt.excel.add_tab(
    bkt.ribbon.Tab(
        id='bkt_excel_toolbox_advanced',
        #id_q='nsBKT:excel_toolbox_advanced',
        label=u'Toolbox 3/3 BETA',
        insert_before_mso="TabHome",
        get_visible=bkt.Callback(lambda: True),
        children=[
            rechner_gruppe,
        ]),
    True)
コード例 #29
0
ファイル: dev.py プロジェクト: yanzj/bkt-toolbox
            addin.Connect = True
        except Exception, e:
            bkt.console.show_message(str(e))


dev_group = bkt.ribbon.Group(
    id="bkt_dev_group",
    label="BKT Dev Options",
    image_mso="AccessRefreshAllLists",
    children=[
        bkt.ribbon.Button(
            label="Console",
            size="large",
            image_mso="WatchWindow",
            on_action=bkt.Callback(DevGroup.show_console,
                                   context=True,
                                   transaction=False),
        ),
        bkt.ribbon.Button(
            label="Show Config",
            size="large",
            image_mso="Info",
            on_action=bkt.Callback(DevGroup.show_config,
                                   context=True,
                                   transaction=False),
        ),
        bkt.ribbon.Button(
            label="Show Settings",
            size="large",
            image_mso="Info",
            on_action=bkt.Callback(DevGroup.show_settings,
コード例 #30
0
ファイル: notes.py プロジェクト: yanzj/bkt-toolbox
        bkt.settings["ppt_notes.color_theme"] = cls.color_theme
        bkt.settings["ppt_notes.color_brightness"] = cls.color_brightness

    @classmethod
    def get_color(cls):
        return [cls.color_theme, cls.color_brightness, cls.color_rgb]


notes_gruppe = bkt.ribbon.Group(
    label='Notes',
    image='noteAdd',
    children=[
        bkt.ribbon.Button(label='Notizen (+)',
                          screentip='Notiz hinzufügen',
                          image='noteAdd',
                          on_action=bkt.Callback(EditModeShapes.addNote)),
        bkt.ribbon.Button(label='Notizen (I/O)',
                          screentip='Notizen auf Folie ein-/ausblenden',
                          image='noteToggle',
                          on_action=bkt.Callback(
                              EditModeShapes.toogleNotesOnSlide)),
        bkt.ribbon.Button(label='Notizen (-)',
                          screentip='Notizen auf Folie löschen',
                          image='noteRemove',
                          on_action=bkt.Callback(
                              EditModeShapes.removeNotesOnSlide)),
        bkt.ribbon.Button(label='Alle Notizen (I/O)',
                          screentip='Alle Notizen ein-/ausblenden',
                          image='noteToggleAll',
                          on_action=bkt.Callback(
                              EditModeShapes.toggleNotesOnAllSlides)),