![]() |
InstallOptionsEx
1 Attachment(s)
I modified the original version of InstallOptions to add some controls (not supported by all OS, or with others special requirements) and to make some additional changes:
- Removed NumFields from INI File "Settings" section. - Added Animation and ProgressBar controls. - Added ability of ComboBox and DropList controls of supporting images for each item in their list boxes. - Added TRANSPARENT, CENTER and NOAUTOPLAY flags for Animation controls and SMOOTH and VERTICAL flags for ProgressBar controls. - Added support of NOTIFY flag for Text, Password and ComboBox controls. This is just beta version, it probably has some bugs and I don't know, I'm not responsible for problems it gonna make, as even it's my first touch in C++. Included the .dll and its readme. |
I'll test it :)
// edit by me |
For the next version I'll be targeting the easiest controls to implement, as Trackbar.
|
It would be cool if it supported the property grid control, very useful for pre-configuration setup....
|
But one thing can be done even without C++, create an editor of InstallOptions pages which shows the page and edits it at the same time, using the great "Rect" page attribute (where you can assign a page with a part of the resource, if used correctly, it can even show several pages at the same time).
One problem is: how can I unload InstallOptions without going to other pages or quiting the program? Probably the idea of creating a .dll function called "Clear" (as I saw in another modification) would be great to add, but as you know, I don't have that kind of knowledge of how to do it (so help is appreciated here)... |
1 Attachment(s)
OK! New version beta 2 (5/31/2004):
- Added TrackBar and IPAddress controls. - Added ability of Button controls of supporting an image or icon. - Added BACK_RECT, TOOLTIPS and NO_TICKS flags for TrackBar controls and BITMAP and ICON flags for Button controls. - Added support of NOTIFY flag for IPAddress control. - Removed TRANSPARENT and NOAUTOPLAY flags for Animation control. Included .dll and its Readme. Main TODO -> Addition of new controls. Any help to make this plugin even better is accepted at any times. |
1 Attachment(s)
OK! New version beta 3 (6/7/2004):
- Added DateTime and MonthCalendar controls. - Added UPDOWN flag for DateTime controls and NOTODAY, NOTODAYCIRCLE and WEEKNUMBERS flags for MonthCalendar controls. |
Your additions sounds great. How about adding a few samples to your package?
|
I'm planning it for the next or the following version. I didn't do any until now because I was trying to change more things of it!
Planned: - Addition of UpDown control. (not attached with other controls) - Add ability of it to make other controls as its buddy control (UpDown control). - Remove FileRequest and DirRequest. - Add flags for Button controls to make it act like same as FileRequest and DirRequest but using a buddy control (don't need to the a Text control). Makes the Text control free to use its NOTIFY flag and the Button control to be user customized. - Implement NSIS style $\n,$\r and $\t. Try to implement common variables ($0-9 $R0-9) as input and output. I ever wanted to make that change of splitting FileRequest and DirRequest Text control from the Button control since I discovered: after using those controls, to get a control handle you had to use a control number different than the InstallOptions one. Now it will be balanced. |
1 Attachment(s)
OK! New version beta 4 (6/11/2004):
- Added UpDown control. - Removed FileRequest and DirRequest controls. Use Text and Button controls instead. - Added FILEREQUEST and DIRREQUEST flags for Button controls and LEFT, HORIZONTAL and WRAP flags for UpDown controls. - NSIS $\n, $\r and $\t imported to remove the need for conversions between NSIS characters and plugin's. This version is about exactly as I planned before (except for the variables thing, I'm trying to implement that). |
How about the source code as well? Wouldn't hurt to get it peer reviewed.
A couple of questions- a) What is the advantage of using NSIS style $\r $\n instead of \r \n? b) What exactly are you trying to implement for the "variables" feature? I'm a little hazy on that. |
1 Attachment(s)
I wasn't posting the source because to don't boost much my post count for each version that is launched. Anyways, I posted it below.
(If you see, there are comments of what I added or changed, but I didn't comment removed parts) a) Because before implementing that, if you would write and/or read Install Options INI files, you had to convert the string from NSIS -> Install Options and/or Install Options -> NSIS to be supportable with one another. For example: NSIS string: "// NSIS string test \\$\r$\n// NSIS second line \\" Putting this exact NSIS string into an INI file from Install Options and making it show, it would appear like this: // NSIS string test \$$// NSIS second line \ So I think this explained it. 2) I don't know why I posted it! I should be saying before "not a good idea" instead of "I'm trying to implement that" by now. Sometimes I paste the information without changes and forget the spelling...:( |
1 Attachment(s)
Overall, I think this is pretty good. A couple of comments:
a) I still don't see any advantage of using "NSIS" syntax for special characters as opposed to the current "C" syntax that InstallOptions uses. In fact, I couldn't even get the "NSIS" syntax to work. Do you have an example showing how it works? See my attached script. It doesn't seem to work properly. b) I agree with you, drop the whole "variables" thing. I don't see any advantage in implementing it. |
InstallOptionsEx version beta 4 - DLL
1 Attachment(s)
a) Fixed. Same version.
|
InstallOptionsEx version beta 4 - DLL Source
1 Attachment(s)
...
|
OK, I see that you have fixed the "NSIS" style escape characters. But I still don't see the advantage of it.
Either way I have do conversions- whether it uses the "C" style or the "NSIS" style. |
As you insist, I'll put a define in the Source Code to use the old "C" style.
|
Is these any sample to show the new feature?
|
Hi deguix
,NOTIFY flags in DropList control not work,Can you have a look? |
Don't get me wrong- I think you've done a good job. I don't want to insist that you change anything. But if something as basic as the escape character is going to be changed, I think we should see a clear advantage for it.
The other thing of course is that it will not be compatible with MUI. Another suggestion is to document which OS the new controls do not work on- since you did say that the InstallOptionsEx is not 100% supported by all Windows OS'es. |
Quote:
Quote:
Quote:
Quote:
|
Isn't the problem with NSIS style escaping that NSIS converts them before writing to the INI file using WriteIniStr?
|
Ohhh :eek: ... that's why he doesn't see an advantage of that... How I am stupid! I have to punch my face after that. Anyways, I was going to back up that change...
|
Yep. The NSIS style escaping works if the text is already in the INI file. However, if you want to dynamically write to the INI file, you will have to convert everything.
Thanks Joost for explaining it better than I could. |
InstallOptionsEx version beta 5 (before next version launching) - DLL
1 Attachment(s)
Just to fix that, I made a version "before the launching of the next version". But I made some small additions that will have in the next version:
- NOTIFY flag for MonthCalendar, DateTime and UpDown controls. - Returned to old "C" style escape characters. These changes are undocumentated. I'm making this version because of the full week of school work on me (because the school year is ending) and the final tests. Next version is planned to be launched next week (after Tuesday). |
InstallOptionsEx version beta 5 (before next version launching) - DLL Source
1 Attachment(s)
...
|
Thanks deguix,I like this EX version very much.
|
If you know, Ex is for "Expanded". Generally I did put for my functions the "Adv" for "Advanced". I just didn't put "Adv" on the plugin name because it doesn't have dramatic changes comparing with the normal InstallOptions. It just adds more controls and new features.
|
InstallOptionsEx version beta 5 - DLL
1 Attachment(s)
- Added HotKey control.
- Added support of NOTIFY flag for MonthCalendar, DateTime, UpDown and HotKey controls. - Added information to controls and options their minimum supportable OS. - C style escape characters restored again. - Fixed problems with new controls about the TabStop not working. HotKey control doesn't have a 100% correct translation Input->Control-Control->Output: If you type "Ctrl + +" as input it will convert to "Ctrl +", and if you type some keys that I don't know their VK_ names (like some numpad keys) it won't output these. But for most of the keys the control will work correctly. |
InstallOptionsEx version beta 5 - DLL Source
1 Attachment(s)
...
|
I found that droplist can not list item,but InstallOption can.
|
What do you mean by that?
|
This same code in here: http://forums.winamp.com/showthread....24#post1399824
When change InstallOptions:: to InstallOptionsEx:: the droplist items missing. |
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? |
1 Attachment(s)
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. |
Remove Text=DropList lines inside your .ini file for now.
|
OK.Thanks deguix,the ini file create by HM NIS Edit,I forgot this.
|
could you put an example which one sees all the possibilities?
thank you |
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. |
OMG .. that's some nice shit ^^
|
| All times are GMT. The time now is 17:46. |
Copyright © 1999 - 2010 Nullsoft. All Rights Reserved.