InstallOptionsEx plug-in: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
(InstallOptionsEx v.2.4.2 beta 3 post-build 4.)
(InstallOptionsEx 2.4.2 beta 4.)
Line 3: Line 3:
== Links ==
== Links ==


[[Image:Zip.gif]] [http://forums.winamp.com/attachment.php?s=&postid=1737506 InstallOptionsEx.zip] (90 KB) (DLL w/ C++ Source)
[[Image:Zip.gif]] [http://forums.winamp.com/attachment.php?s=&postid=1745632 InstallOptionsEx.zip] (90 KB) (DLL w/ C++ Source)


[http://forums.winamp.com/showthread.php?postid=1737506#post1737506 InstallOptionsEx Forums Thread]
[http://forums.winamp.com/showthread.php?postid=1745632#post1745632 InstallOptionsEx Forums Thread]


== Description ==
== Description ==


'''Version:''' 2.4.2 beta 3 post-build 4.
'''Version:''' 2.4.2 beta 4.


This plugin is an extention 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 entertrain yourself:
This plugin is an extention 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 entertrain yourself:
Line 24: Line 24:
*<i>Height</i> and <i>Width</i> value names, possibiliting a better organization of controls rectangles.
*<i>Height</i> and <i>Width</i> value names, possibiliting 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 19.5 KB compressed with UPX.
*All in 20 KB compressed with UPX.


Documentation is available with the plugin DLL download.
Documentation is available with the plugin DLL download.
Line 30: Line 30:
== Last Beta Version Changes ==
== Last Beta Version Changes ==


*Added new value names for "Field #" section: ''RefField'', ''StateImageList'', ''SmallImageList'', ''LargeImageList'', ''HeaderItems'', ''HeaderItemsAlign'', ''HeaderWidth''.
*Added MUnit value name for Settings section and NotifyCursor for Field # section.
*Added new flags for ''ListView'' controls: ''LIST_VIEW'', ''ICON_VIEW'', ''SMALLICON_VIEW'', and ''REPORT_VIEW'' and for ''Link'' and ''Button'' controls: ''COLORREQUEST'', ''FONTREQUEST''.
*Re-implemented NumFields from original InstallOptions for compatibility reasons.
*'''Older INI's braking notice:''' All values supported by ''OPEN_FILEREQUEST'', ''SAVE_FILEREQUEST'' and ''DIRREQUEST'' flags for ''Link'' and ''Button'' controls on ''State'' value name and ''UpDown'' controls on ''Text'' value name were transferred to ''RefField'' value name.
*Added ListView and TreeView controls support for TxtColor and BgColor values.  
*Now ''Link'' and ''Button'' controls with ''OPEN_FILEREQUEST'', ''SAVE_FILEREQUEST'', ''DIRREQUEST'', ''COLORREQUEST'', ''FONTREQUEST'' flags output state values to ''State'' value name.
*Added EDITLABELS flag for TreeView and ListView controls and MULTISELECT for ListView controls (made single selection default in this case).  
*''UpDown'' controls now detect automatically the text from its buddy control. ''State'' value is not used anymore when the buddy control is set.
*Fixed empty item names for TreeView and ListView controls.  
*'''Older INI's braking notice:''' All values for ''TreeView'' controls on ''Text'' value name were transferred to ''StateImageList'' value name.
*Fixed the return of State and ListItems INI values for Link and Button controls with COLORREQUEST flag.  
*Fixed automatic Custom Draw setting for ''Label'', ''DropList'', ''ComboBox'', and ''ListBox''. Custom Draw setting will only be set if you specify one of the color commands values. Because of this, when this setting is disabled, the colors will be as the Windows' default, and some features like multiline for those controls (except ''Label'') will be disabled. The good news is that this fixes problems when setting text to those controls or change some colors for now. To use custom draw in controls with default color values, use empty values like on "TxtColor=".
*Fixed an interminable loop when UpDown controls had a buddy control that had the ONTEXTCHANGE or ONTEXTUPDATE notification flags.  
*Added forgotten details about ''Animation'' controls support for the ''State'' INI value, types of animation supported, ''TreeView'' controls support for the ''StateImageList'' INI value, and the ''ONSELCHANGE'' notification flag.
*Fixed the range of numbers for UpDown controls. Maximum value for MaxLen and MinLen is 2147483646 and the minimum is -2147483646. Also the default values for the two value names are 2147483646 and -2147483646, respectively.
*Fixed problems with notifications that executed when other handled or non-handled notifications were activated.
*Fixed checkbox state changes on ''TreeView'' controls when the space key was pressed.
*Other small bugfixes.


== TODO ==
== TODO ==
Line 52: Line 49:
==== As Planned ====
==== As Planned ====


*Series of quick versions for bugfixing and addition of pending TODO stuff.
*GIF, JPG, WML support.


=== Other Future Versions Before Major Release ===
=== Other Future Versions Before Major Release ===
Line 63: Line 60:
=== Post Major Release ===
=== Post Major Release ===


*GIF, JPG, PNG... support (this should be a separated plugin).
*Sorting algorithms for "ListItems" based controls (this should be a separated plugin).
*Sorting algorithms for "ListItems" based controls (this should be a separated plugin).
*Dragging of items.
*Dragging of items.
*Menus.
*Menus.
*PNG support.


The rest of it I don't publish (I have my reasons).
The rest of it I don't publish (I have my reasons).

Revision as of 16:48, 5 August 2005

Author: deguix (talk, contrib)


Links

Zip.gif InstallOptionsEx.zip (90 KB) (DLL w/ C++ Source)

InstallOptionsEx Forums Thread

Description

Version: 2.4.2 beta 4.

This plugin is an extention 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 entertrain yourself:

  • More controls: Animation, ProgressBar, TrackBar, IPAddress, DateTime, MonthCalendar, UpDown, TreeView and ListView.
  • 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, possibiliting 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.
  • All in 20 KB compressed with UPX.

Documentation is available with the plugin DLL download.

Last Beta Version Changes

  • Added MUnit value name for Settings section and NotifyCursor for Field # section.
  • Re-implemented NumFields from original InstallOptions for compatibility reasons.
  • Added ListView and TreeView controls support for TxtColor and BgColor values.
  • Added EDITLABELS flag for TreeView and ListView controls and MULTISELECT for ListView controls (made single selection default in this case).
  • Fixed empty item names for TreeView and ListView controls.
  • Fixed the return of State and ListItems INI values for Link and Button controls with COLORREQUEST flag.
  • Fixed an interminable loop when UpDown controls had a buddy control that had the ONTEXTCHANGE or ONTEXTUPDATE notification flags.
  • Fixed the range of numbers for UpDown controls. Maximum value for MaxLen and MinLen is 2147483646 and the minimum is -2147483646. Also the default values for the two value names are 2147483646 and -2147483646, respectively.

TODO

Next Version

As Discussed

  • add "\|" escape character.
  • add "Tab" controls. (?)

As Planned

  • GIF, JPG, WML support.

Other Future Versions Before Major Release

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

Post Major Release

  • Sorting algorithms for "ListItems" based controls (this should be a separated plugin).
  • Dragging of items.
  • Menus.
  • PNG support.

The rest of it I don't publish (I have my reasons).

Credits

Original IO version Copyright © 2001 Michael Bishop (locnar42)

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

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

IOEx DLL (changed from original IO 2) Copyright © 2004-2005 Diego Pedroso (deguix)