Yup, I see exactly what you see.
InstallOptionsEx 2.4.5 beta 1 unofficial Released
57 posts
With so many changes, wouldn't it be nicer to arrange it under http://sf.net/projects/nsis-ioex?
False translation, I wanted to say:
Can you look at that?
I have found a third problem with DIRREQUEST Dialog:
When you click on it, It doesn't go to the directory indicated in the Text control.
I have reuploaded the lastest dev version with a little fix (but we must check it):
Sometime, the plugin crach when it tries to show the DIRREQUEST Dialog.
Can you look at that?
I have found a third problem with DIRREQUEST Dialog:
When you click on it, It doesn't go to the directory indicated in the Text control.
I have reuploaded the lastest dev version with a little fix (but we must check it):
Sometime, the plugin crach when it tries to show the DIRREQUEST Dialog.
Hi SuperPat,
This one is pretty tough...
I can "capture" the drawing by going to:
case WM_DRAWITEM:
And changing:
if(pField->nType == FIELD_LABEL || pField->nType == FIELD_LINK) {
to:
if(pField->nType == FIELD_LABEL || pField->nType == FIELD_LINK || pField->nType == FIELD_BUTTON) {
But it doesn't really draw it right...
But we do get "..." which is more than we got before...
Hopefully this can help you track it down more.
This one is pretty tough...
I can "capture" the drawing by going to:
case WM_DRAWITEM:
And changing:
if(pField->nType == FIELD_LABEL || pField->nType == FIELD_LINK) {
to:
if(pField->nType == FIELD_LABEL || pField->nType == FIELD_LINK || pField->nType == FIELD_BUTTON) {
But it doesn't really draw it right...
But we do get "..." which is more than we got before...
Hopefully this can help you track it down more.
Hi kichik,
Yes.
Quite honestly, I am hoping this thread dies soon, that means all the bugs that SuperPat and I are finding are fixed. =)
We aren't actually doing any new developement on IoEx...
(At least, I sure am not).
We are just trying to clean up most of the bugs.
Once thats done, this thread will go away.
Scott
Yes.
Quite honestly, I am hoping this thread dies soon, that means all the bugs that SuperPat and I are finding are fixed. =)
We aren't actually doing any new developement on IoEx...
(At least, I sure am not).
We are just trying to clean up most of the bugs.
Once thats done, this thread will go away.
Scott
SuperPat,
BTW, there is obviously an interaction problem with it and your skinnedbutton plugin.
If I yank the skinnedbutton from your test, the buttons get drawn right.
Maybe the fix here is as simple as sending a message to the skinnedbutton to redraw itself...
(This obviously should be happening automagically, but maybe thats the bug, that IOEX isn't sending it.)
Scott
BTW, there is obviously an interaction problem with it and your skinnedbutton plugin.
If I yank the skinnedbutton from your test, the buttons get drawn right.
Maybe the fix here is as simple as sending a message to the skinnedbutton to redraw itself...
(This obviously should be happening automagically, but maybe thats the bug, that IOEX isn't sending it.)
Scott
SuperPat,
Another test I did.
Get rid of all your color changing stuff from the test2 script.
Even with doing that, the 2 pushbuttons don't show up.
The only way I can get them to show up, is if I get rid of
the skinnedbutton calls, so that the regular buttons get used.
Scott
Another test I did.
Get rid of all your color changing stuff from the test2 script.
Even with doing that, the 2 pushbuttons don't show up.
The only way I can get them to show up, is if I get rid of
the skinnedbutton calls, so that the regular buttons get used.
Scott
Hi SuperPat,
Any luck or progress fixing the current set of bugs?
Scott
Any luck or progress fixing the current set of bugs?
Scott
not nothing alas...
And you for the problem of the transparent icons on a coloured background where the SetCtlColors function doesn't have any effects?
And you for the problem of the transparent icons on a coloured background where the SetCtlColors function doesn't have any effects?
Originally posted by SheikThat too should be on the project page. It's the centralized place for ioex development. I'm sure deguix will not mind giving you access so you can upload the fixes there as well.
Hi kichik,
Yes.
Quite honestly, I am hoping this thread dies soon, that means all the bugs that SuperPat and I are finding are fixed. =)
We aren't actually doing any new developement on IoEx...
(At least, I sure am not).
We are just trying to clean up most of the bugs.
Once thats done, this thread will go away.
Scott
That too should be on the project page. It's the centralized place for ioex development. I'm sure deguix will not mind giving you access so you can upload the fixes there as well.Unbelievable as it may be seen, I thought about this yesterday, but I forgot about it. I now assigned full rights to SuperPat.
I can also help you with development, but sincerely, I can't stand coding in C++...
Thank you but just a detail, my login on sourceforge is superpat45, not superpat (it was already taken).
lol... ok then... done.
I updated the project file releases. Now it shows all SuperPat's versions merged into beta package (2.4.5 beta 1) and alpha package (2.4.5 beta 2 alpha 1-6 -> I named your builds as alphas there). Also, I updated the InstallOptionsEx page at the nsis.sf.net to reflect this. I don't like to update CVS when there's only few people working on project (yields 1 as I still don't want to come back to development). If there's anything wrong with all this, just ask me.
New development version:
Changelog (2.4.5 beta 2 alpha 7 7/Apr/2007):
# From now, it is an official version.
# Added: setFocus dll function: Set the focus on the specified control in parameter. It was designed to be used in your leave script functions. Prefer to use the FOCUS flag if you can.
# The compilation option USE_FOPEN_S was renamed in USE_SECURE_FUNCTIONS (in VisualStudio 2005 only)).
# Fixed: Applied IO Patch that kill some compiler warnings under Linux and mingw32.
# Fixed: Use installer's name for message boxes (IO patch #1661677).
# Size optimization: msdn now says SHGetMalloc returns the same allocator CoTaskMemFree uses and a little debugging backs this even on Windows 95.
Known bugs:
_ Transparent Icons are not transparent in the page...
_ Button are not drawn if I use my SkinnedButton plugin... whereas that work very well with InstallOptions
_ When you use the DIRREQUEST Dialog, It doesn't go to the directory indicated in the Text control.
See the test2.nsi Example
Download
Changelog (2.4.5 beta 2 alpha 7 7/Apr/2007):
# From now, it is an official version.
# Added: setFocus dll function: Set the focus on the specified control in parameter. It was designed to be used in your leave script functions. Prefer to use the FOCUS flag if you can.
# The compilation option USE_FOPEN_S was renamed in USE_SECURE_FUNCTIONS (in VisualStudio 2005 only)).
# Fixed: Applied IO Patch that kill some compiler warnings under Linux and mingw32.
# Fixed: Use installer's name for message boxes (IO patch #1661677).
# Size optimization: msdn now says SHGetMalloc returns the same allocator CoTaskMemFree uses and a little debugging backs this even on Windows 95.
Known bugs:
_ Transparent Icons are not transparent in the page...
_ Button are not drawn if I use my SkinnedButton plugin... whereas that work very well with InstallOptions
_ When you use the DIRREQUEST Dialog, It doesn't go to the directory indicated in the Text control.
See the test2.nsi Example
Download
New development version:
Changelog (2.4.5 beta 2 alpha 8 20/Apr/2007):
# Added: New control type VLine and HLine (IO patch #1683189).
Known bugs:
_ Transparent Icons are not transparent in the page...
_ Button are not drawn if I use my SkinnedButton plugin... whereas that work very well with InstallOptions
_ When you use the DIRREQUEST Dialog, It doesn't go to the directory indicated in the Text control.
See the test2.nsi Example
Download
Changelog (2.4.5 beta 2 alpha 8 20/Apr/2007):
# Added: New control type VLine and HLine (IO patch #1683189).
Known bugs:
_ Transparent Icons are not transparent in the page...
_ Button are not drawn if I use my SkinnedButton plugin... whereas that work very well with InstallOptions
_ When you use the DIRREQUEST Dialog, It doesn't go to the directory indicated in the Text control.
See the test2.nsi Example
Download
will there ever be drag&drop support for file and directory dialogs (i havn't checked "your" version yet)?
There is not support for Drag&Drop yet....
It is a good idea for later.
It is a good idea for later.
New development version:
Changelog (2.4.5 beta 2 alpha 9 12/May/2007):
* Fixed: A problem in the DIRREQUEST that doesn't go to the folder indicated in the RefFields State or in its State key.
* Disable the X button for InstallOptions pages as well when CancelEnabled is used.
Known bugs:
* Transparent Icons are not transparent in the page...
* Button are not drawn if I use my SkinnedButton plugin... whereas that work very well with InstallOptions
Download
Changelog (2.4.5 beta 2 alpha 9 12/May/2007):
* Fixed: A problem in the DIRREQUEST that doesn't go to the folder indicated in the RefFields State or in its State key.
* Disable the X button for InstallOptions pages as well when CancelEnabled is used.
Known bugs:
* Transparent Icons are not transparent in the page...
* Button are not drawn if I use my SkinnedButton plugin... whereas that work very well with InstallOptions
Download
I've updated the link in the first post. In my experience people tend to click the first link for a download in a topic without checking if it is the latest.
Stu
Stu
I just realized that, as of NSIS 2.42, InstallOptionsEx will fail if used as a drop-in replacement of the existing InstallOptions. The new MUI header no longer uses the /NOUNLOAD flags, thus causing crashes with InstallOptionsEx which has not been updated to take advantage of the new API.
I understand there will be no further updates to InstallOptionsEx, and moving to nsDialogs is encouraged, just dropping this note here (will also adjust the wiki) for the record.
I understand there will be no further updates to InstallOptionsEx, and moving to nsDialogs is encouraged, just dropping this note here (will also adjust the wiki) for the record.
I will release a new version 2.4.5 b2 (not alpha) of the plugin this week-end with a lot of bug fixes.
Two versions of the DLL will be released, a legacy version and a version using the new NSIS plugin API. The last one can be use as replacement of InstallOptions for ModernUI with NSIS 2.42 and more.
Two versions of the DLL will be released, a legacy version and a version using the new NSIS plugin API. The last one can be use as replacement of InstallOptions for ModernUI with NSIS 2.42 and more.
InstallOptionsEx version 2.4.5 beta 3 released
After seven years since the last beta version, this is the new InstallOptionsEx version 2.4.5 beta 3.
A big thank to Tallmaris (Leandro Tramma) for the initial unicode compatibility.
Changelog:
Download
After seven years since the last beta version, this is the new InstallOptionsEx version 2.4.5 beta 3.
A big thank to Tallmaris (Leandro Tramma) for the initial unicode compatibility.
Changelog:
- 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.
Download
I got excited playing with Anders' SysCompImg plugin which allows us to resize the checkboxes on the components page. However, I need a custom treeview for my installer, so I need to use InstallOptions or EmbeddedLists. Of course, these don't support High DPI. I was wondering whether you, @SuperPat, were willing to take a look at that for IOex?
Whatever the answer, I'd like to also request a couple of other features for treeview while I'm at it:
* Support for specifying icons to use at the various levels of the treeview, like EmbeddedLists
* One or both of the following:
- For non-checkbox mode, allow a checkbox-style state to specify bold/expanded (alternatively, allow expansion of all items by default and a way to specify that a given level of the treeview is bolded)
- For checkbox mode, allow a selection of the text in checkbox mode to optionally trigger the checkbox (or at least allow it to trigger a NOTIFY event)
Whatever the answer, I'd like to also request a couple of other features for treeview while I'm at it:
* Support for specifying icons to use at the various levels of the treeview, like EmbeddedLists
* One or both of the following:
- For non-checkbox mode, allow a checkbox-style state to specify bold/expanded (alternatively, allow expansion of all items by default and a way to specify that a given level of the treeview is bolded)
- For checkbox mode, allow a selection of the text in checkbox mode to optionally trigger the checkbox (or at least allow it to trigger a NOTIFY event)
I might be able to let you set the checkboxes for any listview/treeview you want as long as the state images are in the same order as the NSIS checkbox bitmaps.
@Anders: Yes, InstallOptions and EmbeddedLists both use the standard checkbox layout, but unfortunately checkboxes are only part of the problem.
In IOex's case, the lines of text are crowded together and overlapping. EmbeddedLists doesn't have that problem. However, both have the problem of tiny expand/collapse buttons, checkboxes, and/or icons.
In IOex's case, the lines of text are crowded together and overlapping. EmbeddedLists doesn't have that problem. However, both have the problem of tiny expand/collapse buttons, checkboxes, and/or icons.
Need some help with InstallOptionsEx Validation. In InstallOptions we use Flags=Notif
Need some help with InstallOptionsEx Validation. In InstallOptions we use Flags=Notify and then we did somehting like this in the function
This is from the InstallOptionsEx Readme file:
ini file
Need some help with InstallOptionsEx Validation. In InstallOptions we use Flags=Notify and then we did somehting like this in the function
But in InstallOptionsEx they say they did away with it in favor of the new method.ReadINIStr $0 "$PLUGINSDIR\test.ini" "Settings" "State"
StrCmp $0 0 validate ; Next button?
StrCmp $0 2 supportx ; "Install support for X"?
StrCmp $0 9 clearbtn ; "Clear" button?
StrCmp $0 11 droplist ; "Show|Hide" drop-list?
Abort ; Return to the page
This is from the InstallOptionsEx Readme file:
Step 5: Validate the OutputHere is a ini file and code file:
If you want to validate the input on the page, for example, you want to check whether the user has filled in a textbox, use the leave function of the Page command and Abort when the validation has failed:
Function ValidateCustom
ReadINIStr $R0 "$PLUGINSDIR\test.ini" "Field 1" "State"
StrCmp $0 "" 0 +3
MessageBox MB_ICONEXCLAMATION|MB_OK "Please enter your name."
Abort
FunctionEnd
Step 6: Return Value
After you have called the DLL, InstallOptionsEx adds one string to the stack, with one of the following values:
success - The user has pressed the Next button
back - The user has pressed the Back button
cancel - The user has pressed the Cancel button
error - An error has occurred, the dialog cannot be displayed.
Usually, you don't need to check this value, but you still have to remove it from the stack (have a look at the example above).
You only have to check this value if you need something really special, such as doing something when the user pressed the Back button.
Can someone help me with figuring out new method? If you look at the code file below there is an old and new section and in the new section you will see what I am trying to do. Need help with the code.
ini file
code file
[Settings]
NumFields=5
[Field 1]
Type=Label
Left=160
Right=235
Top=9
Bottom=18
Text="DropDown 1"
txtAlign=Center
[Field 2]
Type=DROPLIST
ListItems=Option 1a|Option 1b|Option 1c
State=
Flags=
Left=160
Right=235
Top=18
Bottom=25
[Field 3]
Type=Label
Left=240
Right=295
Top=9
Bottom=18
Text="DropDown 2"
txtAlign=Center
[Field 4]
Type=DROPLIST
ListItems=Option 2a|Option 2b|Option 2c
State=
Flags=
Left=240
Right=295
Top=18
Bottom=28
[Field 5]
Type=Button
Flags=NOTIFY
State=
Text="More Info"
Left=200
Right=250
Top=125
Bottom=140
txtAlign=Center
!include WinVer.nsh
!include LogicLib.nsh
!include x64.nsh
!include FileFunc.nsh
!include MUI2.nsh
!include WinMessages.nsh
!include InstallOptions.nsh
!include Sections.nsh
!include nsDialogs.nsh
!define MUI_HEADERIMAGE
!define TEMP1 $R0 ;Temp variable
Page custom ShowCustom LeaveCustom ;Custom page. InstallOptions gets called in SetCustom.
!insertmacro MUI_LANGUAGE "English"
Function .onInit
InitPluginsDir
File /oname=$PLUGINSDIR\pagesetup.ini "pagesetup.ini"
FunctionEnd
Function ShowCustom
InstallOptionsEx::initDialog "$PLUGINSDIR\pagesetup.ini"
Pop $0
InstallOptionsEx::show
Pop $0
FunctionEnd
#Old Method
/*
Function LeaveCustom
ReadINIStr $0 "$PLUGINSDIR\pagesetup.ini" "Settings" "State"
StrCmp $0 0 validate ; Next button?
StrCmp $0 5 Infobtn ;
Abort ; Return to the page
Infobtn
MessageBox MB_OK|MB_USERICON|MB_TOPMOST "Infobtn Pressed"
Abort ; Return to the page
validate:
MessageBox MB_OK|MB_USERICON|MB_TOPMOST "Next Pressed"
#Some Code to check if Field 2 and Field 4 have something selected
Abort
FunctionEnd
*/
#New Method
Function LeaveCustom
#Not sure correct code
#If Back Btn Pressed goto backbtn
#If Cancel Btn Pressed goto cancelbtn
#If Next Btn Pressed goto nextbtn
#If Info btn Press goto infobtn
backbtn:
MessageBox MB_OK|MB_USERICON|MB_TOPMOST "Backbtn Pressed"
Abort
cancelbtn:
MessageBox MB_OK|MB_USERICON|MB_TOPMOST "Cancelbtn Pressed"
Abort
nextbtn:
MessageBox MB_OK|MB_USERICON|MB_TOPMOST "Nextbtn Pressed"
Abort
infobtn:
MessageBox MB_OK|MB_USERICON|MB_TOPMOST "Infobtn Pressed"
Abort
FunctionEnd
Section
SectionEnd