Jump to content

athomsen

Member
  • Posts

    52
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    United States

Everything posted by athomsen

  1. Thanks for the vote of confidence. In that case it is going to get way more complicated. I never keep things simple! It does work better than before, just not that way I would want it to. But, for now it is going to have to stay the way it is. I found out this morning that I will be on vacation for a week starting Monday. I am sure there will be feedback by the time I return, if kel releases a new version.
  2. So, what is it worth to you to have it back the other way. Just kidding! This changed because of the way that the category selection feature needed to work. For those that care, the category div was extended around the entire category to allow selection of the child elements using getElementByTagName(). BUT.... Luckily for you I have written a totally new category selection function and we don't need it that way anymore. So, I have changed it back to the way it was. Unfortunately, you'll just have to wait for the next version to be release.
  3. I am currently working to fix the dependencies issue with the category selection. Problem is that if a checkbox is closer to the top than another it will uncheck checkboxes lower on the list. Since that sounds really confusing let me give an example. Let's say that we have 2 checkboxes that are dependent on each other (Can only click one of them). Which ever one is higher in the list will be the one that gets selected. Does this seem sufficient or do you think that we need a new config option for "incl in category" or something. Then you could prevent certain checkboxes from being selected when the category is thereby allowing you to fine tune exclusions. That all make sense or am I just too **** ana...picky? Thoughts?
  4. In reference to the manual... I am guessing that you want the manual to show up in WPI similiar to how the Show Source button makes the source appear? I did a simple test and that is pretty simple. I did not try it with images and CSS, but I think they should work too. P.S. We might want to start a topic on this one - it could get messy
  5. Can you attach the files that you are using... provided that they have been changed. That might help me some...
  6. I am working on the category selection feature. List of things to do: - This list is mysteriously empty... I am sure more category related requests will arise List of things completed: (updated 2005-08-04) : - Re-wrote category function (again). It is now integrated much better. - Fix programs not being selected when category spans multiple columns - Excluded programs being selected - no user input here so until someone complains I guess it stays they way I fixed it for now. - Make category text clickable
  7. Try downloading the newest version. Then you should be able to just put the network paths directly into the command text boxes.
  8. I may not have time at work today but when I get home I will start to work on this issue. Keep the problems comin!
  9. I like it! The **** manual link got int the way on the config page sometimes when you got near the bottom anyhow. I still vote for a visible version number somewhere but that is just my opinion.
  10. My next mission is to make the category text clickable and to try to remove the rudundant (and sorry to say not so exact of a method) code to skip non checkbox inputs. But now I must actually go eat something!
  11. I am going to update the first post with all of the correct changes and then after I unpack a new copy of WPI and add in all of the changs I will post the files as well. Hold on...
  12. Well actually blinkdt it should be the following, you forgot the first change //insert checkbox and label // -- checkbox -- if (debugOn) txt += ('<font class="txt">' + i + '</font>\n'); txt += ('<input type="checkbox" id="chkbox' + i + '" '); if (uid[i]==null || uid[i]==""){ txt += ('name="chkbox' + i + '" '); txt += ('onclick="checkCategory(this, \'' + cat[i] + '\');" '); } else { txt += ('name="' + uid[i] + '" '); txt += ('onclick="checkDeps(' + i + ');checkCategory(this, \'' + cat[i] + '\');" '); } txt += ('onMouseOver="qdh(prog[' + i + '],desc[' + i + '],Style[0]);" '); txt += ('onMouseOut="htm();"'); txt += ('/>\n'); // -- label -- BTW blinkdt thanks for laying the ground work for the category feature. I was going to make one from scratch until I heard you had beat me to it .
  13. I am not at work so I cannot post my cmd file right now but this may help. I map a drive to my WPI folder in WPI.cmd then call wpi.hta from that mapped drive. Then using the changes in this topic I run the programs using a UNC path. I may not be understanding your question correctly but I hope that helped - at least some .
  14. Sorry it took so long, got distracted. Ok to fix for entries without UID change: Lines 130-133 in boxes.js to: if (uid[i]==null || uid[i]==""){ txt += ('name="chkbox' + i + '" '); txt += ('onclick="checkCategory(this, \'' + cat[i] + '\');" '); } Check my numbers - I have been changing a lot of stuff in the last few hours
  15. Hey keeping up with all the changes everyone here makes is a big job, especially lately. I think I speak for everyone that uses WPI when I say THANKS for all the time you put into it. Also, I vote for taking out help as long as you put the version number somewhere else.
  16. Yes anywhere. I put them under the original function. Like I said before though, the getElementByClassName funtion should probably go wherever you have custom utility type functions. But check.js works too. I just figured out that if a program entry does not have a UID then my updated category feature is not working correctly give me a few minutes here...
  17. Ok here is how to fix the button interaction & initial loading of categories. I never claimed to be trained as a programmer so if you see problems with my functions SPEAK UP Also, I clicked everything I could think of to test these and all seemed well, but... let me know if they really work You need to add these two functions in check.js: function setCategoryState(){ var cats = getElementsByClassName('category'); var chks,chkflag; for (var i=0; i<cats.length; i++){ chks = cats[i].getElementsByTagName('input'); chkflag = true; for (var j=1; j<chks.length; j++){ if (chks[j].type=="checkbox" && chks[j].checked!=true){ //just in case you have other input types inside the div chkflag = false; chks[0].checked = false; break; } } if(chkflag == true){ chks[0].checked = true; } } } function getElementsByClassName(classname){ var rl = new Array(); var re = new RegExp('(^| )'+classname+'( |$)'); var ael = document.getElementsByTagName('*'); var op = (navigator.userAgent.indexOf("Opera") != -1) ? true : false; if (document.all && !op) ael = document.all; for(i=0, j=0; i<ael.length; i++) { if(re.test(ael[i].className)) { rl[j]=ael[i]; j++; } } return rl; } getElementsByClassName could come in handy for another feature later on so maybe the powers that be will have a better place for it. Then add the setCategoryState() function call to the onclick section of the body onload, Default button, Select All button, and None button of your themed wpi.htm file. For example the onclick of the Default button becomes: onClick="stopInterval(); startstop(); check('default'); startstop(); setCategoryState();" > I am working on a cleaned up version of the modified category selection function as well. Hope to finish it as soon as I have some more time.
  18. You are correct. I did not fix that. I am working on it now.
  19. Not to be a pain but... you included the UNC path fix in the change log but you never updated the code For reference: Network Paths
  20. To avoid confusion I am updating this post with all current info as of 08/01/05 7:15 EST. I updated the category check box feature so that when you change a check box's state it updates the category check box accordingly. So... If a check box is unchecked the category is unchecked. Or... If a check box is checked and all of the category's check boxes are checked then the category is checked. Anyway here is what I changed: Replace the current checkCategory function in check.js with this: function checkCategory(thisChk, parentId){ var parent = document.getElementById(parentId); var chks = parent.getElementsByTagName('input'); var len = chks.length; var state = thisChk.checked; if(thisChk.id.substring(0,3) == "Cat"){ //Category box was checked for (var i=0; i<len; i++){ //skip the first checkbox if (chks[i].type == "checkbox" && chks[i] != thisChk){ //just in case of other input types & skip the category checkbox chks[i].checked = state; } } } else { var chkflag = true; if(state == true){ for (var i=1; i<len; i++){ //skip the first checkbox if (chks[i].type=="checkbox" && chks[i].checked!=true){ //just in case of other input types chkflag = false; break; } } } if(state == false || chkflag == true){ for (var i=0; i<len; i++){ if (chks[i].type=="checkbox"){ //just in case of other input types chks[i].checked = state; break; //we only want the parent checkbox } } } } } function setCategoryState(){ var cats = getElementsByClassName('category'); var chks,chkflag; for (var i=0; i<cats.length; i++){ chks = cats[i].getElementsByTagName('input'); chkflag = true; for (var j=1; j<chks.length; j++){ if (chks[j].type=="checkbox" && chks[j].checked!=true){ //just in case you have other input types inside the div chkflag = false; chks[0].checked = false; break; } } if(chkflag == true){ chks[0].checked = true; } } } function getElementsByClassName(classname){ var rl = new Array(); var re = new RegExp('(^| )'+classname+'( |$)'); var ael = document.getElementsByTagName('*'); var op = (navigator.userAgent.indexOf("Opera") != -1) ? true : false; if (document.all && !op) ael = document.all; for(i=0, j=0; i<ael.length; i++) { if(re.test(ael[i].className)) { rl[j]=ael[i]; j++; } } return rl; } Then update boxes.js starting at line 126 with this: // -- checkbox -- if (debugOn) txt += ('<font class="txt">' + i + '</font>\n'); txt += ('<input type="checkbox" id="chkbox' + i + '" '); if (uid[i]==null || uid[i]==""){ txt += ('name="chkbox' + i + '" '); txt += ('onclick="checkCategory(this, \'' + cat[i] + '\');" '); } else { txt += ('name="' + uid[i] + '" '); txt += ('onclick="checkDeps(' + i + ');checkCategory(this, \'' + cat[i] + '\');" '); } txt += ('onMouseOver="qdh(prog[' + i + '],desc[' + i + '],Style[0]);" '); txt += ('onMouseOut="htm();"'); txt += ('/>\n'); Now we need to edit wpi.htm for each theme in 4 places. We need to add setCategoryState() to the onload OR onclick event. In the body tag (Line 5): <body class="body" onload="SetScriptWaitTimeout(); startstop(); fillBoxes(); check(load_checks); startstop(); flevInitPersistentLayer('layercfgbtns',0,'','','15','','','15'); setCategoryState();"> And for the buttons... (line numbers for glossy NOT classic) Default (line 85): onClick="stopInterval(); startstop(); check('default'); startstop(); setCategoryState();" > All (line 99): onClick="stopInterval(); startstop(); check('all'); check('all'); startstop(); setCategoryState();" > None (line 113): onClick="stopInterval(); startstop(); check('none'); startstop(); setCategoryState();" > Hope that clears it all up! The first wpi.htm is for glossy I believe... boxes.js check.js wpi.htm wpi.htm
  21. Line 122 in generate.js was to correct paths after replacing the environment variables - changing \\\\ into \\. Because of the changes I made when I use environment variables the registry key created has two extra slashes in it. This is because the are added when replacing environtment variables. The beautiful thing is that windows just ignores the extra slashes. I think the best solution is to remove all of the slashes added after the environment variables in lines 100 - 108. I do not know how this will effect those who use the FindCDRom function because I have never used WPI from CD. This change would make environment variables function as they do in windows - if you need to get to a folder below the variable you must follow it with a slash. This change may effect many users but I think it is really more correct because it is the way all other windows programs function <- just my 2 cents. P.S. Just checked and it seems that the FindCDRom function adss a single extra slash to the path not two as the other lines do.
  22. Ok, I am a meat head. It just hit me that we do programatically change paths - in generate.js for environment variables. I will look into it more in the morning when I have the code in front of me.
  23. jcarle, I see where you are going with that. However, in this case we are not programatically appending to the paths (unless I missed it - it is still early). So, if users are typing paths in I would think that a WYSIWYG approach would be better then modifing what they typed. But on the same note, since this change effects all of the fields/functions that use GetConfigValue will this change hinder anyone that may have some really complex conditions? Anyone with some "really complex conditions" care to comment?
  24. Changing the line in configwizard.js is what makes this work in config wizard. Normal paths (like from CD) do not use \\ so nothing else should be effected that I can think of.
×
×
  • Create New...