home *** CD-ROM | disk | FTP | other *** search
- /*
-
- NSIS Modern User Interface
- Support code for all pages
-
- */
-
- ;--------------------------------
- ;Page initialization
-
- !macro MUI_PAGE_INIT
-
- ;Include interface settings in neccesary
- !insertmacro MUI_INTERFACE
-
- ;Define settings for installer page
- !insertmacro MUI_UNSET MUI_PAGE_UNINSTALLER
- !insertmacro MUI_UNSET MUI_PAGE_UNINSTALLER_PREFIX
- !insertmacro MUI_UNSET MUI_PAGE_UNINSTALLER_FUNCPREFIX
-
- !insertmacro MUI_SET MUI_PAGE_UNINSTALLER_PREFIX ""
- !insertmacro MUI_SET MUI_PAGE_UNINSTALLER_FUNCPREFIX ""
-
- ;Generate unique ID
- !insertmacro MUI_UNSET MUI_UNIQUEID
- !define MUI_UNIQUEID ${__LINE__}
-
- !macroend
-
- !macro MUI_UNPAGE_INIT
-
- ;Include interface settings
- !insertmacro MUI_INTERFACE
-
- ;Define prefixes for uninstaller page
- !insertmacro MUI_SET MUI_UNINSTALLER ""
-
- !insertmacro MUI_SET MUI_PAGE_UNINSTALLER ""
- !insertmacro MUI_SET MUI_PAGE_UNINSTALLER_PREFIX "UN"
- !insertmacro MUI_SET MUI_PAGE_UNINSTALLER_FUNCPREFIX "un."
-
- ;Generate unique ID
- !insertmacro MUI_UNSET MUI_UNIQUEID
- !define MUI_UNIQUEID ${__LINE__}
-
- !macroend
-
-
- ;--------------------------------
- ;Header text for standard MUI page
-
- !macro MUI_HEADER_TEXT_PAGE TEXT SUBTEXT
-
- !ifdef MUI_PAGE_HEADER_TEXT & MUI_PAGE_HEADER_SUBTEXT
- !insertmacro MUI_HEADER_TEXT "${MUI_PAGE_HEADER_TEXT}" "${MUI_PAGE_HEADER_SUBTEXT}"
- !else ifdef MUI_PAGE_HEADER_TEXT
- !insertmacro MUI_HEADER_TEXT "${MUI_PAGE_HEADER_TEXT}" "${SUBTEXT}"
- !else ifdef MUI_PAGE_HEADER_SUBTEXT
- !insertmacro MUI_HEADER_TEXT "${TEXT}" "${MUI_PAGE_HEADER_SUBTEXT}"
- !else
- !insertmacro MUI_HEADER_TEXT "${TEXT}" "${SUBTEXT}"
- !endif
-
- !insertmacro MUI_UNSET MUI_PAGE_HEADER_TEXT
- !insertmacro MUI_UNSET MUI_PAGE_HEADER_SUBTEXT
-
- !macroend
-
-
- ;--------------------------------
- ;Header text for custom page
-
- !macro MUI_HEADER_TEXT TEXT SUBTEXT ;Called from script
-
- !verbose push
- !verbose ${MUI_VERBOSE}
-
- !ifdef MUI_HEADER_TRANSPARENT_TEXT
- LockWindow on
- !endif
-
- SendMessage $mui.Header.Text ${WM_SETTEXT} 0 "STR:${TEXT}"
- SendMessage $mui.Header.SubText ${WM_SETTEXT} 0 "STR:${SUBTEXT}"
-
- !ifdef MUI_HEADER_TRANSPARENT_TEXT
- LockWindow off
- !endif
-
- !verbose pop
-
- !macroend
-
-
- ;--------------------------------
- ;Custom page functions
-
- !macro MUI_PAGE_FUNCTION_CUSTOM TYPE
-
- !ifdef MUI_PAGE_CUSTOMFUNCTION_${TYPE}
- Call "${MUI_PAGE_CUSTOMFUNCTION_${TYPE}}"
- !undef MUI_PAGE_CUSTOMFUNCTION_${TYPE}
- !endif
-
- !macroend
-
-
- ;--------------------------------
- ;Support for full window pages (like welcome/finish page)
-
- !macro MUI_PAGE_FUNCTION_FULLWINDOW
-
- !ifndef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_FULLWINDOW
- !define MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_FULLWINDOW
-
- Function ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}muiPageLoadFullWindow
-
- LockWindow on
-
- ;The branding text needs to be hidden because the full windows page
- ;overlaps with it.
- ShowWindow $mui.Branding.Background ${SW_HIDE}
- ShowWindow $mui.Branding.Text ${SW_HIDE}
-
- ;The texts need to be hidden because otherwise they may show through
- ;the page above when the Alt key is pressed.
- ShowWindow $mui.Header.Text ${SW_HIDE}
- ShowWindow $mui.Header.SubText ${SW_HIDE}
- ShowWindow $mui.Header.Image ${SW_HIDE}
-
- ;Show line below full width of page
- ShowWindow $mui.Line.Standard ${SW_HIDE}
- ShowWindow $mui.Line.FullWindow ${SW_NORMAL}
-
- LockWindow off
-
- FunctionEnd
-
- Function ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}muiPageUnloadFullWindow
-
- ;Set everything back to normal again
-
- LockWindow on
-
- ShowWindow $mui.Branding.Background ${SW_NORMAL}
- ShowWindow $mui.Branding.Text ${SW_NORMAL}
-
- ShowWindow $mui.Header.Text ${SW_NORMAL}
- ShowWindow $mui.Header.SubText ${SW_NORMAL}
- ShowWindow $mui.Header.Image ${SW_NORMAL}
-
- ShowWindow $mui.Line.Standard ${SW_NORMAL}
- ShowWindow $mui.Line.FullWindow ${SW_HIDE}
-
- LockWindow off
-
- FunctionEnd
-
- !endif
-
- !macroend
-