Newer
Older
CVSS_3.0_GUI / node_modules / nwjs-builder-phoenix / assets / nsis / Contrib / Modern UI 2 / Pages / Welcome.nsh
root on 7 May 2019 4 KB Initial commit
  1. /*
  2.  
  3. NSIS Modern User Interface
  4. Welcome page (implemented using nsDialogs)
  5.  
  6. */
  7.  
  8. ;--------------------------------
  9. ;Page interface settings and variables
  10.  
  11. !macro MUI_WELCOMEPAGE_INTERFACE
  12.  
  13. !ifndef MUI_WELCOMEPAGE_INTERFACE
  14. !define MUI_WELCOMEPAGE_INTERFACE
  15. Var mui.WelcomePage
  16. Var mui.WelcomePage.Image
  17. Var mui.WelcomePage.Image.Bitmap
  18. Var mui.WelcomePage.Title
  19. Var mui.WelcomePage.Title.Font
  20. Var mui.WelcomePage.Text
  21. !endif
  22. !insertmacro MUI_DEFAULT MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\win.bmp"
  23. !if "${MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEFINISHPAGE_BITMAP}" == ""
  24. !error "Invalid MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEFINISHPAGE_BITMAP"
  25. !endif
  26.  
  27. !macroend
  28.  
  29.  
  30. ;--------------------------------
  31. ;Interface initialization
  32.  
  33. !macro MUI_WELCOMEPAGE_GUIINIT
  34.  
  35. !ifndef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEWELCOMEPAGE_GUINIT
  36. !define MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEWELCOMEPAGE_GUINIT
  37.  
  38. Function ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomePage.GUIInit
  39. InitPluginsDir
  40. File "/oname=$PLUGINSDIR\modern-wizard.bmp" "${MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEFINISHPAGE_BITMAP}"
  41. !ifdef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_GUIINIT
  42. Call "${MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_GUIINIT}"
  43. !endif
  44. FunctionEnd
  45. !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_GUIINIT ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomePage.GUIInit
  46.  
  47. !endif
  48.  
  49. !macroend
  50.  
  51.  
  52. ;--------------------------------
  53. ;Page declaration
  54.  
  55. !macro MUI_PAGEDECLARATION_WELCOME
  56.  
  57. !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEPAGE ""
  58. !insertmacro MUI_WELCOMEPAGE_INTERFACE
  59. !insertmacro MUI_WELCOMEPAGE_GUIINIT
  60.  
  61. !insertmacro MUI_DEFAULT MUI_WELCOMEPAGE_TITLE "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_WELCOME_INFO_TITLE)"
  62. !insertmacro MUI_DEFAULT MUI_WELCOMEPAGE_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_WELCOME_INFO_TEXT)"
  63. !insertmacro MUI_PAGE_FUNCTION_FULLWINDOW
  64.  
  65. PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}custom
  66.  
  67. PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomePre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomeLeave_${MUI_UNIQUEID}
  68.  
  69. PageExEnd
  70.  
  71. !insertmacro MUI_FUNCTION_WELCOMEPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomePre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomeLeave_${MUI_UNIQUEID}
  72.  
  73. !insertmacro MUI_UNSET MUI_WELCOMEPAGE_TITLE
  74. !insertmacro MUI_UNSET MUI_WELCOMEPAGE_TITLE_3LINES
  75. !insertmacro MUI_UNSET MUI_WELCOMEPAGE_TEXT
  76.  
  77. !macroend
  78.  
  79. !macro MUI_PAGE_WELCOME
  80.  
  81. !verbose push
  82. !verbose ${MUI_VERBOSE}
  83.  
  84. !insertmacro MUI_PAGE_INIT
  85. !insertmacro MUI_PAGEDECLARATION_WELCOME
  86.  
  87. !verbose pop
  88.  
  89. !macroend
  90.  
  91. !macro MUI_UNPAGE_WELCOME
  92.  
  93. !verbose push
  94. !verbose ${MUI_VERBOSE}
  95.  
  96. !insertmacro MUI_UNPAGE_INIT
  97. !insertmacro MUI_PAGEDECLARATION_WELCOME
  98.  
  99. !verbose pop
  100.  
  101. !macroend
  102.  
  103.  
  104. ;--------------------------------
  105. ;Page functions
  106.  
  107. !macro MUI_FUNCTION_WELCOMEPAGE PRE LEAVE
  108.  
  109. Function "${PRE}"
  110. !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
  111.  
  112. ;Create dialog
  113. nsDialogs::Create 1044
  114. Pop $mui.WelcomePage
  115. nsDialogs::SetRTL $(^RTL)
  116. SetCtlColors $mui.WelcomePage "" "${MUI_BGCOLOR}"
  117.  
  118. ;Image control
  119. ${NSD_CreateBitmap} 0u 0u 109u 193u ""
  120. Pop $mui.WelcomePage.Image
  121. !insertmacro MUI_INTERNAL_FULLWINDOW_LOADWIZARDIMAGE "${MUI_PAGE_UNINSTALLER_PREFIX}" $mui.WelcomePage.Image $PLUGINSDIR\modern-wizard.bmp $mui.WelcomePage.Image.Bitmap
  122.  
  123. ;Positiong of controls
  124.  
  125. ;Title
  126. !ifndef MUI_WELCOMEPAGE_TITLE_3LINES
  127. !define MUI_WELCOMEPAGE_TITLE_HEIGHT 28
  128. !else
  129. !define MUI_WELCOMEPAGE_TITLE_HEIGHT 38
  130. !endif
  131. ;Text
  132. ;17 = 10 (top margin) + 7 (distance between texts)
  133. !define /math MUI_WELCOMEPAGE_TEXT_TOP 17 + ${MUI_WELCOMEPAGE_TITLE_HEIGHT}
  134.  
  135. ;Title
  136. ${NSD_CreateLabel} 120u 10u 195u ${MUI_WELCOMEPAGE_TITLE_HEIGHT}u "${MUI_WELCOMEPAGE_TITLE}"
  137. Pop $mui.WelcomePage.Title
  138. SetCtlColors $mui.WelcomePage.Title "" "${MUI_BGCOLOR}"
  139. CreateFont $mui.WelcomePage.Title.Font "$(^Font)" "12" "700"
  140. SendMessage $mui.WelcomePage.Title ${WM_SETFONT} $mui.WelcomePage.Title.Font 0
  141.  
  142. ;Welcome text
  143. ${NSD_CreateLabel} 120u ${MUI_WELCOMEPAGE_TEXT_TOP}u 195u 130u "${MUI_WELCOMEPAGE_TEXT}"
  144. Pop $mui.WelcomePage.Text
  145. SetCtlColors $mui.WelcomePage.Text "" "${MUI_BGCOLOR}"
  146.  
  147. ;Show page
  148. Call ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}muiPageLoadFullWindow
  149. !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
  150. nsDialogs::Show
  151. Call ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}muiPageUnloadFullWindow
  152.  
  153. ;Delete image from memory
  154. ${NSD_FreeImage} $mui.WelcomePage.Image.Bitmap
  155.  
  156. !insertmacro MUI_UNSET MUI_WELCOMEPAGE_TITLE_HEIGHT
  157. !insertmacro MUI_UNSET MUI_WELCOMEPAGE_TEXT_TOP
  158. FunctionEnd
  159.  
  160. Function "${LEAVE}"
  161.  
  162. !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
  163.  
  164. FunctionEnd
  165.  
  166. !macroend
Buy Me A Coffee