NSIS/Examples/Modern UI/ModernUI.nsh
kichik 22f64732e1 *** empty log message ***
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@814 212acab6-be3b-0410-9dea-997c60f758d6
2002-08-29 10:31:13 +00:00

203 lines
No EOL
3.4 KiB
NSIS

;Modern UI Header File version 1.0
;Written by Joost Verburg
;See Example.nsi & Multilanguage.nsi for an example of usage
!ifndef MUI_MACROS_USED
!define MUI_MACROS_USED
!macro MUI_INTERFACE ICON UNICON CHECKS PROGRESSBAR
;User interface
Icon "${NSISDIR}\Contrib\Icons\${ICON}"
UninstallIcon "${NSISDIR}\Contrib\Icons\${UNICON}"
XPStyle On
ChangeUI all "${NSISDIR}\Contrib\UIs\modern.exe"
SetFont Tahoma 8
CheckBitmap "${NSISDIR}\Contrib\Icons\${CHECKS}"
InstallColors /windows
InstProgressFlags "${PROGRESSBAR}"
BrandingText /TRIMRIGHT
!macroend
!macro MUI_FINISHHEADER
;Finish text on the header (white rectangle)
IntOp ${CURRENTPAGE} ${CURRENTPAGE} + 1
Call SetHeader
!macroend
!macro MUI_INNERDIALOG_INIT
;Extra text elements on the inner dialogs
Push ${TEMP1}
Push ${TEMP2}
FindWindow ${TEMP1} "#32770" "" $HWNDPARENT
!macroend
!macro MUI_INNERDIALOG_START PAGE
StrCmp ${CURRENTPAGE} ${PAGE} "" done_${PAGE}
!macroend
!macro MUI_INNERDIALOG_TEXT LANGID ELEMENT TEXT
StrCmp $LANGUAGE ${LANGID} "" +3
GetDlgItem ${TEMP2} ${TEMP1} ${ELEMENT}
SendMessage ${TEMP2} ${WM_SETTEXT} 0 "${TEXT}"
!macroend
!macro MUI_INNERDIALOG_STOP PAGE
done_${PAGE}:
!macroend
!macro MUI_INNERDIALOG_END
Pop ${TEMP2}
Pop ${TEMP1}
!macroend
!macro MUI_NEXTPAGE_OUTER
Push ${TEMP1}
Push ${TEMP2}
;Set backgrounds & fonts for the outer dialog (only once)
StrCmp ${CURRENTPAGE} "" "" no_first_run
GetDlgItem ${TEMP1} $HWNDPARENT 1037
CreateFont ${TEMP2} "Tahoma" 16 1000
SendMessage ${TEMP1} ${WM_SETFONT} ${TEMP2} 0
SetStaticBkColor ${TEMP1} 0x00FFFFFF
GetDlgItem ${TEMP1} $HWNDPARENT 1038
SetStaticBkColor ${TEMP1} 0x00FFFFFF
GetDlgItem ${TEMP1} $HWNDPARENT 1034
SetStaticBkColor ${TEMP1} 0x00FFFFFF
GetDlgItem ${TEMP1} $HWNDPARENT 1039
SetStaticBkColor ${TEMP1} 0x00FFFFFF
no_first_run:
Pop ${TEMP2}
Pop ${TEMP1}
!macroend
!macro MUI_NEXTPAGE CALL
IntOp ${CURRENTPAGE} ${CURRENTPAGE} + 1
Call "${CALL}"
!macroend
!macro MUI_PREVPAGE
IntOp ${CURRENTPAGE} ${CURRENTPAGE} - 1
Call SetHeader
!macroend
!macro MUI_HEADER_INIT
Push ${TEMP1}
Push ${TEMP2}
GetDlgItem ${TEMP1} $HWNDPARENT 1037
GetDlgItem ${TEMP2} $HWNDPARENT 1038
!macroend
!macro MUI_HEADER_START PAGE
StrCmp ${CURRENTPAGE} ${PAGE} "" done_${PAGE}
!macroend
!macro MUI_HEADER_TEXT LANGID TEXT SUBTEXT
;Text on the white rectangle
StrCmp $LANGUAGE ${LANGID} "" +4
SendMessage ${TEMP1} ${WM_SETTEXT} 0 "${TEXT}"
SendMessage ${TEMP2} ${WM_SETTEXT} 0 "${SUBTEXT}"
Goto done
!macroend
!macro MUI_HEADER_STOP PAGE
done_${PAGE}:
!macroend
!macro MUI_HEADER_END
done:
Pop ${TEMP2}
Pop ${TEMP1}
!macroend
!macro MUI_DESCRIPTION_INIT
Push ${TEMP1}
FindWindow ${TEMP1} "#32770" "" $HWNDPARENT
GetDlgItem ${TEMP1} ${TEMP1} 1043
!macroend
!macro MUI_DESCRIPTION_TEXT LANGID VAR TEXT
;Set text on the Description frame
StrCmp $LANGUAGE ${LANGID} "" +4
StrCmp $0 ${VAR} "" +3
SendMessage ${TEMP1} ${WM_SETTEXT} 0 "${TEXT}"
Goto done
!macroend
!macro MUI_DESCRIPTION_END
done:
Pop ${TEMP1}
!macroend
!macro MUI_ABORTWARNING LANGID TEXT
;Warning when Cancel button is pressed
StrCmp $LANGUAGE ${LANGID} "" +3
MessageBox MB_YESNO|MB_ICONEXCLAMATION "${TEXT}" IDYES quit
Abort
!macroend
!macro MUI_ABORTWARNING_END
quit:
!macroend
!endif