/GacJS

Running GacUI in Browsers!

Primary LanguageJavaScriptOtherNOASSERTION

GacJS

Read the LICENSE first.

Running GacUI in Browsers!

Source code is abondoned. This repo will be used to port GacUI to WebAssembly. All content will be deleted later.

Notice

Some content is under development. I will keep all code compatible across browsers by only testing the code using the latest version of IE, Firefox and Chrome. After Windows 10 releases, Edge will be included.

In the future, GacGen.exe can translate GacUI XML resource files to javascript codes, mapping all classes to javascript. You can just create an instance of your control class and plug it in the DOM tree at wherever you want, and the UI will appear in the web page.

This project's priority is not very high. The first step is to re-implement GacUI's layout system using javascript, and then use it to develop the GacUI document generator with C++ and XML comments.

Running test pages

Running test pages is very simple, just follow the steps:

  • Clone this repo to your disk.
  • Create a web site on the cloned folder using IIS.
  • Launch http://127.0.0.1:< port >/Entrance.html according to your configuration.

Content

  • Package.js : A package infrastructure. All JavaScript components in this project will be build as packages. You don't need to worry about the order -- except that Package.js should be the first one -- when including coupled JavaScript files in your HTML document.
  • Test.js : A very simple unit test framework, that only me will use it.
  • Class.js : An object oriented type definition library for translating Workflow script to Javascript, including
    • Inheritance and virtual inheritance.
    • Virtual, Override and New functions.
    • Private, Protected and Public functions. Which means that, inside the class all code can see private and protected members, but outside the class only public members are visible.
    • Properties and Events.
    • POD
    • Enum
    • Unit test for Class.js in Class.html.
  • Html/ : HTML related packages.
  • IO/ : IO related packages.
  • GacUI/ : GacUI in Browsers!.