Modern UI 1.63

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2253 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
joostverburg 2003-03-09 18:55:57 +00:00
parent 71f7bce3cc
commit 3c05425123
18 changed files with 209 additions and 61 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View file

@ -1,6 +1,10 @@
NSIS Modern User Interface - VERSION HISTORY
1.62b - March 6, 2003
1.63 - March 9, 2003
* Support for a bitmap in the wizard header
* New defines to change the description area
* MUI_SYSTEM inserted automatically
* Easier to customize resouce files
* New system for custom functions
* New InstallOptions macro's that do not remove the return value from
the stack

View file

@ -152,6 +152,13 @@ follow these steps:</p>
Show the license page.</p>
<p class="text"><span class="bold">MUI_COMPONENTSPAGE</span><br />
Show the component selection page.</p>
<div class="margin">
<p class="text"><span class="bold">MUI_COMPONENTSPAGE_SMALLDESC</span><br />
A small description area on the bottom of the page. Use this layout
if you have a lot of sections and don't need large descriptions.</p>
<p class="text"><span class="bold">MUI_COMPONENTSPAGE_NODESC</span><br />
No description area.</p>
</div>
<p class="text"><span class="bold">MUI_DIRECTORYPAGE</span><br />
Show the directory selection page.</p>
<p class="text"><span class="bold">MUI_STARTMENUPAGE</span><br />
@ -230,11 +237,11 @@ follow these steps:</p>
</div>
<p class="subheader">4. Define interface settings (optional)</p>
<p class="text">You can also change the settings of the interface by using defines:</p>
<pre class="margin">!define MUI_UI "${NSISDIR}\Contrib\UIs\modern2.exe"</pre>
<pre class="margin">!define MUI_ICON "myicon.ico"</pre>
<p class="text">If you don't define a setting, the default will be used.</p>
<p class="text">The following settings are available: <i>(default values)</i></p>
<p class="text"><span class="bold">MUI_UI</span> <i>(${NSISDIR}\Contrib\UIs\modern.exe)</i><br />
The interface file with the dialog resources.</p>
The interface file with the dialog resources. Change this if you have made your own customized UI.</p>
<p class="text"><span class="bold">MUI_ICON</span> <i>(${NSISDIR}\Contrib\Icons\modern-install.ico)</i><br />
The icon of the installer.</p>
<p class="text"><span class="bold">MUI_UNICON</span> <i>(${NSISDIR}\Contrib\Icons\modern-uninstall.ico)</i><br />
@ -252,7 +259,16 @@ follow these steps:</p>
<p class="text"><span class="bold">MUI_INSTALLCOLORS</span> <i>(/windows)</i><br />
The colors of the details screen, hexadecimal RRGGBB. (&quot;foreground&quot; &quot;background&quot;)</p>
<p class="text"><span class="bold">MUI_PROGRESSBAR</span> <i>(smooth)</i><br />
The style of the progress bar (&quot;colored&quot; to use the MUI_INSTALLCOLORS or &quot;&quot; for a old-school windows look).</p>
The style of the progress bar (&quot;colored&quot; to use the MUI_INSTALLCOLORS or &quot;&quot; for an old-school
windows look).</p>
<p class="text"><span class="bold">MUI_HEADERBITMAP</span> <i>(not defined)</i><br />
Bitmap to display in the white header. With the default DPI, a bitmap with a size 150x57 won't have to be resized.
An example of a header bitmap is ${NSISDIR}\Contrib\Icons\modern-header.bmp, but can also make one with your own
logo.</p>
<div class="margin">
<p class="text"><span class="bold">MUI_HEADERBITMAP_RIGHT</span> <i>(not defined)</i><br />
Put the header bitmap on the right side of the header instead of the left side.</p>
</div>
<p class="text"><span class="bold">MUI_SPECIALINI</span> <i>(${NSISDIR}\Contrib\Modern UI\ioSpecial.ini)</i><br />
Install Options INI File for the Welcome and Finish page.</p>
<p class="text"><span class="bold">MUI_SPECIALBITMAP</span> <i>(${NSISDIR}\Contrib\Icons\modern-wizard.bmp)</i><br />
@ -266,13 +282,11 @@ follow these steps:</p>
Modern UI, such as the .onGUIInit function and the Page function, create your
own function and let the Modern UI functions call them..</p>
<p class="text"><a href="#customFunctions">More info...</a></p>
<p class="subheader">7. Insert the MUI_SYSTEM macro</p>
<pre class="margin">!insertmacro MUI_SYSTEM</pre>
<p class="subheader">8. Insert custom pages (optional)</p>
<p class="subheader">7. Insert custom pages (optional)</p>
<p class="text">If you want to use custom pages (define MUI_CUSTOMPAGECOMMANDS
or MUI_UNCUSTOMPAGECOMMANDS), insert them before inserting the language files.</p>
<p class="text"><a href="#customPages">More info...</a></p>
<p class="subheader">9. Insert language files</p>
<p class="subheader">8. Insert language files</p>
<p class="text">Insert the Modern UI language files for the languages you are using:</p>
<pre class="margin">!insertmacro MUI_LANGUAGE "English"</pre>
<p class="text">The Modern UI language files load the NLF language files,
@ -291,7 +305,7 @@ follow these steps:</p>
language (in the language itself) to the stack:</p>
<pre class="margin">
!insertmacro MUI_LANGDLL_PUSH "English" ;Parameter = Language file name in English</pre>
<p class="subheader">8. Insert the MUI_SECTIONS_FINISHHEADER macro</p>
<p class="subheader">9. Insert the MUI_SECTIONS_FINISHHEADER macro</p>
<p class="text">If you are not using a Finish page without defining
MUI_FINISHPAGE_NOAUTOCLOSEWINDOW and have not set AutoCloseWindow
to true, you should insert the MUI_SECTIONS_FINISHHEADER
@ -446,23 +460,17 @@ ReserveFile "ioFile.ini" ;Your own InstallOptions INI files
Start Menu Folder selection: <a href="../../Examples/Modern UI/StartMenu.nsi">StartMenu.nsi</a><br />
Welcome/Finish page: <a href="../../Examples/Modern UI/WelcomeFinish.nsi">WelcomeFinish.nsi</a><br />
</p>
<p class="header">The interface</p>
<p class="subheader">Different versions</p>
<p class="text">There are three different versions of the Modern UI.
Modern.exe contains the dialogs of the standard interface.
If you have an installer with a lot of subsections or long section
names, use modern2.exe, which has a different component selection page.
Use modern3.exe if you are not using descriptions.</p>
<p class="subheader">Customize the dialogs</p>
<p class="text">To change elements on the dialogs, modify modern?.exe
<p class="header">Customize the dialogs</p>
<p class="text">To change elements on the dialogs, modify modern.exe
in the Contrib\UIs directory using a resource editor such as
<a href="http://www.users.on.net/johnson/resourcehacker/">Resource Hacker</a>.</p>
<a href="http://www.users.on.net/johnson/resourcehacker/">Resource Hacker</a>
and use the MUI_UI define to use your customized UI.</p>
<p class="text">The 'Please wait while Setup is loading...' text
on the splash screen which is being displayed when the installer
is starting (Verifying installer, Unpacking data) cannot be changed
by the script, because the installer is not started yet when this
dialog is being displayed. If you want to change this text, modify
dialog 111 of modern?.exe.<br />
dialog 111 of modern.exe.<br />
The 'Verifying installer' and 'Unpacking data' texts are defined in
the language header file of the NSIS exehead (Source\exehead\lang.h).
To change them, you need to edit this file and recompile NSIS.</p>
@ -544,8 +552,12 @@ FunctionEnd
</pre>
<p class="header">Version history</p>
<ul>
<li>1.62b - March 6, 2003
<li>1.63 - March 9, 2003
<ul>
<li>Support for a bitmap in the wizard header</li>
<li>New defines to change the description area</li>
<li>MUI_SYSTEM inserted automatically</li>
<li>Easier to customize resouce files</li>
<li>New system for custom functions</li>
<li>New InstallOptions macro's that do not remove the return value from
the stack</li>

View file

@ -1,4 +1,4 @@
;NSIS Modern User Interface version 1.62
;NSIS Modern User Interface version 1.63
;Macro System
;Written by Joost Verburg
@ -108,10 +108,33 @@
XPStyle On
!ifndef MUI_RTL_UI
ChangeUI all "${MUI_UI}"
ChangeUI all "${MUI_UI}"
!ifdef MUI_HEADERBITMAP
!ifndef MUI_HEADERBITMAP_RIGHT
ChangeUI IDD_INST "${NSISDIR}\Contrib\UIs\modern_headerbmp.exe"
!else
ChangeUI IDD_INST "${NSISDIR}\Contrib\UIs\modern_headerbmpr.exe"
!endif
!endif
!ifdef MUI_COMPONENTSPAGE_SMALLDESC
ChangeUI IDD_SELCOM "${NSISDIR}\Contrib\UIs\modern_smalldesc.exe"
!else ifdef MUI_COMPONENTSPAGE_NODESC
ChangeUI IDD_SELCOM "${NSISDIR}\Contrib\UIs\modern_nodesc.exe"
!endif
!else
ChangeUI /RTL all "${MUI_UI}"
!ifndef MUI_HEADERBITMAP_RIGHT
ChangeUI /RTL IDD_INST "${NSISDIR}\Contrib\UIs\modern_headerbmp.exe"
!else
ChangeUI /RTL IDD_INST "${NSISDIR}\Contrib\UIs\modern_headerbmpr.exe"
!endif
!ifdef MUI_COMPONENTSPAGE_SMALLDESC
ChangeUI /RTL IDD_SELCOM "${NSISDIR}\Contrib\UIs\modern_smalldesc.exe"
!else ifdef MUI_COMPONENTSPAGE_NODESC
ChangeUI /RTL IDD_SELCOM "${NSISDIR}\Contrib\UIs\modern_nodesc.exe"
!endif
!endif
Icon "${MUI_ICON}"
!ifdef MUI_UNINSTALLER
@ -308,13 +331,11 @@
!ifdef MUI_WELCOMEPAGE
!insertmacro MUI_WELCOMEFINISHPAGE_INIT
!else ifdef MUI_FINISHPAGE
!insertmacro MUI_WELCOMEFINISHPAGE_INIT
!endif
!ifndef MUI_WELCOMEPAGE
!ifdef MUI_FINISHPAGE
!insertmacro MUI_WELCOMEFINISHPAGE_INIT
!endif
!endif
!insertmacro MUI_HEADERBITMAP_INIT
!insertmacro MUI_GUIINIT_BASIC
@ -322,6 +343,8 @@
!macro MUI_UNGUIINIT
!insertmacro MUI_HEADERBITMAP_INIT
!insertmacro MUI_GUIINIT_BASIC
!macroend
@ -374,6 +397,16 @@
!macroend
!macro MUI_HEADERBITMAP_INIT
!ifdef MUI_HEADERBITMAP
InitPluginsDir
File "/oname=$PLUGINSDIR\modern-header.bmp" "${MUI_HEADERBITMAP}"
SetBrandingImage /IMGID=1046 /RESIZETOFIT "$PLUGINSDIR\modern-header.bmp"
!endif
!macroend
!macro MUI_LANGUAGE LANGUAGE
!ifndef MUI_MANUALVERBOSE
@ -1751,13 +1784,28 @@
!verbose 3
!endif
!define MUI_NOVERBOSE
!insertmacro MUI_INTERFACE
!insertmacro MUI_BASIC
!insertmacro MUI_UNBASIC
!ifndef MUI_SYSTEM_INSERTED
!undef MUI_NOVERBOSE
!define MUI_SYSTEM_INSERTED
;1.62 compatibility
!ifdef MUI_STARTMENU_VARIABLE || MUI_STARTMENU_DEFAULTFOLDER || MUI_STARTMENU_REGISTRY_ROOT
!error "The Start Menu Folder page defines have been renamed from MUI_STARTMENU_??? to MUI_STARTMENUPAGE_???. Please change this in your script."
!endif
!define MUI_NOVERBOSE
!insertmacro MUI_INTERFACE
!insertmacro MUI_BASIC
!insertmacro MUI_UNBASIC
!undef MUI_NOVERBOSE
!else
!warning "The MUI_SYSTEM macro is now being inserted automatically. You can remove '!insertmacro MUI_SYSTEM' from your script."
!endif
!ifndef MUI_MANUALVERBOSE
!verbose 4
@ -1814,6 +1862,13 @@
;LANGUAGE FILES
!macro MUI_LANGUAGEFILE_BEGIN LANGUAGE
!ifndef MUI_SYSTEM_INSERT
!define MUI_SYSTEM_INSERT
!insertmacro MUI_SYSTEM
!endif
!ifndef "MUI_LANGUAGEFILE_${LANGUAGE}_USED"

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1,4 +1,4 @@
;NSIS Modern User Interface version 1.62
;NSIS Modern User Interface version 1.63
;Basic Example Script
;Written by Joost Verburg
@ -28,9 +28,6 @@
!define MUI_UNINSTALLER
!define MUI_UNCONFIRMPAGE
;Modern UI System
!insertmacro MUI_SYSTEM
;--------------------------------
;Languages

View file

@ -0,0 +1,90 @@
;NSIS Modern User Interface version 1.63
;Header Bitmap Example Script
;Written by Joost Verburg
!define MUI_PRODUCT "Test Software" ;Define your own software name here
!define MUI_VERSION "1.0" ;Define your own software version here
!include "MUI.nsh"
;--------------------------------
;Configuration
;General
OutFile "HeaderBitmap.exe"
;Folder selection page
InstallDir "$PROGRAMFILES\${MUI_PRODUCT}"
;--------------------------------
;Modern UI Configuration
!define MUI_LICENSEPAGE
!define MUI_COMPONENTSPAGE
!define MUI_DIRECTORYPAGE
!define MUI_ABORTWARNING
!define MUI_UNINSTALLER
!define MUI_UNCONFIRMPAGE
!define MUI_HEADERBITMAP "${NSISDIR}\Contrib\Icons\modern-header.bmp"
;--------------------------------
;Languages
!insertmacro MUI_LANGUAGE "English"
;--------------------------------
;Language Strings
;Description
LangString DESC_SecCopyUI ${LANG_ENGLISH} "Copy the modern.exe file to the application folder."
;--------------------------------
;Data
LicenseData "${NSISDIR}\Contrib\Modern UI\License.txt"
;--------------------------------
;Installer Sections
Section "modern.exe" SecCopyUI
;ADD YOUR OWN STUFF HERE!
SetOutPath "$INSTDIR"
File "${NSISDIR}\Contrib\UIs\modern.exe"
;Create uninstaller
WriteUninstaller "$INSTDIR\Uninstall.exe"
SectionEnd
;Display the Finish header
;Insert this macro after the sections if you are not using a finish page
!insertmacro MUI_SECTIONS_FINISHHEADER
;--------------------------------
;Descriptions
!insertmacro MUI_FUNCTIONS_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SecCopyUI} $(DESC_SecCopyUI)
!insertmacro MUI_FUNCTIONS_DESCRIPTION_END
;--------------------------------
;Uninstaller Section
Section "Uninstall"
;ADD YOUR OWN STUFF HERE!
Delete "$INSTDIR\modern.exe"
Delete "$INSTDIR\Uninstall.exe"
RMDir "$INSTDIR"
;Display the Finish header
!insertmacro MUI_UNFINISHHEADER
SectionEnd

View file

@ -1,4 +1,4 @@
;NSIS Modern User Interface version 1.62
;NSIS Modern User Interface version 1.63
;InstallOptions Example Script
;Written by Joost Verburg
@ -31,9 +31,6 @@
!define MUI_UNINSTALLER
!define MUI_UNCONFIRMPAGE
;Modern UI System
!insertmacro MUI_SYSTEM
;--------------------------------
;Pages

View file

@ -1,4 +1,4 @@
;NSIS Modern User Interface version 1.62
;NSIS Modern User Interface version 1.63
;MultiLanguage Example Script
;Written by Joost Verburg
@ -27,9 +27,6 @@
!define MUI_UNINSTALLER
!define MUI_UNCONFIRMPAGE
;Modern UI System
!insertmacro MUI_SYSTEM
;--------------------------------
;Languages
@ -40,7 +37,8 @@
!insertmacro MUI_LANGUAGE "Spanish"
!insertmacro MUI_LANGUAGE "SimpChinese"
!insertmacro MUI_LANGUAGE "TradChinese"
!insertmacro MUI_LANGUAGE "Japanese"
!insertmacro MUI_LANGUAGE "Japanese"
!insertmacro MUI_LANGUAGE "Korean"
!insertmacro MUI_LANGUAGE "Italian"
!insertmacro MUI_LANGUAGE "Dutch"
!insertmacro MUI_LANGUAGE "Danish"
@ -69,6 +67,7 @@
LangString DESC_SecCopyUI ${LANG_SIMPCHINESE} "modern.exe: Simplified Chinese description"
LangString DESC_SecCopyUI ${LANG_TRADCHINESE} "modern.exe: Traditional Chinese description"
LangString DESC_SecCopyUI ${LANG_JAPANESE} "modern.exe: Japanese description"
LangString DESC_SecCopyUI ${LANG_JAPANESE} "modern.exe: Korean description"
LangString DESC_SecCopyUI ${LANG_ITALIAN} "modern.exe: Italian description"
LangString DESC_SecCopyUI ${LANG_DUTCH} "modern.exe: Dutch description"
LangString DESC_SecCopyUI ${LANG_DANISH} "modern.exe: Danish description"
@ -96,6 +95,7 @@
LicenseData /LANG=${LANG_SIMPCHINESE} "${NSISDIR}\Contrib\Modern UI\License.txt"
LicenseData /LANG=${LANG_TRADCHINESE} "${NSISDIR}\Contrib\Modern UI\License.txt"
LicenseData /LANG=${LANG_JAPANESE} "${NSISDIR}\Contrib\Modern UI\License.txt"
LicenseData /LANG=${LANG_KOREAN} "${NSISDIR}\Contrib\Modern UI\License.txt"
LicenseData /LANG=${LANG_ITALIAN} "${NSISDIR}\Contrib\Modern UI\License.txt"
LicenseData /LANG=${LANG_DUTCH} "${NSISDIR}\Contrib\Modern UI\License.txt"
LicenseData /LANG=${LANG_DANISH} "${NSISDIR}\Contrib\Modern UI\License.txt"
@ -159,7 +159,8 @@ Function .onInit
!insertmacro MUI_LANGDLL_PUSH "Spanish"
!insertmacro MUI_LANGDLL_PUSH "SimpChinese"
!insertmacro MUI_LANGDLL_PUSH "TradChinese"
!insertmacro MUI_LANGDLL_PUSH "Japanese"
!insertmacro MUI_LANGDLL_PUSH "Japanese"
!insertmacro MUI_LANGDLL_PUSH "Korean"
!insertmacro MUI_LANGDLL_PUSH "Italian"
!insertmacro MUI_LANGDLL_PUSH "Dutch"
!insertmacro MUI_LANGDLL_PUSH "Danish"
@ -177,7 +178,7 @@ Function .onInit
!insertmacro MUI_LANGDLL_PUSH "Macedonian"
!insertmacro MUI_LANGDLL_PUSH "Turkish"
Push 23F ;22 = number of languages, F = change font
Push 24F ;24 = number of languages, F = change font
LangDLL::LangDialog "Installer Language" "Please select a language."

View file

@ -1,4 +1,4 @@
;NSIS Modern User Interface version 1.62
;NSIS Modern User Interface version 1.63
;Start Menu Folder Selection Example Script
;Written by Joost Verburg
@ -43,9 +43,6 @@
!define MUI_UNINSTALLER
!define MUI_UNCONFIRMPAGE
;Modern UI System
!insertmacro MUI_SYSTEM
;--------------------------------
;Languages

View file

@ -1,4 +1,4 @@
;NSIS Modern User Interface version 1.62
;NSIS Modern User Interface version 1.63
;Welcome/Finish Page Example Script
;Written by Joost Verburg
@ -31,9 +31,6 @@
!define MUI_UNINSTALLER
!define MUI_UNCONFIRMPAGE
;Modern UI System
!insertmacro MUI_SYSTEM
;--------------------------------
;Languages

View file

@ -43,6 +43,7 @@ InstallDirRegKey HKLM SOFTWARE\NSIS ""
!define MUI_WELCOMEPAGE
!define MUI_LICENSEPAGE
!define MUI_COMPONENTSPAGE
!define MUI_COMPONENTSPAGE_SMALLDESC
!define MUI_DIRECTORYPAGE
!define MUI_FINISHPAGE
!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\Docs\index.html"
@ -53,11 +54,8 @@ InstallDirRegKey HKLM SOFTWARE\NSIS ""
!define MUI_UNINSTALLER
!define MUI_UNCONFIRMPAGE
!define MUI_HEADERBITMAP "${NSISDIR}\Contrib\Icons\modern-header.bmp"
!define MUI_SPECIALBITMAP "${NSISDIR}\Contrib\Icons\modern-wizard nsis llama.bmp"
!define MUI_UI "${NSISDIR}\Contrib\UIs\modern2.exe"
;Modern UI System
!insertmacro MUI_SYSTEM
;--------------------------------
;Languages