Sparker 184 Posted May 21, 2021 Intro The idea of a GUI layout manager is simple: instead of using raw coordinate values we can use sets of rules and let the system calculate UI element positions and sizes for us. Just think about how mobile phones scale their apps for different screen sizes and orientations, or how web browsers manage page layout. GUI Layout Manager for Arma 3 This layout manager is written in SQF. It supports several sizing and positioning options for rows, columns and elements inside cells. Just watch the video: Summary of supported layout rulesColumn/row sizes: absolute and relativeCell content sizes: absolute and relativeCell content positioning: relative and snapping to bordersContent margins: Layout Example For example, this is how the code for the following GUI looks like:https://github.com/Sparker95/Layout-Manager/blob/master/tests/example.sqf Source code and docs Please check the GitHub page to get the code or documentation:https://github.com/Sparker95/Layout-Manager https://github.com/Sparker95/Layout-Manager/wiki/1-Basic-concepts I hope this helps someone in GUI adventures. So far I have seen zero people who like to do positioning of GUIs for Arma (including myself), I really hope that this code changes it! 7 4 Share this post Link to post Share on other sites
LSValmont 789 Posted July 18, 2021 I've been experimenting with this and God I wish we could've gotten this years ago but then again better late than never so thank you @Sparker! Additionally I would like to report that I've been getting this one error when running both example.sqf and test.sqf with [] execVM "tests\test.sqf"; from the console. Image: https://ibb.co/r6Yhf2s Share this post Link to post Share on other sites
Sparker 184 Posted July 18, 2021 Hey, so I guess you're the first person to try the test code? I'm glad that you are enjoying it 🙂. Thanks for the error report, I've fixed the issue, make sure you update the code from the repository. I didn't notice it because I was testing the code with a call compile ... of the files, instead of spawning the code. In this case the game doesn't report unknown variable names, unfortunately 😕 and I totally forgot that 1 Share this post Link to post Share on other sites
LSValmont 789 Posted July 18, 2021 3 hours ago, Sparker said: Hey, so I guess you're the first person to try the test code? I'm glad that you are enjoying it 🙂. Thanks for the error report, I've fixed the issue, make sure you update the code from the repository. I didn't notice it because I was testing the code with a call compile ... of the files, instead of spawning the code. In this case the game doesn't report unknown variable names, unfortunately 😕 and I totally forgot that I am pretty sure I was not the first but perhaps I tested it more than anyone else 😉 I was wandering a few minor things: A-) This tool was meant as a fully scripted (.sqf) way to implement GUIs (a replacement to the current Arma 3 system) or B-) This is rather a tool (complement to the current Arma 3 system) to make it easier for the mission makers to get their GUI template like they want and then export it to regular GUI format (.hpp). I am asking because I have modified your example .sqf and test.sqf exactly like I wanted but don't know how to export it or how to customize each button etc. Once I have the template the way I want it how I am supposed to continue the customization? Share this post Link to post Share on other sites
Sparker 184 Posted July 18, 2021 This is a fully scripted solution to solve the problems of UI element positioning and size. It's up to you how to set event handlers of your controls and how to decorate them: - You can use arma's standard Rsc... config classes and create elements according to them, then register them in the grids. - You can create your own GUI element config classes, then create elements in code and do the same. - You can also customize the elements (event handlers, color, text size, etc) by SQF code when you create the controls. There is no 'export this to config' button, the goal was to get rid of horrible configs for size and positioning :). Share this post Link to post Share on other sites
LSValmont 789 Posted July 19, 2021 19 hours ago, Sparker said: There is no 'export this to config' button, the goal was to get rid of horrible configs for size and positioning :). That is great to know! Out of all the possible uses of this tool that one is the best by far, no need to export to something that is quite unwieldy. I have a working GUI in config format and want to do the same but on your GUI solution. I was wondering if you could help me on that regard and I can contact you on discord if you can. Share this post Link to post Share on other sites
Sparker 184 Posted July 19, 2021 Sure you can write to me on Discord 🙂 1 Share this post Link to post Share on other sites