Source code for carbonkivy.factory_registers

import os

from kivy.core.text import LabelBase
from kivy.factory import Factory

from carbonkivy.config import DATA

# Alias for the register function from Factory
[docs] register = Factory.register
""" Registers custom components to the Kivy Factory. This code registers each component within the "uix" directory to the Kivy Factory. Once registered, the components can be used without explicitly importing them elsewhere in the kvlang files. """ # Register the component with Kivy's Factory register("CodeSnippet", module="carbonkivy.uix.codesnippet") register("CodeSnippetCopyButton", module="carbonkivy.uix.codesnippet") register("CodeSnippetLayout", module="carbonkivy.uix.codesnippet") register("CAnchorLayout", module="carbonkivy.uix.anchorlayout") register("CBoxLayout", module="carbonkivy.uix.boxlayout") register("CBaseButton", module="carbonkivy.uix.button") register("CButton", module="carbonkivy.uix.button") register("CButtonCircular", module="carbonkivy.uix.button") register("CButtonDanger", module="carbonkivy.uix.button") register("CButtonGhost", module="carbonkivy.uix.button") register("CButtonIcon", module="carbonkivy.uix.button") register("CButtonLabel", module="carbonkivy.uix.button") register("CButtonPrimary", module="carbonkivy.uix.button") register("CButtonSecondary", module="carbonkivy.uix.button") register("CButtonTertiary", module="carbonkivy.uix.button") register("CCheckbox", module="carbonkivy.uix.checkbox") register("CDatatable", module="carbonkivy.uix.datatable") register("CDatePicker", module="carbonkivy.uix.datepicker") register("CDatePickerCalendar", module="carbonkivy.uix.datepicker") register("CDatePickerDayButton", module="carbonkivy.uix.datepicker") register("CDatePickerHeader", module="carbonkivy.uix.datepicker") register("CDivider", module="carbonkivy.uix.divider") register("CDropdown", module="carbonkivy.uix.dropdown") register("CFloatLayout", module="carbonkivy.uix.floatlayout") register("CGridLayout", module="carbonkivy.uix.gridlayout") register("CBaseIcon", module="carbonkivy.uix.icon") register("CIcon", module="carbonkivy.uix.icon") register("CIconCircular", module="carbonkivy.uix.icon") register("CImage", module="carbonkivy.uix.image") register("CBaseLabel", module="carbonkivy.uix.label") register("CLabel", module="carbonkivy.uix.label") register("CLabelCircular", module="carbonkivy.uix.label") register("CLabelNeutral", module="carbonkivy.uix.label") register("CLabelNeutralCircular", module="carbonkivy.uix.label") register("CLink", module="carbonkivy.uix.link") register("CLinkIcon", module="carbonkivy.uix.link") register("CLinkText", module="carbonkivy.uix.link") register("CLoadingLayout", module="carbonkivy.uix.loading") register("CLoadingIndicator", module="carbonkivy.uix.loading") register("CModal", module="carbonkivy.uix.modal") register("CModalBody", module="carbonkivy.uix.modal") register("CModalBodyContent", module="carbonkivy.uix.modal") register("CModalCloseButton", module="carbonkivy.uix.modal") register("CModalFooter", module="carbonkivy.uix.modal") register("CModalHeader", module="carbonkivy.uix.modal") register("CModalHeaderLabel", module="carbonkivy.uix.modal") register("CModalHeaderTitle", module="carbonkivy.uix.modal") register("CModalLayout", module="carbonkivy.uix.modal") register("CBaseNotification", module="carbonkivy.uix.notification") register("CNotification", module="carbonkivy.uix.notification") register("CNotificationInline", module="carbonkivy.uix.notification") register("CNotificationToast", module="carbonkivy.uix.notification") register("CNotificationCloseButton", module="carbonkivy.uix.notification") register("CRadioButton", module="carbonkivy.uix.radio") register("CRadioButtonLabel", module="carbonkivy.uix.radio") register("CRadioGroup", module="carbonkivy.uix.radio") register("CRadioGroupHelperText", module="carbonkivy.uix.radio") register("CRadioGroupLabel", module="carbonkivy.uix.radio") register("CRadioGroupLayout", module="carbonkivy.uix.radio") register("CRadioItem", module="carbonkivy.uix.radio") register("CRadioItemLabelNeutral", module="carbonkivy.uix.radio") register("CRelativeLayout", module="carbonkivy.uix.relativelayout") register("CScreen", module="carbonkivy.uix.screen") register("CScreenManager", module="carbonkivy.uix.screenmanager") register("CScrollView", module="carbonkivy.uix.scrollview") register("CSelectionLayout", module="carbonkivy.uix.selectionlayout") register("CStackLayout", module="carbonkivy.uix.stacklayout") register("CTab", module="carbonkivy.uix.tab") register("CTabHeader", module="carbonkivy.uix.tab") register("CTabHeaderIcon", module="carbonkivy.uix.tab") register("CTabHeaderItem", module="carbonkivy.uix.tab") register("CTabHeaderItemLayout", module="carbonkivy.uix.tab") register("CTabHeaderPrimaryText", module="carbonkivy.uix.tab") register("CTabHeaderSecondaryText", module="carbonkivy.uix.tab") register("CTabLayout", module="carbonkivy.uix.tab") register("CTabManager", module="carbonkivy.uix.tab") register("CTextInput", module="carbonkivy.uix.textinput") register("CTextInputLayout", module="carbonkivy.uix.textinput") register("CTextInputLabel", module="carbonkivy.uix.textinput") register("CTextInputHelperText", module="carbonkivy.uix.textinput") register("CTextInputTrailingIconButton", module="carbonkivy.uix.textinput") register("CToggle", module="carbonkivy.uix.toggle") register("CToggletip", module="carbonkivy.uix.toggletip") register("CTooltip", module="carbonkivy.uix.tooltip") register("FocusContainer", module="carbonkivy.uix.focuscontainer") register("UIShell", module="carbonkivy.uix.shell") register("UIShellButton", module="carbonkivy.uix.shell") register("UIShellHeader", module="carbonkivy.uix.shell") register("UIShellHeaderName", module="carbonkivy.uix.shell") register("UIShellHeaderMenuButton", module="carbonkivy.uix.shell") register("UIShellLeftPanel", module="carbonkivy.uix.shell") register("UIShellLayout", module="carbonkivy.uix.shell") register("UIShellPanelLayout", module="carbonkivy.uix.shell") register("UIShellPanelSelectionLayout", module="carbonkivy.uix.shell") register("UIShellRightPanel", module="carbonkivy.uix.shell") # Register the behavior with Kivy's Factory register("AdaptiveBehavior", module="carbonkivy.behaviors.adaptive_behavior") register( "BackgroundColorBehaviorCircular", module="carbonkivy.behaviors.background_color_behavior", ) register( "BackgroundColorBehaviorRectangular", module="carbonkivy.behaviors.background_color_behavior", ) register("ElevationBehavior", module="carbonkivy.behaviors.elevation_behavior") register( "HierarchicalLayerBehavior", module="carbonkivy.behaviors.hierarchical_layer_behavior", ) register("HoverBehavior", module="carbonkivy.behaviors.hover_behavior") register("StateFocusBehavior", module="carbonkivy.behaviors.state_focus_behavior") # Alias for the register function from Factory
[docs] font_register = LabelBase.register
""" Registers custom fonts to the Kivy LabelBase. Once registered, the fonts can be used without explicitly importing them elsewhere in the kvlang files. """ # Register the font with the LabelBase font_register("cicon", os.path.join(DATA, "Icons", "carbondesignicons.ttf"))
[docs] ibmplexsansregular = os.path.join( DATA, "IBMPlex", "IBM_Plex_Sans", "static", "IBMPlexSans-Regular.ttf" )
[docs] ibmplexsansbold = os.path.join( DATA, "IBMPlex", "IBM_Plex_Sans", "static", "IBMPlexSans-Bold.ttf" )
[docs] ibmplexsansitalic = os.path.join( DATA, "IBMPlex", "IBM_Plex_Sans", "static", "IBMPlexSans-Italic.ttf" )
[docs] ibmplexsansbolditalic = os.path.join( DATA, "IBMPlex", "IBM_Plex_Sans", "static", "IBMPlexSans-BoldItalic.ttf" )
font_register( "ibmplexsans", fn_regular=ibmplexsansregular, fn_bold=ibmplexsansbold, fn_italic=ibmplexsansitalic, fn_bolditalic=ibmplexsansbolditalic, )