Skip to content
⌘ NSIS Forum Archive

InstallOptionsEx

368 posts

bluenet#
This same code in here: http://forums.winamp.com/showthread....24#post1399824
When change InstallOptions:: to InstallOptionsEx:: the droplist items missing.
deguix#
Everything is working fine for me.

InstallOptionsEx v.2.4 beta 5
NSIS 2.0 -> latest development snapshot
Windows XP Home Edition -> latest updates

What InstallOptionsEx, NSIS and Windows version do you use?
bluenet#
InstallOptionsEx v.2.4 beta 5
NSIS 2.0 Specail(Open LogSet command)
Windows Server 2003 Simplified Chinese

I upload the script and exefile here,would you have a look what wrong for me.
deguix#
If I do it now, I have to change it for every version I launch as you know that it's a beta version. When it becomes stable I'll do one. This is not the right time to do that.

Now, about the changes for the next version, I've done some fixes to it, like that one from bluenet. But I'm not giving more details on it right now.
AlexBienheureux#
Originally posted by deguix
If I do it now, I have to change it for every version I launch as you know that it's a beta version. When it becomes stable I'll do one. This is not the right time to do that.

Now, about the changes for the next version, I've done some fixes to it, like that one from bluenet. But I'm not giving more details on it right now.
*


ok, thank you !! 👍
deguix#
InstallOptionsEx version beta 6

Ok, next version planned (and almost done) changes are:

- Support for changing font and colors of controls (which gives a wide range of commands). This is quite limited, but at least it gives a better look w/o using NSIS itself. Some controls that don't support this because:

> Windows Themes can sometimes fill completely controls (Button).

> Some controls don't call WM_OWNERDRAW or WM_CTLCOLORS* or don't have messages to change the colors or font (IPAddress, HotKey, UpDown, TrackBar, RadioButton, CheckBox, GroupBox).

> ComboBox + ImageList = Special drawing (ComboBox /w Images).

- Fix that problem I already said in older posts.
- Fix the cutting of controls when its "right" or "bottom" values that are bigger than rectangle's.
- Small bugs from last version.

This version will appear here soon.
deguix#
InstallOptionsEx version beta 6 - DLL

- Added a wide range of commands for setting initial color and font formatting without using NSIS commands.
- Fixed the control extention beyond the rect height and width. This makes the control to resize itself when necessary.
- Added file verification before setting a bitmap or icon to DropList , ComboBox and Button controls.
- Fixed a stupid bug that made some controls flags to be set when you did not specify them.
- Fixed another stupid bug that made ProgresBar controls to do not show their indicator bar correctly.
- Added one laking information about the standalone keys for HotKey controls.
- Fixed other minor bugs.

Yeah, it has more fixes than I expected yesterday. By using the ProgressBar control I found 2 serious bugs.

Now what I expect for the next version is an appearance of the powerful RichText control (used by the actual NSIS license page) and more fixes as it is in a beta version. Any bug you find is very important to me.
deguix#
InstallOptionsEx version beta 6 - DLL Source

...
Yathosho#
have you thought of including lobo's tooltip plugin into IOex? would be a lot work less, if one could simple put the tooltip-text into the ini-file of a io-page.
deguix#
Another thing you would say is to include lobo's dialogs plugin into it.

Yes, I can include those additions, but you have to wait a while, since I'm working on other projects at the same time.

Just a question to lobo first. What are the control ID's of your tooltips? (if you know, tooltips are the same as normal controls)
deguix#
Oh, I forgot to tell about some IOEx new features not mentioned in the documentation:

- You can specify the height and/or width of a control using the Height and/or Width INI value names. They are used instead of Right and/or Bottom INI value names.

- ListItemsHeight INI value name adjusts the height of each ListBox, ComboBox and DropList item. It's mentioned on the documentation from other INI value names, but it's not directly included.

If I forgot them, probably they are not even tested fully. Can you all test these for me?

(If it's better than I thought, what else good can be waiting for me now?)
deguix#
(If it's better than I thought, what else good can be waiting for me now?)
One thing good that I discovered on this time that passed is that InstallOptionsEx first versions had the fixes of the InstallOptions 2.5 already (even MUCH before the time), so people who used this didn't have the Next button problem since beta 1.

Now the bad things: several bugs were found on the code, including one critical that DISABLED controls which were added the font and/or paint features didn't draw correctly. And there are some others which I don't want to comment right now.

Apparently now I have an image of ever doing buggy projects without testing fully (yeah, even StrFunc.nsh has one, but much less apparent than IOEx). If you see most of my older functions you can see 2 or 3 bugs each... I'm much more lucky with projects outside NSIS though where you can't find them easily.

(You can now see the list of projects I'm working now and to work after on my signature)
deguix#
I wanted to make a small modification on ListBoxes when I'm fixing the "DISABLED controls not drawing correctly [sometimes]". I would like to change the colors of selected and deselected items of a DISABLED ListBox by default. I don't like the actual default IO's colors because sometimes you can think that a ListBox is enabled, but it's really disabled.

On the image the:

- Left DISABLED ListBox is from InstallOptions
- Right DISABLED ListBox is from InstallOptionsEx

The image:
deguix#
Hummm... I don't have a defined plan for the next version, but yeah, I'm thinking on some plugins combinations with IOEx for the future:

- Dialogs and tooltips -> additional dialogs and tooltips support.
- Banner -> creation of dialogs not based on resources (it's not really true but I have this idea when looking at it), timeout, extented NOTIFY for running NSIS codes when the dialog is being shown.
- AdvSplash -> Alpha Blending, extended timeout, extended NOTIFY for running NSIS codes when a click is made to the image, modeless dialog boxes, special effects when showing window (it's not really true but I have this idea when looking at it).

...

About NOTIFY flag: I'm planning to change a little bit the way NOTIFY flags are handled:

- Create another INI value name for "Settings" page called "Notification" (or something like it) where you can get the type of the notification being sent by a control.

- Each field will have an additional INI value name called "Notification" where you can set the notification flags you want for the control.

What do you think of this?
deguix#
Hummm... I don't have a defined plan for the next version, but yeah, I'm thinking on some plugins combinations with IOEx for the future:

- Dialogs and tooltips -> additional dialogs and tooltips support.
- Banner -> creation of dialogs not based on resources (it's not really true but I have this idea when looking at it), timeout, extented NOTIFY for running NSIS codes when the dialog is being shown.
- AdvSplash -> Alpha Blending, extended timeout, extended NOTIFY for running NSIS codes when a click is made to the image, modeless dialog boxes, special effects when showing window (it's not really true but I have this idea when looking at it).

...

About NOTIFY flag: I'm planning to change a little bit the way NOTIFY flags are handled:

- Create another INI value name for "Settings" page called "Notification" (or something like it) where you can get the type of the notification being sent by a control.

- Each field will have an additional INI value name called "Notification" where you can set the notification flags you want for the control.

What do you think of this?

What I already done for InstallOptionsEx 2.5 beta 7:

- "Fixed the control extention beyond the rect height and width. This makes the control to resize itself when necessary." change removed. It's quite useful to have a way to do not show controls to the user sometimes...

- Fixed "Text" and "ListBox" control w/ DISABLED flag: Didn't redraw right.

- Added missing features which documentation from last version didn't mention.

- Added "FontName" INI value to all known controls that support font changes.

- Added "Dis*" commands for "ListBox" controls which enables to set colors for DISABLED controls.

- Added a new flag to "CheckBox" controls, the old and famous "3STATE" flag that allows you to set additonally an indeterminated (or grayed) state.

- "ListItems" for "Button" controls w/ "DIRREQUEST" flag is the text which appears above the Tree-View control of directories.
deguix#
InstallOptionsEx 2.41 beta 7 - DLL

This version brings a new system for control notifications. I'll explain a little bit how it works. Let's have an example INI file to start:

[Field 1]
Type=ComboBox
Left=0
Top=0
Width=100
Height=400
Notify=ONTEXTCHANGE

[Field 2]
Type=Button
Left=110
Top=0
Width=50
Height=12
Notify=ONDBLCLICK|ONKILLFOCUS
State=C:\MyDir

You can see there is a new INI value name for each field called "Notify", with this you can use notification flags for each control. I made the flags to be supported for more than one control to make easier the use of them. This INI value name is used for notification flags that, when the user does the action, triggers the calling to the validation function.

On the first field, there is a "ONTEXTCHANGE" notification flag which makes the plugin call the validation function after the text is changed by the user and after it appears on the screen.

On section "Field 2", there is "ONDBLCLICK" which makes the plugin to use "ShellExecute" and the text specified by "State" value (this is special for Buttons and Links). And there is a "ONKILLFOCUS" which is when a control loses focus.

Now, when for example the first field receives focus it won't call the validation function. Why? You didn't specify it to do it, so you change it to:

[Field 1]
Type=ComboBox
Left=0
Top=0
Width=100
Height=400
Notify=ONTEXTCHANGE|ONSETFOCUS

And now there is another addition to this system. After a control called the validation function it records what control did call it and the action the user did to the control:

[Settings]
State=2
Notify=ONTEXTCHANGE

This could be different if another action from the user is made:

[Settings]
State=2
Notify=ONSETFOCUS

As you saw, I added ONSETFOCUS and ONDBLCLICK and some other notification flags that the normal NOTIFY flag couldn't do. I made some other changes, so let's see them all:

- Rearranged control notification system:
- - Added Notify value name for "Settings" and "Field #" sections.
- - Added: ONSETFOCUS, ONKILLFOCUS, ONLISTOPEN, ONLISTCLOSE, ONSELCHANGE, ONTEXTCHANGE, ONTEXTUPDATE, ONCLICK, ONDBLCLICK, ONTEXTTRUNCATE, ONTEXTVSCROLL, ONSTART and ONSTOP notification flags.
- Added BackShow, NextEnabled and NextShow for "Settings" section.
- Fixed the control extention beyond the rect height and width addition of the last version removed.
- Fixed Text controls: "black" color was being set even when you didn't.
- Fixed ListBox controls: didn't appear as they were disabled.
- Added missing features to the documentation which last version's didn't mention.
- Added FontName for Label, Link, ListBox, ComboBox, DropList, Text and Password controls, DisBgColor, DisTxtColor, DisSelBgColor and DisSelTxtColor for ListBox control.
- ListItems for Button controls w/ DIRREQUEST flag is the text which appears above the Tree-View control of directories.
- Added a new flag to CheckBox controls, the old and famous "3STATE" flag that allows you to set additonally an indeterminated (or grayed) state.
deguix#
InstallOptionsEx 2.41 beta 7 - DLL Source

...
deguix#
On the next version I'll add ToolTips support (which is halfway done) and much less fixes because most of them I fixed on the last version...

Some more additions comparing with Lobo's ToolTips plugin are the ability to change text and background colors of ToolTips, additional flags, notifications? (thinking, not planned) and multiline support (searching for information).