Another Dopey Calculator (qt4)
Another Dopey Calculator
Today's feature
First a bit of news re. the lq libs and mc2. (mc2 is the makefile creator developed here at this blog.)
The latest version of mc2 is undergoing testing and with any luck will include a SNAZZY set of graphics routines. The uitool is very nice for quickly writing moc files ui headers, etc. Currently some of the built-ins are a bit clunky, but they are effective and easy to use, such as the msgBox and infoBox things. You'll see.
Here's a preview of the uitool as a stand-alone app (2013-06-10).
http://www.linuxquestions.org/questi...3-06-10-35568/
However...
We're finding it very challenging getting the qwt lib widgets to play in designer. The way the colors are handled makes it easier to use the QT palettes when hand coding, but either messes with the base widget's palette (e.g., dial needles) or uses a private palette that may or may not be based on the user's 'theme' but in either case is set forever at object instantiation.
There are many ways to deal with this problem, and we've tried several with varying degrees of success. Unfortunately, we lost the code for the almost-successes, and so...
It's BREAK time! :-)
Here's a calculator called lq-calc that at least allows keyboard entry of numbers and the +,-,*,/ stuff.
It's not finished and it may never be. It has a slot for 'evaluate' to accept a string from the clipboard, but for that to be useful we also need parentheses, at a minimum, the "=" key needs to become ENTER and probably more scientific functions... and it's just not worth it at this time.
Pasting long complicated evaluations from a clipboard is a very useful function!
Even though it's missing this feature (at this time), it DOES have a Designer UI file, so it's much easier to edit than if it were all just straight C++, in case you are interested in adding anything to it. Or if you just want to break it. ;-)
This self extractor was generated with 'new.sfxz', available here at the blog. The full size of the expanded files is about 75K (74,091 bytes). This is self extractor is 13,862 bytes.
The Makefile was generated with mc2. The file in the src directory called ui_cmds.txt is a dump from the latest uitool. The slots in lqcalc.h were written with the uitool too, as were the implementations in lqcalc.cpp. But this wasn't meant to be an advertisement for the LQ-qt/mc2 d/load (here at the blog), and so with no further adue, here's a calculator that responds to keyboard key presses.
file: lq-calc.sfxz
purpose: utility (executable)
- The Computer Mad Science Team
:-)
Today's feature
- Another dopey calculator
First a bit of news re. the lq libs and mc2. (mc2 is the makefile creator developed here at this blog.)
The latest version of mc2 is undergoing testing and with any luck will include a SNAZZY set of graphics routines. The uitool is very nice for quickly writing moc files ui headers, etc. Currently some of the built-ins are a bit clunky, but they are effective and easy to use, such as the msgBox and infoBox things. You'll see.
Here's a preview of the uitool as a stand-alone app (2013-06-10).
http://www.linuxquestions.org/questi...3-06-10-35568/
However...
We're finding it very challenging getting the qwt lib widgets to play in designer. The way the colors are handled makes it easier to use the QT palettes when hand coding, but either messes with the base widget's palette (e.g., dial needles) or uses a private palette that may or may not be based on the user's 'theme' but in either case is set forever at object instantiation.
There are many ways to deal with this problem, and we've tried several with varying degrees of success. Unfortunately, we lost the code for the almost-successes, and so...
It's BREAK time! :-)
Here's a calculator called lq-calc that at least allows keyboard entry of numbers and the +,-,*,/ stuff.
It's not finished and it may never be. It has a slot for 'evaluate' to accept a string from the clipboard, but for that to be useful we also need parentheses, at a minimum, the "=" key needs to become ENTER and probably more scientific functions... and it's just not worth it at this time.
Pasting long complicated evaluations from a clipboard is a very useful function!
Even though it's missing this feature (at this time), it DOES have a Designer UI file, so it's much easier to edit than if it were all just straight C++, in case you are interested in adding anything to it. Or if you just want to break it. ;-)
This self extractor was generated with 'new.sfxz', available here at the blog. The full size of the expanded files is about 75K (74,091 bytes). This is self extractor is 13,862 bytes.
The Makefile was generated with mc2. The file in the src directory called ui_cmds.txt is a dump from the latest uitool. The slots in lqcalc.h were written with the uitool too, as were the implementations in lqcalc.cpp. But this wasn't meant to be an advertisement for the LQ-qt/mc2 d/load (here at the blog), and so with no further adue, here's a calculator that responds to keyboard key presses.
file: lq-calc.sfxz
purpose: utility (executable)
Code:
#!/bin/sh # base64 self extractor # file: lq-calc filename=lq-calc # don't allow user to click on the file if ! tty >/dev/null; then xmessage -center " $(basename $0) must be run in a terminal " exit fi # create and/or clear out tmp dir mkdir -p $HOME/tmp/sfxz rm -rf $HOME/tmp/sfxz/* base64 -d << _BEOF >$HOME/tmp/sfxz/$filename.xz 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 gQABo0qA0AUAO4A5U7HEZ/sCAAAAAARZWg== _BEOF (cd $HOME/tmp/sfxz && tar -xaf lq-calc.xz) rm -f $HOME/tmp/sfxz/lq-calc.xz cat << _BEOF > $HOME/tmp/sfxz/post-extract #!/bin/sh is_yes() # returns OK if first char is Y or y { local key=`echo $1 | cut -b1 | sed 's/y/Y/; /Y/!d'` [ "$key" == 'Y' ] && return 0 # true return 1 # false } if [ -e lq-calc ]; then printf " Overwrite existing file(s)? [N/y]:" read key if ! is_yes $key ;then echo "Aborting.." exit 0 fi fi mv $HOME/tmp/sfxz/lq-calc . _BEOF sh $HOME/tmp/sfxz/post-extract rm -rf $HOME/tmp/sfxz/* rmdir $HOME/tmp/sfxz 2>/dev/null || true rmdir $HOME/tmp 2>/dev/null || true
- The Computer Mad Science Team
:-)
Total Comments 0