本人和同学码的一个可视化编程工具,类似EV3
GitHub Address: https://github.com/billhhh/whEST
/*
Copyright (c) 2015-2017 by programmers. All rights reserved. Released under a GPL-3.0
license as described in the file LICENSE.
*/
introduction
whEST is a Visual Programming tool that can help programmers to program without writing actrual texting codes. It is based on VDAG model which can be found in docs folder for details and it has better efficiacy and faster speed than Lego EV3.
Multi-thread Synchronization
It is the greatest feature of the new version of whEST. This feature differentiate whEST with Lego EV3, there are threads merge points in the graph which has the function of thread scychronization. Some new features are still in experiments, but have been put into folderMutilThread_Sync.
installation
There is Setup files in the master branch which is runable. It is in zip format. Double click it and you could install it on your windows (better to >=xp).
description
Background
bin
CanvasManager
CommantManager
Compiling
DataLineManager
GUIInterface
include
LBSProgNProj
lib
Mainwindow
Module
ModuleLayoutManager
ModuleLineManager
ModuleManager
ModuleTool
MyModule
public
ResourcesManager
SpecialModule
All of the source code is in ver_XX folder. The description is showed as below for better understanding of reading codes.
Background is the key part of the whole platform. It controls all the data flows and how to store the data structure. A hierarchical structure has been adopted which could be found in docs for detail.bin forder is for configuration XMLs which have been format into structures.
Compiling is the part for compiling which could compile the visual code into assembly or C languages.
lib is for libraries.
Mainwindow is the Qt entrance of the project.
public folder contains some resources.
Other folders are all for display and interaction with users.
Background – the core of the project
├───Background
│ ├───whBK
│ │ ├───logic
The logic folder is the hierarchical graph classes which describes the hierarchical structure of the backend. There is a interface been exposed to the Compiling part and foreground called msgInterface.
The foreground and background communicate with each other through a message manager layer, which could be easily showed as below.
How to contact me
My mailbox [email protected]