brucejohnjennerlawso / cmd-- Goto Github PK
View Code? Open in Web Editor NEWAn object-oriented library created to aid writing command line programs in C++. Automates menu loops, user help, and is platform-independent.
An object-oriented library created to aid writing command line programs in C++. Automates menu loops, user help, and is platform-independent.
While considering the problems encountered in compiling my windows-styled code on linux g++, decided that header files are stupid, and would be better putting all code inside of cpp files. Need to update this for the Cmd-- framework.
Actually should be easier to work on once classes are in their own files...
Need to update the documentation with info on the new changes (Cmd--, Embed_function(), etc.)
Logo needs to be updated as well. And uploaded here somehow.
Extend the abilities of the help menu. Add basic "How to use Cmd--" explanation, as well as individual menu descriptions set by the developer. Also include basic release info, like version #, date & developer name, etc.
The constructor for TCmdMenu objects should implement an automatic std::transform in the constructor for the id string. This will prevent users from accidentally creating otherwise fine, but inaccessible menu objects due to being passed a lowercase string.
As suggested by Vaughan, incorrect inputs need to be identified as such for the user, and occasionally directed to the help menu after input failure. Should be simple enough to implement, and can be overwritten by the developer as they see fit. Mostly implemented via TCmdMenu.
Originally the project was Cmd++, but Github (happily) forced a name change on me. Need to edit the documentation & source code to reflect this. Really just trivial copy paste editing...
The CProgFx pointers that hold the functions assigned to each menu may leak memory if not assigned to a TCmdMenu object (which cleans its own pointers up at program exit). Need to find a way to ensure that they do get cleaned up regardless of whether they have been assigned.
Have styles & similar program data passed to a function in int main(). Allows for less tweaking & forces the developer to clearly state desired settings. Also need to add a compile flag if not called, could be difficult.
As pointed out by Ne555, connecting menus by reference to string IDs is suboptimal, & should be done by passing pointers, so as to bring up any issues at compile-time instead of run-time.
Translation: will need to go into the TCmdMenu::menu() loop and alter the processing flow again so that this works, as well as modifying the constructors and several other things. Will probably break backwards compatibility in a huge way, but the benefits outweigh the issues quite a bit.
This may need to be dealt with in conjunction with the other memory leak issue.
Made a stupid mistake with failing to initializing Fx objects which caused a segfault. This really needs to be automated somewhere idiot proof.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.