InstallOptionsEx plug-in: Difference between revisions
(InstallOptions 2.4.2 beta 5.) |
|||
Line 3: | Line 3: | ||
== Links == | == Links == | ||
<attach>InstallOptionsEx.zip</attach> (DLL w/ C++ Source w/ InstallerOptions.cpp diff from last version) | |||
[http://forums.winamp.com/showthread.php?postid= | [http://forums.winamp.com/showthread.php?postid=1784540#post1784540 InstallOptionsEx Forums Thread] (where anything directly about this plug-in should '''always''' be posted) | ||
== Description == | == Description == | ||
'''Version:''' 2.4.2 beta | '''Version:''' 2.4.2 beta 5. | ||
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]] 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: | ||
*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> and <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>. | ||
*Extended notification system which you can specify the types of notifications you want a control to support. | *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 setting colors and font for most of the controls. Alignment works for some controls. | ||
Line 24: | Line 24: | ||
*<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 | *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 == | ||
*Added | *Added RichText control. | ||
*Added BufferSize value name for Settings section. A note though, everything, including Type value for all fields are affected. | |||
*Added | *Added ReadOnlyTxtColor and ReadOnlyBgColor value names for Text and RichText controls. | ||
*Added | *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. | ||
*Fixed | *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). | ||
*Fixed | *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. | ||
*Fixed the | *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 == | == TODO == | ||
Line 44: | Line 58: | ||
==== As Discussed ==== | ==== As Discussed ==== | ||
*add "Tab" controls. (?) | *add "Tab" controls. (?) | ||
==== As Planned ==== | ==== As Planned ==== | ||
* | *Add ability to convert "\\" to "\" in lists. | ||
*Make flags for ''Image'' control so that you can make the control to accept files with different extentions for the same image type. | |||
*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''. | |||
*Add a "F2" hotkey to change the name of an ''TreeView'' or ''ListView'' control item. | |||
=== Other Future Versions Before Major Release === | === Other Future Versions Before Major Release === | ||
Line 63: | Line 79: | ||
*Dragging of items. | *Dragging of items. | ||
*Menus. | *Menus. | ||
The rest of it I don't publish (I have my reasons). | The rest of it I don't publish (I have my reasons). | ||
Line 76: | Line 91: | ||
IOEx DLL (changed from original IO 2) Copyright © 2004-2005 Diego Pedroso ([[User:deguix|deguix]]) | IOEx DLL (changed from original IO 2) Copyright © 2004-2005 Diego Pedroso ([[User:deguix|deguix]]) | ||
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]] |
Revision as of 20:29, 7 October 2005
Author: deguix (talk, contrib) |
Links
InstallOptionsEx.zip (116 KB) (DLL w/ C++ Source w/ InstallerOptions.cpp diff from last version)
InstallOptionsEx Forums Thread (where anything directly about this plug-in should always be posted)
Description
Version: 2.4.2 beta 5.
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:
- 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.
- All in 23 KB compressed with UPX.
Documentation is available with the plugin DLL download.
Latest Beta Version Changes
- Added RichText control.
- 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: Template:BR and Template:BR.
TODO
Next Version
As Discussed
- add "Tab" controls. (?)
As Planned
- Add ability to convert "\\" to "\" in lists.
- Make flags for Image control so that you can make the control to accept files with different extentions for the same image type.
- 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.
- Add a "F2" hotkey to change the name of an TreeView or ListView control item.
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 separately from this plugin. (This is NSIS TODO)
Post Major Release
- 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 (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)
The source code uses parts from AutoHotkey's source code by Chris Mallet, licensed under GPL. Those parts are explicitly marked inside the plug-in's source code.