QtAp Getting Better

So the app is getting better. The “interfaces” for the extensions have been defined for now, and just doing the last functions of UTF import to bring it up to the level of building the first view. The command menu has been roughly defined, and changes based on the view.

Qt so far is quite nice to use. I have found as an experienced C/Java coder, much of the learning curve is not so much finding the right classes, but the assumptions one has to make on the garbage collection and the use of delete. In some cases, it is obvious with some thought (local variable allocation, and automatic destruction after use), while in others not so (using a common QPlainTextDocument in multiple widgets and removing the default ones). Basic assumption says pointer classes have to be manually handled.

https://github.com/jackokring/qtap/blob/master/classfilter.h is a category filter based on an extensible bloom filter. The .c file is in the same directory.

N.B. It’s so funny that some “amazing” hackers can bring down this sub $10 server. Way to go to show off your immense skill. A logline 142.93.167.254 – – [19/Jan/2020:08:38:01 +0000] “POST /ws/v1/cluster/apps/new-application HTTP/1.1” 403 498 “-” “python-re$ … etc. I’m dead sure no such thing exists on this server. And the /wp-login automated port 80 hammering for services not offered.

But enough of the bad news, when something along the lines of maximal entropic feature virtualization sounds like something nice (or not). Who knows? What’s involved? Somekind of renormal on the mapping of k-means for a spread which is morphing the feature landscape to focus or diverge the areas to be interpreted?

QtAp Release v0.1.13

GitHub Pages

It’s not great, but quite a nice experience with undo/redo, and Git integration. I even added the translation engine as part of the release, but have done no actual translations. It’s a better app initially as it includes some features that will consume time to add to the example notepad app.

Also in the background there is quite a bit which has been done which is ready as soon as the app develops, such as the interception of the action bar such that right click can show hide which sections are visible, and this is saved as part of the restored geometry.

0.1.13 QtAp Releases and Development

The getting of the greying out of menus and the action buttons depending on state was a nice challenge to learn the signal slot methods Qt uses. The tray is automatically generated too depending on the calls to the addMenu function, and the setting of flags to indicate state response routing.

I’m likely to even build a JavaScript host in there for the user and add in some extras for it, as this seems the most obvious way of scripting in the browser era. There is also possibilities to build new views by QML and so allow some advanced design work under the hood, while maintaining a hybrid approach to code implementation.

I cheated quite a lot by having a dependency on Git and so SSH. I’m not sure I even need the socket interface as long as I do some proxy code in JS to move data to and from C/C++.

Moving on to adding features to the interface, and a command menu which has selections based on the current active view. This could be done by buttons, but actions are better as they have a better shortcut method, and easier automatic accesibility tool interfacing.

The icon set likely needs a bit of a spruce up, and matching with some sensible default. Maybe adding in the cancelation of a bash sequence so that anti-commands can be supplied in a list, and run if it makes sense to reverse. Maybe later, later.

EDIT: The overriding of a class when it is attached to a GUI is slightly complex. I found the easiest way (not necessarily the most efficient as it depends on how the autogenerated setupUi function saves memory when not executed. The super class needs a simple bool stopUi = false with the extending subclass just passing this second parameter as true and putting an if(!stopUi) execution guard before the super class ui->setupUi(this) call in the constructor.

This allows QObject(parent) to be replaced by superClass(parent) to inherit all the “interface”. There maybe other ways using polymorphism, but none as easy.

More Qt 5

So I have the notepad app working sufficiently today for thinking about the next steps in its expansion beyond some simple idiot proofing of the git handling. It should be very easy to add more views, and a view handler for abstract views of data processing of the text which is in the main view.

The stylesheet needs work, but it’s still a matter of following the default themes (at least on Linux), and then that should be fine. The mimetype handling perhaps needs some alteration, as .v files also seem to be text.

Now it’s on to making the view list work so as to generate alternate computed views from the input notepad. And yes a blank view is available but accessed via when saved state is changed and sets available calculations.

Qt 5 Little App

I’m starting to write a little Qt application based on the simple editor application example. So far it doesn’t do much, and I’ve just been planning and adding some menus. These include a view menu for looking at things differently and a sync menu which will hook into a git repository when completed.

It’s quite a nice little tool kit. Looking into getting the Android NDK development with it. I’ll update as I go. So I’ve got the Android kit working to show a simple demo app on an android phone. It works, but does hide the top bar if the app scrolls when the input device opens. It comes back if you touch the now black area where the menu dropdown is.

Apart from setting up the tool chain, that has to be the simplest android development code I’ve seen. Some of the features such as sharing the libraries do not work with the Qt 5.13 release, and so you should avoid trying them. It doesn’t really matter though for the development of a single canvas application or a simple data tool.

Apart from minor bugs Qt Creator is an excellent tool, and should be on more development systems for open source, and even for closed source, but that would require a paid Qt licence.

And so I’ve decided to extend and simplify the notebook example code to make some kind of editor and processor. It seems like it could be easy, and I’ll factor off some of the useful routines into a shared library. It might be good, or it might be just another also ran.

For some reason it does not offer 32 bit desktop tools, but I might be lucky with the Intel DPC++ compiler. It could be good with some proxy of the GUI.

After a delay today due to disk errors hidden needing an fsck -b <superblock> option to get the boot, and actually liking timeshift with the /opt and /tools menus excluded. And back up and running on the desktop.

So back on track today with some signals and slots to do some logic with the clipboard icons such as shutting them off when it would not be sensible to not have them greyed out. I think the first external form, or maybe an embedded widget might be for the settings.

That reminds me that I must add a menu for it. I suppose it is a base view, but it’s likely better if it is considered a special case. Now to have a test out of some other things, as I think Mint 19.3 is coming for christmas.

EDIT: Mint 19.3 is here, and working quite nice. The app now has a style sheet, but I need to pick up “the desktop” one and do a bit of search replace to manufacture one for Qt on the fly. A little bit more code is needed to idiot proof the basic functionality, and then I have to move onto loading in abstarct processed views for all the features.