This is a "Hello World" level project using the wxWidgets toolkit. I need a cross-platform program that will keep track of and display how many times user has clicked a button, much like a hand-held mechanical counter device. Specifically, it's a give away program for users of online casinos to keep track of how much money they have wagered. Each time a bet is placed, the user activates the counter via a click or global hotkey. It doesn't need to track winnings, only amount wagered. wxWidgets is a cross-platform toolkit, and I need the final project to run on Windows, Linux, and Mac. I can compile and test for Linux. You will need to compile and test for Windows. It would help if you can supply a Mac executable, but something can be worked out if you do not have access to a Macintosh system. Familiarity with wxWidgets would be useful, but is not required. It's well documented, and you can figure it out. You should, however, be a solid C++ programmer capable of writing clear code that can be understood and modified by others. Knowledge of systems other than Windows would be useful but not required.
The interface is simple and compact. I'm presuming a single small window with no title bar. I've attached a crude sketch to show what I am picturing, but I hope that your design would look more presentable. No graphics are necessary other than simple icons and buttons. Mostly I care that it is simple and clear, and less about exactly how it looks. Window should have:
a) A display of the current total. This display should be in-place editable should the user wish to clear or change the total (perhaps icons for each of these).
b) A button to add a configurable amount to the total. The buttons should display what amount it adds, and allow the user to change this amount.
c) A configurable global hotkey that will perform the same action as the button. Global hotkey is probably only possible in Windows. There should be command line options to perform these actions on the other systems running another instance of the program and having it update the visible window.
d) A link to my website that will open a browser window using an external browser. Choice of browser should be configurable with some sensible platform default.
Window is resizeable, and font size can be changed. Configuration information (hotkey, font size, window size, increment amount) should be saved across runs. Program should be a single executable that can be downloaded and run without needing installation or external dependencies.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
Program should be written using the wxWidgets toolkit, and must run on Linux, MacOS, and all modern versions of Windows. As long as wxWidgets coding standards are adhered to, however, it is acceptable to test and supply only the Windows executable. I can compile and test the Linux executable, and can make minor modifications to allow it to work. If major modifications are required to allow Linux execution, you will need to re-architect. For well-written code this should not be a problem.