mirror of
https://github.com/rbalsleyMSFT/FFU.git
synced 2026-06-14 02:09:35 -06:00
Moves UI initialization logic to a new module
Extracts the UI control initialization functionality from the main core script into a dedicated module. This improves code organization and modularity. The module manifest is updated to include this new initialization module.
This commit is contained in:
@@ -0,0 +1,150 @@
|
||||
function Initialize-UIControls {
|
||||
param([PSCustomObject]$State)
|
||||
WriteLog "Initializing UI control references..."
|
||||
$window = $State.Window
|
||||
# Find all controls ONCE and store them in the state object
|
||||
$State.Controls.cmbWindowsRelease = $window.FindName('cmbWindowsRelease')
|
||||
$State.Controls.cmbWindowsVersion = $window.FindName('cmbWindowsVersion')
|
||||
$State.Controls.txtISOPath = $window.FindName('txtISOPath')
|
||||
$State.Controls.btnBrowseISO = $window.FindName('btnBrowseISO')
|
||||
$State.Controls.cmbWindowsArch = $window.FindName('cmbWindowsArch')
|
||||
$State.Controls.cmbWindowsLang = $window.FindName('cmbWindowsLang')
|
||||
$State.Controls.cmbWindowsSKU = $window.FindName('cmbWindowsSKU')
|
||||
$State.Controls.cmbMediaType = $window.FindName('cmbMediaType')
|
||||
$State.Controls.txtOptionalFeatures = $window.FindName('txtOptionalFeatures')
|
||||
$State.Controls.featuresPanel = $window.FindName('stackFeaturesContainer')
|
||||
$State.Controls.chkDownloadDrivers = $window.FindName('chkDownloadDrivers')
|
||||
$State.Controls.cmbMake = $window.FindName('cmbMake')
|
||||
$State.Controls.spMakeSection = $window.FindName('spMakeSection')
|
||||
$State.Controls.btnGetModels = $window.FindName('btnGetModels')
|
||||
$State.Controls.spModelFilterSection = $window.FindName('spModelFilterSection')
|
||||
$State.Controls.txtModelFilter = $window.FindName('txtModelFilter')
|
||||
$State.Controls.lstDriverModels = $window.FindName('lstDriverModels')
|
||||
$State.Controls.spDriverActionButtons = $window.FindName('spDriverActionButtons')
|
||||
$State.Controls.btnSaveDriversJson = $window.FindName('btnSaveDriversJson')
|
||||
$State.Controls.btnImportDriversJson = $window.FindName('btnImportDriversJson')
|
||||
$State.Controls.btnDownloadSelectedDrivers = $window.FindName('btnDownloadSelectedDrivers')
|
||||
$State.Controls.btnClearDriverList = $window.FindName('btnClearDriverList')
|
||||
$State.Controls.chkInstallOffice = $window.FindName('chkInstallOffice')
|
||||
$State.Controls.chkInstallApps = $window.FindName('chkInstallApps')
|
||||
$State.Controls.OfficePathStackPanel = $window.FindName('OfficePathStackPanel')
|
||||
$State.Controls.OfficePathGrid = $window.FindName('OfficePathGrid')
|
||||
$State.Controls.CopyOfficeConfigXMLStackPanel = $window.FindName('CopyOfficeConfigXMLStackPanel')
|
||||
$State.Controls.OfficeConfigurationXMLFileStackPanel = $window.FindName('OfficeConfigurationXMLFileStackPanel')
|
||||
$State.Controls.OfficeConfigurationXMLFileGrid = $window.FindName('OfficeConfigurationXMLFileGrid')
|
||||
$State.Controls.chkCopyOfficeConfigXML = $window.FindName('chkCopyOfficeConfigXML')
|
||||
$State.Controls.chkLatestCU = $window.FindName('chkUpdateLatestCU')
|
||||
$State.Controls.chkPreviewCU = $window.FindName('chkUpdatePreviewCU')
|
||||
$State.Controls.btnCheckUSBDrives = $window.FindName('btnCheckUSBDrives')
|
||||
$State.Controls.lstUSBDrives = $window.FindName('lstUSBDrives')
|
||||
$State.Controls.chkSelectAllUSBDrives = $window.FindName('chkSelectAllUSBDrives')
|
||||
$State.Controls.chkBuildUSBDriveEnable = $window.FindName('chkBuildUSBDriveEnable')
|
||||
$State.Controls.usbSection = $window.FindName('usbDriveSection')
|
||||
$State.Controls.chkSelectSpecificUSBDrives = $window.FindName('chkSelectSpecificUSBDrives')
|
||||
$State.Controls.usbSelectionPanel = $window.FindName('usbDriveSelectionPanel')
|
||||
$State.Controls.chkAllowExternalHardDiskMedia = $window.FindName('chkAllowExternalHardDiskMedia')
|
||||
$State.Controls.chkPromptExternalHardDiskMedia = $window.FindName('chkPromptExternalHardDiskMedia')
|
||||
$State.Controls.chkInstallWingetApps = $window.FindName('chkInstallWingetApps')
|
||||
$State.Controls.wingetPanel = $window.FindName('wingetPanel')
|
||||
$State.Controls.btnCheckWingetModule = $window.FindName('btnCheckWingetModule')
|
||||
$State.Controls.txtWingetVersion = $window.FindName('txtWingetVersion')
|
||||
$State.Controls.txtWingetModuleVersion = $window.FindName('txtWingetModuleVersion')
|
||||
$State.Controls.applicationPathPanel = $window.FindName('applicationPathPanel')
|
||||
$State.Controls.appListJsonPathPanel = $window.FindName('appListJsonPathPanel')
|
||||
$State.Controls.btnBrowseApplicationPath = $window.FindName('btnBrowseApplicationPath')
|
||||
$State.Controls.btnBrowseAppListJsonPath = $window.FindName('btnBrowseAppListJsonPath')
|
||||
$State.Controls.chkBringYourOwnApps = $window.FindName('chkBringYourOwnApps')
|
||||
$State.Controls.byoApplicationPanel = $window.FindName('byoApplicationPanel')
|
||||
$State.Controls.wingetSearchPanel = $window.FindName('wingetSearchPanel')
|
||||
$State.Controls.txtWingetSearch = $window.FindName('txtWingetSearch')
|
||||
$State.Controls.btnWingetSearch = $window.FindName('btnWingetSearch')
|
||||
$State.Controls.lstWingetResults = $window.FindName('lstWingetResults')
|
||||
$State.Controls.btnSaveWingetList = $window.FindName('btnSaveWingetList')
|
||||
$State.Controls.btnImportWingetList = $window.FindName('btnImportWingetList')
|
||||
$State.Controls.btnClearWingetList = $window.FindName('btnClearWingetList')
|
||||
$State.Controls.btnDownloadSelected = $window.FindName('btnDownloadSelected')
|
||||
$State.Controls.btnBrowseAppSource = $window.FindName('btnBrowseAppSource')
|
||||
$State.Controls.btnBrowseFFUDevPath = $window.FindName('btnBrowseFFUDevPath')
|
||||
$State.Controls.btnBrowseFFUCaptureLocation = $window.FindName('btnBrowseFFUCaptureLocation')
|
||||
$State.Controls.btnBrowseOfficePath = $window.FindName('btnBrowseOfficePath')
|
||||
$State.Controls.btnBrowseDriversFolder = $window.FindName('btnBrowseDriversFolder')
|
||||
$State.Controls.btnBrowsePEDriversFolder = $window.FindName('btnBrowsePEDriversFolder')
|
||||
$State.Controls.txtAppName = $window.FindName('txtAppName')
|
||||
$State.Controls.txtAppCommandLine = $window.FindName('txtAppCommandLine')
|
||||
$State.Controls.txtAppArguments = $window.FindName('txtAppArguments')
|
||||
$State.Controls.txtAppSource = $window.FindName('txtAppSource')
|
||||
$State.Controls.btnAddApplication = $window.FindName('btnAddApplication')
|
||||
$State.Controls.btnSaveBYOApplications = $window.FindName('btnSaveBYOApplications')
|
||||
$State.Controls.btnLoadBYOApplications = $window.FindName('btnLoadBYOApplications')
|
||||
$State.Controls.btnClearBYOApplications = $window.FindName('btnClearBYOApplications')
|
||||
$State.Controls.btnCopyBYOApps = $window.FindName('btnCopyBYOApps')
|
||||
$State.Controls.lstApplications = $window.FindName('lstApplications')
|
||||
$State.Controls.btnMoveTop = $window.FindName('btnMoveTop')
|
||||
$State.Controls.btnMoveUp = $window.FindName('btnMoveUp')
|
||||
$State.Controls.btnMoveDown = $window.FindName('btnMoveDown')
|
||||
$State.Controls.btnMoveBottom = $window.FindName('btnMoveBottom')
|
||||
$State.Controls.txtStatus = $window.FindName('txtStatus')
|
||||
$State.Controls.pbOverallProgress = $window.FindName('progressBar')
|
||||
$State.Controls.txtOverallStatus = $window.FindName('txtStatus')
|
||||
$State.Controls.cmbVMSwitchName = $window.FindName('cmbVMSwitchName')
|
||||
$State.Controls.txtVMHostIPAddress = $window.FindName('txtVMHostIPAddress')
|
||||
$State.Controls.txtCustomVMSwitchName = $window.FindName('txtCustomVMSwitchName')
|
||||
$State.Controls.txtFFUDevPath = $window.FindName('txtFFUDevPath')
|
||||
$State.Controls.txtCustomFFUNameTemplate = $window.FindName('txtCustomFFUNameTemplate')
|
||||
$State.Controls.txtFFUCaptureLocation = $window.FindName('txtFFUCaptureLocation')
|
||||
$State.Controls.txtShareName = $window.FindName('txtShareName')
|
||||
$State.Controls.txtUsername = $window.FindName('txtUsername')
|
||||
$State.Controls.chkCompactOS = $window.FindName('chkCompactOS')
|
||||
$State.Controls.chkOptimize = $window.FindName('chkOptimize')
|
||||
$State.Controls.chkAllowVHDXCaching = $window.FindName('chkAllowVHDXCaching')
|
||||
$State.Controls.chkCreateCaptureMedia = $window.FindName('chkCreateCaptureMedia')
|
||||
$State.Controls.chkCreateDeploymentMedia = $window.FindName('chkCreateDeploymentMedia')
|
||||
$State.Controls.chkCopyAutopilot = $window.FindName('chkCopyAutopilot')
|
||||
$State.Controls.chkCopyUnattend = $window.FindName('chkCopyUnattend')
|
||||
$State.Controls.chkCopyPPKG = $window.FindName('chkCopyPPKG')
|
||||
$State.Controls.chkCleanupAppsISO = $window.FindName('chkCleanupAppsISO')
|
||||
$State.Controls.chkCleanupCaptureISO = $window.FindName('chkCleanupCaptureISO')
|
||||
$State.Controls.chkCleanupDeployISO = $window.FindName('chkCleanupDeployISO')
|
||||
$State.Controls.chkCleanupDrivers = $window.FindName('chkCleanupDrivers')
|
||||
$State.Controls.chkRemoveFFU = $window.FindName('chkRemoveFFU')
|
||||
$State.Controls.txtDiskSize = $window.FindName('txtDiskSize')
|
||||
$State.Controls.txtMemory = $window.FindName('txtMemory')
|
||||
$State.Controls.txtProcessors = $window.FindName('txtProcessors')
|
||||
$State.Controls.txtVMLocation = $window.FindName('txtVMLocation')
|
||||
$State.Controls.txtVMNamePrefix = $window.FindName('txtVMNamePrefix')
|
||||
$State.Controls.cmbLogicalSectorSize = $window.FindName('cmbLogicalSectorSize')
|
||||
$State.Controls.txtProductKey = $window.FindName('txtProductKey')
|
||||
$State.Controls.txtOfficePath = $window.FindName('txtOfficePath')
|
||||
$State.Controls.txtOfficeConfigXMLFilePath = $window.FindName('txtOfficeConfigXMLFilePath')
|
||||
$State.Controls.txtDriversFolder = $window.FindName('txtDriversFolder')
|
||||
$State.Controls.txtPEDriversFolder = $window.FindName('txtPEDriversFolder')
|
||||
$State.Controls.chkCopyPEDrivers = $window.FindName('chkCopyPEDrivers')
|
||||
$State.Controls.chkUpdateLatestCU = $window.FindName('chkUpdateLatestCU')
|
||||
$State.Controls.chkUpdateLatestNet = $window.FindName('chkUpdateLatestNet')
|
||||
$State.Controls.chkUpdateLatestDefender = $window.FindName('chkUpdateLatestDefender')
|
||||
$State.Controls.chkUpdateEdge = $window.FindName('chkUpdateEdge')
|
||||
$State.Controls.chkUpdateOneDrive = $window.FindName('chkUpdateOneDrive')
|
||||
$State.Controls.chkUpdateLatestMSRT = $window.FindName('chkUpdateLatestMSRT')
|
||||
$State.Controls.chkUpdatePreviewCU = $window.FindName('chkUpdatePreviewCU')
|
||||
$State.Controls.txtApplicationPath = $window.FindName('txtApplicationPath')
|
||||
$State.Controls.txtAppListJsonPath = $window.FindName('txtAppListJsonPath')
|
||||
$State.Controls.chkInstallDrivers = $window.FindName('chkInstallDrivers')
|
||||
$State.Controls.chkCopyDrivers = $window.FindName('chkCopyDrivers')
|
||||
$State.Controls.chkCompressDriversToWIM = $window.FindName('chkCompressDriversToWIM')
|
||||
$State.Controls.chkRemoveApps = $window.FindName('chkRemoveApps')
|
||||
$State.Controls.chkRemoveUpdates = $window.FindName('chkRemoveUpdates')
|
||||
$State.Controls.chkUpdateLatestMicrocode = $window.FindName('chkUpdateLatestMicrocode')
|
||||
$State.Controls.chkDefineAppsScriptVariables = $window.FindName('chkDefineAppsScriptVariables')
|
||||
$State.Controls.appsScriptVariablesPanel = $window.FindName('appsScriptVariablesPanel')
|
||||
$State.Controls.txtAppsScriptKey = $window.FindName('txtAppsScriptKey')
|
||||
$State.Controls.txtAppsScriptValue = $window.FindName('txtAppsScriptValue')
|
||||
$State.Controls.btnAddAppsScriptVariable = $window.FindName('btnAddAppsScriptVariable')
|
||||
$State.Controls.lstAppsScriptVariables = $window.FindName('lstAppsScriptVariables')
|
||||
$State.Controls.btnRemoveSelectedAppsScriptVariables = $window.FindName('btnRemoveSelectedAppsScriptVariables')
|
||||
$State.Controls.btnClearAppsScriptVariables = $window.FindName('btnClearAppsScriptVariables')
|
||||
$State.Controls.txtDriversJsonPath = $window.FindName('txtDriversJsonPath')
|
||||
$State.Controls.btnBrowseDriversJsonPath = $window.FindName('btnBrowseDriversJsonPath')
|
||||
$State.Controls.chkUpdateADK = $window.FindName('chkUpdateADK')
|
||||
}
|
||||
|
||||
Export-ModuleMember -Function *
|
||||
Reference in New Issue
Block a user