/*਍ഀ ਍ഀ NSIS Modern User Interface਍ഀ Components page਍ഀ ਍ഀ */਍ഀ ਍ഀ ;--------------------------------਍ഀ ;Page interface settings and variables਍ഀ ਍ഀ !macro MUI_COMPONENTSPAGE_INTERFACE਍ഀ ਍ഀ !ifndef MUI_COMPONENTSPAGE_INTERFACE਍ഀ !define MUI_COMPONENTSPAGE_INTERFACE਍ഀ Var mui.ComponentsPage਍ഀ ਍ഀ Var mui.ComponentsPage.Text਍ഀ Var mui.ComponentsPage.InstTypesText਍ഀ Var mui.ComponentsPage.ComponentsText ਍ഀ ਍ഀ Var mui.ComponentsPage.InstTypes਍ഀ Var mui.ComponentsPage.Components ਍ഀ ਍ഀ Var mui.ComponentsPage.DescriptionTitle਍ഀ Var mui.ComponentsPage.DescriptionText.Info਍ഀ Var mui.ComponentsPage.DescriptionText਍ഀ ਍ഀ Var mui.ComponentsPage.SpaceRequired਍ഀ ਍ഀ !insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_CHECKBITMAP "${NSISDIR}\Contrib\Graphics\Checks\modern.bmp"਍ഀ ਍ഀ !insertmacro MUI_DEFAULT MUI_UI_COMPONENTSPAGE_SMALLDESC "${NSISDIR}\Contrib\UIs\modern_smalldesc.exe"਍ഀ !insertmacro MUI_DEFAULT MUI_UI_COMPONENTSPAGE_NODESC "${NSISDIR}\Contrib\UIs\modern_nodesc.exe"਍ഀ ਍ഀ ;Apply settings਍ഀ ਍ഀ !ifdef MUI_COMPONENTSPAGE_SMALLDESC਍ഀ ChangeUI IDD_SELCOM "${MUI_UI_COMPONENTSPAGE_SMALLDESC}"਍ഀ !else ifdef MUI_COMPONENTSPAGE_NODESC਍ഀ ChangeUI IDD_SELCOM "${MUI_UI_COMPONENTSPAGE_NODESC}"਍ഀ !endif਍ഀ ਍ഀ CheckBitmap "${MUI_COMPONENTSPAGE_CHECKBITMAP}" ਍ഀ ਍ഀ !endif਍ഀ ਍ഀ !macroend਍ഀ ਍ഀ ਍ഀ ;--------------------------------਍ഀ ;Page declaration਍ഀ ਍ഀ !macro MUI_PAGEDECLARATION_COMPONENTS਍ഀ ਍ഀ !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}COMPONENTSPAGE ""਍ഀ !insertmacro MUI_COMPONENTSPAGE_INTERFACE਍ഀ ਍ഀ !insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_TOP ""਍ഀ !insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_COMPLIST ""਍ഀ !insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_INSTTYPE ""਍ഀ !insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE "$(MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE)"਍ഀ !insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO "$(MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO)"਍ഀ ਍ഀ PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}components਍ഀ ਍ഀ PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsLeave_${MUI_UNIQUEID}਍ഀ ਍ഀ Caption " "਍ഀ ਍ഀ ComponentText "${MUI_COMPONENTSPAGE_TEXT_TOP}" "${MUI_COMPONENTSPAGE_TEXT_INSTTYPE}" "${MUI_COMPONENTSPAGE_TEXT_COMPLIST}"਍ഀ ਍ഀ PageExEnd਍ഀ ਍ഀ !insertmacro MUI_FUNCTION_COMPONENTSPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsLeave_${MUI_UNIQUEID}਍ഀ ਍ഀ !undef MUI_COMPONENTSPAGE_TEXT_TOP਍ഀ !undef MUI_COMPONENTSPAGE_TEXT_COMPLIST਍ഀ !undef MUI_COMPONENTSPAGE_TEXT_INSTTYPE਍ഀ !insertmacro MUI_UNSET MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE਍ഀ !insertmacro MUI_UNSET MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO਍ഀ ਍ഀ !macroend਍ഀ ਍ഀ !macro MUI_PAGE_COMPONENTS਍ഀ ਍ഀ !verbose push਍ഀ !verbose ${MUI_VERBOSE}਍ഀ ਍ഀ !insertmacro MUI_PAGE_INIT਍ഀ !insertmacro MUI_PAGEDECLARATION_COMPONENTS਍ഀ ਍ഀ !verbose pop਍ഀ ਍ഀ !macroend਍ഀ ਍ഀ !macro MUI_UNPAGE_COMPONENTS਍ഀ ਍ഀ !verbose push਍ഀ !verbose ${MUI_VERBOSE}਍ഀ ਍ഀ !insertmacro MUI_UNPAGE_INIT਍ഀ !insertmacro MUI_PAGEDECLARATION_COMPONENTS਍ഀ ਍ഀ !verbose pop਍ഀ ਍ഀ !macroend਍ഀ ਍ഀ ਍ഀ ;--------------------------------਍ഀ ;Page functions਍ഀ ਍ഀ !macro MUI_FUNCTION_COMPONENTSPAGE PRE SHOW LEAVE਍ഀ ਍ഀ Function "${PRE}"਍ഀ !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE਍ഀ !insertmacro MUI_HEADER_TEXT_PAGE $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_COMPONENTS_TITLE) $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_COMPONENTS_SUBTITLE)਍ഀ FunctionEnd਍ഀ ਍ഀ Function "${SHOW}"਍ഀ ਍ഀ ;Get control hanldes਍ഀ FindWindow $mui.ComponentsPage "#32770" "" $HWNDPARENT਍ഀ GetDlgItem $mui.ComponentsPage.Text $mui.ComponentsPage 1006਍ഀ GetDlgItem $mui.ComponentsPage.InstTypesText $mui.ComponentsPage 1021਍ഀ GetDlgItem $mui.ComponentsPage.ComponentsText $mui.ComponentsPage 1022਍ഀ GetDlgItem $mui.ComponentsPage.InstTypes $mui.ComponentsPage 1017਍ഀ GetDlgItem $mui.ComponentsPage.Components $mui.ComponentsPage 1032਍ഀ GetDlgItem $mui.ComponentsPage.DescriptionTitle $mui.ComponentsPage 1042਍ഀ GetDlgItem $mui.ComponentsPage.DescriptionText $mui.ComponentsPage 1043਍ഀ GetDlgItem $mui.ComponentsPage.SpaceRequired $mui.ComponentsPage 1023 ਍ഀ ਍ഀ ;Default text in description textbox਍ഀ SendMessage $mui.ComponentsPage.DescriptionTitle ${WM_SETTEXT} 0 "STR:${MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE}"਍ഀ EnableWindow $mui.ComponentsPage.DescriptionText 0਍ഀ SendMessage $mui.ComponentsPage.DescriptionText ${WM_SETTEXT} 0 "STR:${MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO}"਍ഀ ਍ഀ StrCpy $mui.ComponentsPage.DescriptionText.Info "${MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO}" ;Text for current components page਍ഀ ਍ഀ !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW਍ഀ ਍ഀ FunctionEnd਍ഀ ਍ഀ Function "${LEAVE}"਍ഀ ਍ഀ !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE਍ഀ ਍ഀ FunctionEnd਍ഀ ਍ഀ !macroend਍ഀ ਍ഀ ਍ഀ ;--------------------------------਍ഀ ;Script functions for components descriptions਍ഀ ਍ഀ !macro MUI_DESCRIPTION_BEGIN਍ഀ ਍ഀ ${if} $0 == -1਍ഀ ;No mouse hover over component in list਍ഀ SendMessage $mui.ComponentsPage.DescriptionText ${WM_SETTEXT} 0 "STR:"਍ഀ EnableWindow $mui.ComponentsPage.DescriptionText 0਍ഀ SendMessage $mui.ComponentsPage.DescriptionText ${WM_SETTEXT} 0 "STR:$mui.ComponentsPage.DescriptionText.Info"਍ഀ ਍ഀ !macroend਍ഀ ਍ഀ !macro MUI_DESCRIPTION_TEXT VAR TEXT਍ഀ ਍ഀ !verbose push਍ഀ !verbose ${MUI_VERBOSE}਍ഀ ਍ഀ ${elseif} $0 == ${VAR}਍ഀ SendMessage $mui.ComponentsPage.DescriptionText ${WM_SETTEXT} 0 "STR:"਍ഀ EnableWindow $mui.ComponentsPage.DescriptionText 1਍ഀ SendMessage $mui.ComponentsPage.DescriptionText ${WM_SETTEXT} 0 "STR:${TEXT}"਍ഀ ਍ഀ !verbose pop਍ഀ ਍ഀ !macroend਍ഀ ਍ഀ !macro MUI_DESCRIPTION_END਍ഀ ਍ഀ !verbose push਍ഀ !verbose ${MUI_VERBOSE}਍ഀ ਍ഀ ${endif}਍ഀ ਍ഀ !verbose pop਍ഀ ਍ഀ !macroend਍ഀ ਍ഀ !macro MUI_FUNCTION_DESCRIPTION_BEGIN਍ഀ ਍ഀ !verbose push਍ഀ !verbose ${MUI_VERBOSE}਍ഀ ਍ഀ Function .onMouseOverSection਍ഀ !insertmacro MUI_DESCRIPTION_BEGIN਍ഀ ਍ഀ !verbose pop਍ഀ ਍ഀ !macroend਍ഀ ਍ഀ !macro MUI_FUNCTION_DESCRIPTION_END਍ഀ ਍ഀ !verbose push਍ഀ !verbose ${MUI_VERBOSE}਍ഀ ਍ഀ !insertmacro MUI_DESCRIPTION_END਍ഀ !ifdef MUI_CUSTOMFUNCTION_ONMOUSEOVERSECTION਍ഀ Call "${MUI_CUSTOMFUNCTION_ONMOUSEOVERSECTION}"਍ഀ !endif਍ഀ FunctionEnd਍ഀ ਍ഀ !verbose pop਍ഀ ਍ഀ !macroend਍ഀ ਍ഀ !macro MUI_UNFUNCTION_DESCRIPTION_BEGIN਍ഀ ਍ഀ !verbose push਍ഀ !verbose ${MUI_VERBOSE}਍ഀ ਍ഀ Function un.onMouseOverSection਍ഀ !insertmacro MUI_DESCRIPTION_BEGIN਍ഀ ਍ഀ !verbose pop਍ഀ ਍ഀ !macroend਍ഀ ਍ഀ !macro MUI_UNFUNCTION_DESCRIPTION_END਍ഀ ਍ഀ !verbose push਍ഀ !verbose ${MUI_VERBOSE}਍ഀ ਍ഀ !insertmacro MUI_DESCRIPTION_END਍ഀ !ifdef MUI_CUSTOMFUNCTION_UNONMOUSEOVERSECTION਍ഀ Call "${MUI_CUSTOMFUNCTION_UNONMOUSEOVERSECTION}"਍ഀ !endif਍ഀ FunctionEnd਍ഀ ਍ഀ !verbose pop਍ഀ ਍ഀ !macroend਍ഀ