InstallOptionsEx plug-in: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
m (+bug: "\\" and "\|" characters conflict in "ComboBox" and "DropList" controls.)
No edit summary
 
(55 intermediate revisions by 9 users not shown)
Line 3: Line 3:
== Links ==
== Links ==


<attach>InstallOptionsEx.zip</attach> (DLL w/ C++ Source w/ InstallerOptions.cpp diff from last version)
[[File:Zip.gif]] [https://sourceforge.net/projects/nsis-ioex/files/IOEx%20beta/2.4.5%20beta%203/InstallOptionsEx2.4.5b3.zip/download InstallOptionsEx2.4.5b3.zip] (232 KB) (DLL w/ C++ Source)


[http://forums.winamp.com/showthread.php?postid=1784540#post1784540 InstallOptionsEx Forums Thread] (where anything directly about this plug-in should '''always''' be posted)
[[File:Exe.gif]] [https://sourceforge.net/projects/nsis-ioex/files/IOEx%20beta/2.4.5%20beta%203/InstallOptionsEx2.4.5b3.exe/download InstallOptionsEx2.4.5b3.exe] (426 KB) (DLL w/ C++ Source)
 
[http://forums.winamp.com/showthread.php?t=265453&page=2#post3067421 InstallOptionsEx Forum Thread]
 
[http://sourceforge.net/projects/nsis-ioex InstallOptionsEx SourceForge Project Page]


== Description ==
== Description ==


'''Version:''' 2.4.2 beta 5.
'''Version:''' 2.4.5 beta 3.


This plugin is an extension for the original [[InstallOptions]] plugin you find with NSIS package. For those who want to have a more professional looking NSIS page. See a little bit of the feature list below to entertain yourself:
This plugin is an extension for the original [[InstallOptions plug-in|InstallOptions]] plug-in you find with NSIS package. For those who want to have a more professional looking NSIS page. See a little bit of the feature list below to entertain yourself:


*More controls: <i>Animation</i>, <i>ProgressBar</i>, <i>TrackBar</i>, <i>IPAddress</i>, <i>DateTime</i>, <i>MonthCalendar</i>, <i>UpDown</i>, <i>TreeView</i>, <i>ListView</i>, <i>Image</i> (based on already existing ones) and <i>RichText</i>.
*More controls: <i>Animation</i>, <i>ProgressBar</i>, <i>TrackBar</i>, <i>IPAddress</i>, <i>DateTime</i>, <i>MonthCalendar</i>, <i>UpDown</i>, <i>TreeView</i>, <i>ListView</i>, <i>Image</i> (based on already existing ones) and <i>RichText</i>.
Line 24: Line 28:
*<i>Height</i> and <i>Width</i> value names, have a better organization of controls rectangles.
*<i>Height</i> and <i>Width</i> value names, have a better organization of controls rectangles.
*<i>Button</i> and <i>Link</i> controls have the old <i>DirRequest</i> and <i>FileRequest</i> controls abilities so that you can customize the control text and where the result will go of selecting a file or dir.
*<i>Button</i> and <i>Link</i> controls have the old <i>DirRequest</i> and <i>FileRequest</i> controls abilities so that you can customize the control text and where the result will go of selecting a file or dir.
*All in 23 KB compressed with UPX.


Documentation is available with the plugin DLL download.
Documentation is available with the plugin DLL download.


== Latest Beta Version Changes ==
== Lastest Version Changes ==


*Added RichText control.
After seven years since the last beta version, this is the new InstallOptionsEx version 2.4.5 beta 3.
*Added BufferSize value name for Settings section. A note though, everything, including Type value for all fields are affected.
*Added ReadOnlyTxtColor and ReadOnlyBgColor value names for Text and RichText controls.
*Added ONTEXTSELCHANGE notification flag for RichText controls.
*Bitmap, Icon and Animation controls have now fused together into a control called Image. The old control names are still supported for compatibility.
*Image controls now use GDI+ or OLE when needed. So there are new file types supported: .jpg, .jpeg, .gif (GDI+ or OLE), .png, .tiff, .wmf, .emf (GDI+ only).
*Older INI files braking notice: Renamed icon names for ToolTipIcon value name to INFORMATION, EXCLAMATION and STOP, as defined under the icon resources for the State value name for Image controls.
*Added "\|" escape characters for ListBox, DropList, ComboBox controls. This applies to list based value names only.
*Added "\|", "\{" and "\}" escape characters for ListView and TreeView controls. This applies to list based value names that do not use just numbers only.
*Fixed internal memory leaks and bugs.
*For Link and Button controls using DIRREQUEST flag:
**Fixed the non-disabling "OK" button when a non-folder item was selected (like My Computer).
**Added ability for the State INI value name to specify the initial folder shown in the DIRREQUEST dialog.
*Now FONTREQUEST and COLORREQUEST flags for Button and Link controls output the control state even if a value is specified for the RefFields value name.
*Fixed string not being truncated at the maximum buffer size allowed when Text and Password controls returned (IO bug).
*Fixed Link and Button controls with DIRREQUEST flag: "|" character was appended everytime to the end of ListItems value name.
*Corrected the formula to convert pixels into points for Link and Button controls with FONTREQUEST flag.
*Fixed Link and Button controls State value name return value when used with FILE_OPENREQUEST and MULTISELECT flags: String was truncated to the first 1023 characters (1024 w/ the terminator character).
*State INI value name for ComboBox controls now uses the text specified for the state if it is not one of the items specified in ListItems.
*HSCROLL and VSCROLL flags won't work anymore if specified for controls that do not support this flag. The effect is simply useless.  
*Re-added EXTENDEDSELCT and REQ_SAVE flags for compatibility purposes with IO.  
*Fixed bugs: {{BR|1287731}} and {{BR|1283528}}.  


== TODO ==
A lot of bugs were fixed in this version.


=== Next Version ===
Two versions of the plugin are available: an ANSI and an UNICODE.


==== As Discussed ====
'''Changes since version 2.4.5 beta 2:'''
*'''TODO:''' add "Tab" controls. (?)


==== As Planned ====
A big thank to Tallmaris (Leandro Tramma) for the initial unicode compatibility.


*'''TODO:''' Add ability to convert "\\" to "\" in lists.
* Added: Full unicode support;
*'''BUG:''' The ''ListItems'' value name for ''ComboBox'' and ''DropList'' controls can't have the combination "\\" and "\|". This needs to be verified.
* Added: make_unicode dll function for Unicode build: Convert an ANSI INI file to the UNICODE charset;
*'''TODO:''' Make flags for ''Image'' control so that you can make the control to accept files with different extentions for the same image type.
* Applied patches from the original InstallOptions source repository.
*'''BUG:''' When using ''TreeView'' controls with ''EDITLABELS'' flag, and when you change an item name, if you press "ESC" or "ENTER", the installer is dismissed, which is what happens for other actions in the installer. This doesn't happen with ''ListView''.
*'''TODO:''' Add a "F2" hotkey to change the name of an ''TreeView'' or ''ListView'' control item.
*'''BUG:''' When ''StateImageList'' points to an invalid file, it still applies the ''CHECKBOXES'' flag normally.


=== Other Future Versions Before Major Release ===


*Most of the types of controls available for Windows.
== Credits ==
*Support for multiple dialogs at the same time.
*Custom dialogs for pages.
*Create a system for including new types of controls separately from this plugin. (This is NSIS TODO)


=== Post Major Release ===
Original IO version Copyright © 2001 Michael Bishop ([[User:locnar42|locnar42]])
 
*Sorting algorithms for "ListItems" based controls (this should be a separate plugin).
*Dragging of items.
*Menus.
 
The rest of it I don't publish (I have my reasons).
 
== Credits ==


Original IO version Copyright © 2001 Michael Bishop ([[User:locnar42|locnar42]])
IO DLL version 1 Copyright © 2001-2002 Nullsoft, Inc., ORTIM


IO DLL version 1 Copyright © 2001-2002 Nullsoft, Inc., ORTIM ([[User:nandhp|nandhp]])
IO DLL version 2 Copyright © 2003-2009 Amir Szekely ([[User:kichik|kichik]]), [[User:Joost Verburg|Joost Verburg]], Dave Laundon ([[User:eccles|eccles]])


IO DLL version 2 Copyright © 2003-2005 Amir Szekely ([[User:kichik|kichik]]), [[User:Joost Verburg|Joost Verburg]], Dave Laundon ([[User:eccles|eccles]])
IOEx DLL Copyright © 2004-2005 Diego Pedroso ([[User:deguix|deguix]])


IOEx DLL (changed from original IO 2) Copyright © 2004-2005 Diego Pedroso ([[User:deguix|deguix]])
IOEx DLL (starting at v.2.4.5) Copyright © 2006-2016 [[User:SuperPat|SuperPat]]


The source code uses parts from [http://autohotkey.com AutoHotkey]'s source code by Chris Mallet, licensed under GPL. Those parts are explicitly marked inside the plug-in's source code.


[[Category:Plugins]]
[[Category:Plugins]]

Latest revision as of 12:11, 27 August 2016

Author: deguix (talk, contrib)


Links

Zip.gif InstallOptionsEx2.4.5b3.zip (232 KB) (DLL w/ C++ Source)

Exe.gif InstallOptionsEx2.4.5b3.exe (426 KB) (DLL w/ C++ Source)

InstallOptionsEx Forum Thread

InstallOptionsEx SourceForge Project Page

Description

Version: 2.4.5 beta 3.

This plugin is an extension for the original InstallOptions plug-in you find with NSIS package. For those who want to have a more professional looking NSIS page. See a little bit of the feature list below to entertain yourself:

  • More controls: Animation, ProgressBar, TrackBar, IPAddress, DateTime, MonthCalendar, UpDown, TreeView, ListView, Image (based on already existing ones) and RichText.
  • Extended notification system which you can specify the types of notifications you want a control to support.
  • Supports setting colors and font for most of the controls. Alignment works for some controls.
  • Supports timeout, which makes the plugin to go to the validation function automatically after the specified time.
  • Normal and Balloon ToolTips with color change and a halfway multiline support.
  • Automatic detection of number of controls available in your INI page file.
  • Supports variables as a value for any value name, so you don't need anymore to write several times into an INI file.
  • Flags have been added, like of those Buttons with an image or icon, Checkboxes with "gray" state added...
  • ListBox controls have the multicolumn feature which makes each item to occupy less space of the control.
  • Height and Width value names, have a better organization of controls rectangles.
  • Button and Link controls have the old DirRequest and FileRequest controls abilities so that you can customize the control text and where the result will go of selecting a file or dir.

Documentation is available with the plugin DLL download.

Lastest Version Changes

After seven years since the last beta version, this is the new InstallOptionsEx version 2.4.5 beta 3.

A lot of bugs were fixed in this version.

Two versions of the plugin are available: an ANSI and an UNICODE.

Changes since version 2.4.5 beta 2:

A big thank to Tallmaris (Leandro Tramma) for the initial unicode compatibility.

  • Added: Full unicode support;
  • Added: make_unicode dll function for Unicode build: Convert an ANSI INI file to the UNICODE charset;
  • Applied patches from the original InstallOptions source repository.


Credits

Original IO version Copyright © 2001 Michael Bishop (locnar42)

IO DLL version 1 Copyright © 2001-2002 Nullsoft, Inc., ORTIM

IO DLL version 2 Copyright © 2003-2009 Amir Szekely (kichik), Joost Verburg, Dave Laundon (eccles)

IOEx DLL Copyright © 2004-2005 Diego Pedroso (deguix)

IOEx DLL (starting at v.2.4.5) Copyright © 2006-2016 SuperPat