Popular Post PiDi Posted April 6, 2016 Popular Post Report Share Posted April 6, 2016 (edited) Note: G Code Manager is now available at GitHub: https://github.com/veritechpl/gcm G Code Manager GCM is a tool that makes the properties of Project Items in Project Explorer window more accessible, removing unnecessary waiting times and modal windows. In runs in window next to the Project Explorer window and shows the items properties immediately after selecting new item in the explorer. GCM also allows you to create your own plugins to access those Project Items! Requirements The package was built in LabVIEW 2014, it should also run in LabVIEW 2015. How to start In the Project Explorer window click on the Tools menu, then select G Code Manager -> Run GCM… Download IMPORTANT NOTICE This tool was made using some internal LV APIs which are not fully tested and documented It is in very early stage when it comes to stability It may cause LV to crash! I strongly advise using source control - if you're not using one, do not even install this tool! (Above statements are really for your own good - I'm using this tool in my everyday work and I don't have any major issues. However, you might accidentaly clear your VI description or icon, or something like that, so be prepared for it by using source control like SVN or Git to revert the changes). Current Version Version 1.14.0.71 Download: veritech_labview_code_manager-1.14.0.71.vip - Added GCM settings screen - Added option to automatically open GCM with the project Older Versions Verstion 1.13.0.67 Download: veritech_labview_code_manager-1.13.0.68.vip - Interface cosmetics. Smaller window size - GCM remembers last selected plugin for the project item type - Dock button added, which makes GCM window always on front - Added support for build specifications: EXE, Installer, RT Exe, FPGA - Added VI Window Properties plugin (beta) - Added VI Execution Properties plugin (beta) Version 1.11.0.61 veritech_labview_code_manager-1.11.0.61.vip - Icon Editor: Added "Default Font Settings" which sets the font to 8 pt, centered, capitalized. - Fixed the synchronization issue between plugins (icon edited in Icon Editor was not updated in Basic Documentation). - Added new incoming events for plugins to better handle items selection/deselection and plugin activation/deactivation (see the attached documentation) Note: The plugins API was changed in this version. If you've made your plugin in previous versions, please refer to the updated documentation. If you have any problems, just contact me Documentation: GCM.pdf Version 1.10.0.58 veritech_labview_code_manager-1.10.0.58.vip - Added Icon Editor for VIs, which currently allows editing the icon text or clearing the icon completely Documentation: GCM.pdf Version 1.9.0.54 veritech_labview_code_manager-1.9.0.54.vip See this document for more information: GCM.pdf Edited June 1, 2017 by PiDi 10 Quote Link to comment
PiDi Posted April 6, 2016 Author Report Share Posted April 6, 2016 (edited) Known issues v. 1.9.0.54 Any editions (VI/Class description, icons) might not save after the project is closed.Workaround: To ensure saving all the changes, use the Save All button in Project Explorer: Comment: I did not noticed that because my normal workflow includes bashing Save All button whenever I'm done with anything (and sometimes just randomly) Edited April 6, 2016 by PiDi Quote Link to comment
Stobber Posted April 6, 2016 Report Share Posted April 6, 2016 1. This looks great! Any attempt to reinvent the crusty LV IDE is fully supported here. 2. I was pleased to find this tool instead of another package manager when I clicked the link to this thread. Any reason you called it a "code manager"? 3. Are you actively developing it to address bugs like the one you posted today? Do you intend to invite community collaboration on the plugin framework? Quote Link to comment
PiDi Posted April 6, 2016 Author Report Share Posted April 6, 2016 Hey, Stobber, thanks for the reply! 1. We've been using this tool for some time at Veritech and I finally got myself to show it to the Community - I also presented it at the European CLA Summit just before posting it. If you like it and you think that it can save just a little bit of your precious time - that's fantastic! 2. Hmm, no, I can't give you any good reason for that other than "we've just chosen it and then moved on to our normal work". We've had a similar tool once which we called LabVIEW Code Manager, than this one took this name, then we renamed it to G Code Manager, so we won't have proprietary LabVIEW name. But I never thought why is it actually "Code Manager", and now you've got me to rethink the name again 3. Yes and Yes. One of the main reasons I released it is that I want to get some good feedback to boost the developement. As for the community collaboration - I'm happy to hear any suggestions on any level, from bug reports and features requests to any architectural tips and minor tweaks somewhere deep in the code. Oh, and I forgot to mention few things about it: - you can open the main VI block diagram by pressing CTRL+SHIFT+E. - you can open any plugin BD by right-clicking on empty space in the plugin and selecting Open Block Diagram (this is subpanel). - none of the code is password protected - it is intended to be free, open-source tool under GPL licence - the code will be posted on github sooner than later (or as soon as I find some time to do it) 2 Quote Link to comment
PiDi Posted April 13, 2016 Author Report Share Posted April 13, 2016 (edited) I've just uploaded new version 1.10 (see the updated first post). It comes with new plugin - Icon Editor, which currently allows to clear icon and edit its text: I'm using this quickly edit my class members, when I don't have time to create fancy icons with glyphs. You can always double-click on Icon to open native Icon Editor. At this moment I see 42 downloads of the first version, which is great But I'd love to see more feedback from you! If you have any comments, issues, propositions, requests, questions, or you just like it/don't like it, or you don't know how to use it, let me know by commenting here! Edited April 21, 2016 by PiDi 1 Quote Link to comment
martin_g Posted April 23, 2016 Report Share Posted April 23, 2016 Just started using this tool, thanks for sharing this, great work! So far it has made me much better at keeping VI descriptions up to date. Quote Link to comment
PiDi Posted May 18, 2016 Author Report Share Posted May 18, 2016 New version 1.11.0 is added to the first post. In the v.1.10 there was synchronization issue between plugins - after editing the icon with Icon Editor plugin, it wasn't updated in Basic Documentation, and vice versa. This is fixed now by making some changes to the events that plugin receives. I'll probably review the communication with plugins a few more times, so if you're trying to develop your own plugin and run into any problems - please contact me. I've also updated the "Your own plugin" part in the documentation (now with fancy sequence diagram!). So, not many fireworks in this version, or at least the fireworks are hidden somewhere in block diagrams. Quote Link to comment
Porter Posted October 13, 2016 Report Share Posted October 13, 2016 Great work! I've been using this tool for a couple of months now. I'm looking forward to trying your next release. So far I've found it most useful for editing the inheritance and localized names of my classes. Quote Link to comment
PiDi Posted October 19, 2016 Author Report Share Posted October 19, 2016 Hi Porter, I'm happy to hear that! Do you have any specific expectations for the next versions? Any features you'd like to see? I have one cool feature coming already: the build specifications editor. So far it doesn't look very impressive, but everyone who's ever waited for LV to open exe/installer properties will understand this plugins hidden beauty 2 Quote Link to comment
Porter Posted October 31, 2016 Report Share Posted October 31, 2016 Yes. I usually forget to set the version number correctly because it such a pain to get to. I realize afterwards and have to re-build my application. Other features that I'd like to see: - Reentrancy, debugging, auto error handling settings for each VI (even if they are read-only) - For a class, it would be very useful if you could rename all of the object in/out terminals of member VIs with the click of a button Quote Link to comment
hooovahh Posted October 31, 2016 Report Share Posted October 31, 2016 Remembering to version can be an issue, which is why I made a prebuild VI that runs which prompts you for the version. It also sets all installers to have the same version as the EXE you are setting, and I modified it so it sets the build number to the commit number in SVN. 2 Quote Link to comment
PiDi Posted November 3, 2016 Author Report Share Posted November 3, 2016 On 31.10.2016 at 6:44 PM, Porter said: - Reentrancy, debugging, auto error handling settings for each VI (even if they are read-only) You mean like that? \ On 31.10.2016 at 6:44 PM, Porter said: - For a class, it would be very useful if you could rename all of the object in/out terminals of member VIs with the click of a button I have it on my feature list, +1 point for it. 1 Quote Link to comment
Porter Posted November 3, 2016 Report Share Posted November 3, 2016 I'm looking forward to trying it out. I wonder how you handle forbidden combinations of: - Preallocated clone execution when there are dynamic dispatch terminals - Inline subVI into calling VI when there are dynamic dispatch terminals - Inline subVI into calling VI when there are property nodes on the block diagram - Inline subVI into calling VI with error handling - Inline subVI into calling VI with non-reentrant execution Quote Link to comment
PiDi Posted November 3, 2016 Author Report Share Posted November 3, 2016 7 minutes ago, Porter said: I'm looking forward to trying it out. I wonder how you handle forbidden combinations of: - Preallocated clone execution when there are dynamic dispatch terminals I think I'll just do what LabVIEW currently does - I'll let you set it and it'll break your VI Quote - Inline subVI into calling VI when there are dynamic dispatch terminals - Inline subVI into calling VI when there are property nodes on the block diagram - Inline subVI into calling VI with error handling - Inline subVI into calling VI with non-reentrant execution Easy - there is VI property "Inline Is Allowed", so if it will return false, I'll just disable Inline option. Quote Link to comment
hooovahh Posted November 3, 2016 Report Share Posted November 3, 2016 Yeah I like that property, but there are still a few instances where a VI could be inlined, but doing so would effect the code in some way the developer needs to be aware of. If you use the Call Chain primitive, then it will return one less level, if the VI is inlined. I only say this so that others are aware that turning on inlining for all VIs that can be inlined, is not always a good idea. Quote Link to comment
smithd Posted November 4, 2016 Report Share Posted November 4, 2016 (edited) 7 hours ago, PiDi said: I think I'll just do what LabVIEW currently does - I'll let you set it and it'll break your VI Easy - there is VI property "Inline Is Allowed", so if it will return false, I'll just disable Inline option. The nice thing to do would be try to make each change and if the VI breaks (and wasn't broken before) you can undo it. The other thing is that there are really only a few possible combinations, so instead of replicating the horrible VI props menu you could make a list of possible combos...i did something like that here https://decibel.ni.com/content/docs/DOC-43737 Its in the execute function (I wouldn't look at the menu maker function, its pretty gross) Edited November 4, 2016 by smithd Quote Link to comment
PiDi Posted March 2, 2017 Author Report Share Posted March 2, 2017 (edited) Sorry to keep you waiting, but here it is: GCM 1.13.0 is available to download in the updated first post. A few highlights: 1. Updated interface, it now takes a bit less of your precious screen space and looks just the same bit better (also - with the fancy Stay on top? button, thanks for the idea TMa!): 2. New VI Execution Properties plugin (might have some issues, please let me know if you find any). Thanks to Dawid for help. 3. New VI Window Properties plugin (might have some issues, please let me know if you find any). Thanks to Dawid for help. 4. Added support for build specifications. The build specifications plugins that I mention before will be here soon (soon as in "a week or two", not as in "few months" ) 5. And global thanks to May for flat controls and general UI ideas. Download, install, use, have fun Edited March 2, 2017 by PiDi 1 Quote Link to comment
PiDi Posted March 28, 2017 Author Report Share Posted March 28, 2017 Version 1.14.0 is added to the first post. Fabiola suggested that it should open automatically when the project is opened, so you don't forget to actually use it. Fair point, so now we have GCM up and ready when the project is opened! If you don't like it though, you can turn this feature off in new settings screen: Also: here's the build specifications editor which I've mentioned. It works with exe and installer build specs and currently allows to change the version (with a little issue with Auto-increment option, described on the panel). Just download and install it, it should show up in GCM after installation. veritech_lib_gcm_build_spec_editor-1.0.0.8.vip \ 2 Quote Link to comment
PiDi Posted June 1, 2017 Author Report Share Posted June 1, 2017 G Code Manager is now available at GitHub! You can find it here: https://github.com/veritechpl/gcm Feel free to contribute! 2 Quote Link to comment
Porter Posted October 24, 2019 Report Share Posted October 24, 2019 It would be nice to be able to modify .mnu palettes with the GCode manager. This way you don't need to add the palette to your palette set just to edit it (as you have to do with the built-in palette editor). Shouldn't be too hard to implement 😜 There is a Palette API that ships with LabVIEW. Quote Link to comment
PiDi Posted October 29, 2019 Author Report Share Posted October 29, 2019 Hi Porter, where is this Pallete API? I've never used it, so I'm a bit in the dark Would you like to help creating this plugin to G Code Manager? Quote Link to comment
Francois Normandin Posted October 29, 2019 Report Share Posted October 29, 2019 Application Control >> Palette Editing (It's really just a flatten/unflatten .mnu file API...) Quote Link to comment
Porter Posted October 30, 2019 Report Share Posted October 30, 2019 I'd be happy to work on it in my free time... when I have free time (newborn baby girl waiting for me at home) Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.