mLipok Posted May 24, 2022 Share Posted May 24, 2022 @jaberwacky Please take a look here. Are you still going to create GUIBuilderNxt under your banner or can we consider the source here as the main one? Can we go with the development of this program on GitHub, e.g. using the MIT license? Signature beginning:* Please remember: "AutoIt"..... * Wondering who uses AutoIt and what it can be used for ? * Forum Rules ** ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Code * for other useful stuff click the following button: Spoiler Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST API * ErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 * My contribution to others projects or UDF based on others projects: * _sql.au3 UDF * POP3.au3 UDF * RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF * SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane * Useful links: * Forum Rules * Forum etiquette * Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * Wiki: * Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX IE Related: * How to use IE.au3 UDF with AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler * IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related: * How to get reference to PDF object embeded in IE * IE on Windows 11 * I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions * EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *I also encourage you to check awesome @trancexx code: * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuff * OnHungApp handler * Avoid "AutoIt Error" message box in unknown errors * HTML editor * winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/ "Homo sum; humani nil a me alienum puto" - Publius Terentius Afer"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming" , be and \\//_. Anticipating Errors : "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty." Signature last update: 2023-04-24 Link to comment Share on other sites More sharing options...
kurtykurtyboy Posted May 24, 2022 Author Share Posted May 24, 2022 I wasn't aware that anyone was still developing GUIBuilderNxt since I hadn't seen any updates since 2016, or I might not have picked it up to bring back to life.. I'm not sure if this was directed towards me or jaberwacky specifically, but I wouldn't mind working out of GitHub. I already have a local git repository set up anyway - I just didn't think anyone would be interested enough to contribute. Link to comment Share on other sites More sharing options...
mLipok Posted May 24, 2022 Share Posted May 24, 2022 (edited) 19 minutes ago, kurtykurtyboy said: I wasn't aware that anyone was still developing GUIBuilderNxt since I hadn't seen any updates since 2016 I'm not suer if @jaberwacky is still developiong this program. I just ask to be sure. 19 minutes ago, kurtykurtyboy said: I'm not sure if this was directed towards me or jaberwacky specifically, but I wouldn't mind working out of GitHub. I already have a local git repository set up anyway - I just didn't think anyone would be interested enough to contribute. Hope it will be possible to migrate your GIT to GitHub? I think that it would be nice to have possibility to contribute, via GitHub Edited May 24, 2022 by mLipok Signature beginning:* Please remember: "AutoIt"..... * Wondering who uses AutoIt and what it can be used for ? * Forum Rules ** ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Code * for other useful stuff click the following button: Spoiler Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST API * ErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 * My contribution to others projects or UDF based on others projects: * _sql.au3 UDF * POP3.au3 UDF * RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF * SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane * Useful links: * Forum Rules * Forum etiquette * Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * Wiki: * Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX IE Related: * How to use IE.au3 UDF with AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler * IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related: * How to get reference to PDF object embeded in IE * IE on Windows 11 * I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions * EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *I also encourage you to check awesome @trancexx code: * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuff * OnHungApp handler * Avoid "AutoIt Error" message box in unknown errors * HTML editor * winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/ "Homo sum; humani nil a me alienum puto" - Publius Terentius Afer"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming" , be and \\//_. Anticipating Errors : "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty." Signature last update: 2023-04-24 Link to comment Share on other sites More sharing options...
kurtykurtyboy Posted June 3, 2022 Author Share Posted June 3, 2022 (edited) A small but mighty update found in the first post. I spent a lot of time on the selection handles AKA grippies. Now when you select multiple controls either by drag-selecting or Ctrl+select, each selected control will show a set of grippies. Conversely, holding Ctrl and clicking on a control that is already selected will DEselect that control. There are a few things I'd like to iron out, such as scaling the controls proportionally when dragging to resize multiple controls, but overall I am quite happy with where it is at now. Selecting and interacting with controls is much more stable now as well. Other than some miscellaneous bug fixes and maintenance items, you can now add menu items to the main menus. It is a little quirky and requires using the object explorer to add and delete items. But that was the best solution I could come up with without adding a ton more work. FIXED: Array subscript error when closing tool windows. FIXED: Multiple selection while holding Ctrl key now works properly. FIXED: Save/load GUI height with menus ADDED: Show grippies on each selected control! Each control object now has a built-in grippy object ADDED: Menu items can now be added and removed from the object explorer only REMOVED: Prompt to save to au3 file. User can always use File menu to save/export UPDATED: modified the About dialog text for a more detailed description and naming history MAINT: cleaned up more global variables MAINT: made control selection much more robust and consistent Also added a link to the Github repo per the suggestion of @mLipok Edited June 3, 2022 by kurtykurtyboy Spelling Musashi, TheSaint, mLipok and 1 other 2 2 Link to comment Share on other sites More sharing options...
mLipok Posted June 3, 2022 Share Posted June 3, 2022 2 hours ago, kurtykurtyboy said: Also added a link to the Github repo per the suggestion of @mLipok Github Repository:https://github.com/KurtisLiggett/GuiBuilderPlus TheSaint 1 Signature beginning:* Please remember: "AutoIt"..... * Wondering who uses AutoIt and what it can be used for ? * Forum Rules ** ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Code * for other useful stuff click the following button: Spoiler Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST API * ErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 * My contribution to others projects or UDF based on others projects: * _sql.au3 UDF * POP3.au3 UDF * RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF * SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane * Useful links: * Forum Rules * Forum etiquette * Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * Wiki: * Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX IE Related: * How to use IE.au3 UDF with AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler * IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related: * How to get reference to PDF object embeded in IE * IE on Windows 11 * I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions * EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *I also encourage you to check awesome @trancexx code: * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuff * OnHungApp handler * Avoid "AutoIt Error" message box in unknown errors * HTML editor * winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/ "Homo sum; humani nil a me alienum puto" - Publius Terentius Afer"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming" , be and \\//_. Anticipating Errors : "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty." Signature last update: 2023-04-24 Link to comment Share on other sites More sharing options...
kurtykurtyboy Posted June 3, 2022 Author Share Posted June 3, 2022 Yes, the link is also at the very end of the first post. Maybe hard to see if you're not looking for it. Link to comment Share on other sites More sharing options...
mutleey Posted June 4, 2022 Share Posted June 4, 2022 I downloaded build 25 and it's giving the error "error: IsMap(): undefined function." Link to comment Share on other sites More sharing options...
argumentum Posted June 4, 2022 Share Posted June 4, 2022 4 hours ago, mutleey said: "error: IsMap(): undefined function." really ?. Use a newer version of AutoIt mLipok 1 Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting. Link to comment Share on other sites More sharing options...
kurtykurtyboy Posted June 5, 2022 Author Share Posted June 5, 2022 I thought I had gotten rid of all the maps, but I guess maybe I liked that one enough to leave it.. or maybe just too lazy to change it 😅 Link to comment Share on other sites More sharing options...
argumentum Posted June 5, 2022 Share Posted June 5, 2022 ;------------------------------------------------------------------------------ ; Title...........: _main ; Description.....: run the main program loop ;------------------------------------------------------------------------------ Func _main() GUISetState(@SW_SHOWNORMAL) While 1 Sleep(100) ; WEnd EndFunc ;==>_main ;------------------------------------------------------------------------------ ; Title...........: _onExitMain ; Description.....: Clean up and exit the program ;------------------------------------------------------------------------------ Func _onExitMain() GUIDelete() Exit EndFunc ;==>_onExitMain ..I know users should know what they are doing but the additions shown above are good to have. Also, if you develop for HiDpi/Scale, you should test your code in those environments. when AutoIt3 is not found, you can test for ConsoleWrite(@AutoItExe & @CRLF). The X,Y for $hToolbar = GUICreate("Choose Control Type", ... is not good when first staring. ...and that's my 5 cents Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting. Link to comment Share on other sites More sharing options...
kurtykurtyboy Posted June 5, 2022 Author Share Posted June 5, 2022 @argumentum Thanks I very much appreciate the feedback. That's the only way I know about issues unless I accidentally stumble upon them myself. I can't believe I missed the Sleep! - maybe because I've had an increased lack of sleep myself lately. 😏 I'm not sure I am in complete agreement about the necessity of using GUIDelete before Exit as general practice, but the customer is always right so I will do it your way. 😜 Quote Also, if you develop for HiDpi/Scale, you should test your code in those environments. Surely you aren't suggesting there are any issues with DPI scaling... Do you have any examples or screenshots? Quote when AutoIt3 is not found, you can test for ConsoleWrite(@AutoItExe & @CRLF). I'm not sure what mean. Could you elaborate? Quote The X,Y for $hToolbar = GUICreate("Choose Control Type", ... is not good when first staring. Someone just reported that on GitHub, so I've got a fix for it and was creating a new release right now. I will sneak in your above suggestions as well before releasing. Link to comment Share on other sites More sharing options...
argumentum Posted June 5, 2022 Share Posted June 5, 2022 3 minutes ago, kurtykurtyboy said: when AutoIt3 is not found, you can test for ConsoleWrite(@AutoItExe & @CRLF). sure. @AutoItExe is the executable, so it can be the AutoIt3.exe or CompiledScript.exe. if the user is using your uncompiled script from a portable setup, @AutoItExe is Autoit3(_x64).exe 5 minutes ago, kurtykurtyboy said: Surely you aren't suggesting there are any issues with DPI scaling I've got 2 PCs, each with dual monitors. I don't expect you to have such setup. I've fund a world of trouble with scaling and even to find a suitable font size. I'm not sure that inviting the user to do scaling without a proportion based GUI is wise in the long run, ( and proportion based is explained in "Layout Specifications: Win32" ) but with regular monitors we are used pixel based GUIs and a multiplier may not be the best way to design a GUI with scaling, but I'm not sure yet. Don't quote me on that. Above all, thank you for taking on this project. Is not a small thing PS: I'll put together a DLU based ( loosely based ) on a font. I'm working on it for a project. Maybe some one can make a nice UDF out of it, if it passes the "forum filter" of those that unlike me, know what they are doing😅 Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting. Link to comment Share on other sites More sharing options...
kurtykurtyboy Posted June 5, 2022 Author Share Posted June 5, 2022 First post has been updated for v0.26 which includes a couple important bug fixes and a few new features. What's changed? FIXED: Window position bugs when no INI file. Also better handling of off-screen situations FIXED: Primary and secondary mouse clicks not detected outside default area if GUI is resized ADDED: Setting to create GUI as a function, called inside the main function ADDED: Property to declare control as Global or Local ADDED: Listview control ADDED: IP Address control ADDED: Changed code generation preview to Rich Text with syntax highlighting using RESH UDF by Beege (resize not yet working) UPDATED: Updated menu layout - settings under tools, About under help, added online support UPDATED: Added Sleep(100) to generated code While loop Link to comment Share on other sites More sharing options...
argumentum Posted June 5, 2022 Share Posted June 5, 2022 ..actually https://autoit.de/thread/86505-guiscaler-guis-automatisch-zur-dpi-skalieren-lassen-windows-7-und-windows-10-per/ show to have a solution for the scaling. My approach is quite complicated. Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting. Link to comment Share on other sites More sharing options...
argumentum Posted June 5, 2022 Share Posted June 5, 2022 30 minutes ago, kurtykurtyboy said: I'm not sure what mean. Could you elaborate? Global $au3InstallPath = @ProgramFilesDir & "\AutoIt3\AutoIt3.exe" If Not FileGetSize($au3InstallPath) And Not @Compiled Then $au3InstallPath = @AutoItExe ..this is a better answer Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting. Link to comment Share on other sites More sharing options...
kurtykurtyboy Posted June 5, 2022 Author Share Posted June 5, 2022 ...deleting my long-winded reason for the AU3 exe path. Thanks for the example, that makes a lot of sense now. argumentum 1 Link to comment Share on other sites More sharing options...
kurtykurtyboy Posted June 5, 2022 Author Share Posted June 5, 2022 Believe it or not, I've tried going down the DPI rabbit hole before and ended up at that same German forum topic, but have not taken the time to look through the posted code yet. Doesn't scaling the GUI have the side-effect of creating a proportional based GUI? How else do you achieve DPI awareness if you don't scale the GUI? If you let Windows do it, it gets all blurry. Keep in mind, I'm only talking about System DPI awareness and not per-monitor awareness. Link to comment Share on other sites More sharing options...
argumentum Posted June 5, 2022 Share Posted June 5, 2022 1 minute ago, kurtykurtyboy said: and not per-monitor awareness ..the world is going "per-monitor awareness", so that's what should be coded for and there is where a UDF would be needed for resizing all the controls or, count'em all reapply the resizing, resize them and reapply the original resizing. A UDF would be faster. I'd keep the code generator simple ( without the GUI scaling ). In the long run, I believe that everyone ends up hand coding the GUI. Is easier to modify. At least that's me. But code generators are very welcomed by those new at AutoIt. Hence the asking for the GuiDelete() or Sleep(100). A newbie will need it. Follow the link to my code contribution ( and other things too ). FAQ - Please Read Before Posting. Link to comment Share on other sites More sharing options...
kurtykurtyboy Posted June 5, 2022 Author Share Posted June 5, 2022 Quote ..the world is going "per-monitor awareness", so that's what should be coded for Point taken.. I'm not old enough to be stuck in my ways. I poked around that UDF and can see how that would be a lot simpler/cleaner than the user manually scaling each control. The idea is you feed it all your controls and let the UDF do the resizing as needed. I'm starting to see your point. If this is done via a UDF, then there is no point in scaling each control, which means I can remove that functionality from GuiBuilder, which means that picking up this project was pointless since that was my whole reason for starting this! You've now convinced me to quit. Just kidding, I'll keep going. I've been growing quite fond of it as things become more and more stable. Now to decide if that existing DPI UDF is good enough or if we need to enhance or improve it... but that's for another discussion I suppose. argumentum 1 Link to comment Share on other sites More sharing options...
jaberwacky Posted June 6, 2022 Share Posted June 6, 2022 This is beautiful! Thank you. mLipok and TheSaint 2 Helpful Posts and Websites: AutoIt3 Variables and Function Parameters MHz | AutoIt Wiki | Using the GUIToolTip UDF BrewManNH | Can't find what you're looking for on the Forum? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now