haxeui-hxwidgets

The wxWidgets backend of the HaxeUI framework


Keywords
gui, hxwidgets, native, ui, wx, wxwidgets, haxe, haxeui-backend
License
MIT
Install
haxelib install haxeui-hxwidgets 1.2.3

Documentation

Build Status Support this project on Patreon

haxeui-hxwidgets

haxeui-hxwidgets is the wxWidgets backend for HaxeUI.

Installation

  • haxeui-hxwidgets requires at least Haxe 3.4.0, we recommend Haxe 3.4.2.
  • haxeui-hxwidgets has a dependency to haxeui-core, and so that too must be installed.
  • haxeui-hxwidgets also has a dependency to hxWidgets (the wxWidgets Haxe externs), please refer to the installation instructions on their site.
  • You will also need a copy of the wxWidgets libraries which can be obtained here. The easiest way to install and setup the libraries is to follow the instructions here.

Installation of the haxeui can be performed by using haxelib, you will need a the haxeui-core haxelib as well as the haxeui-hxwidgets backend:

haxelib install haxeui-core
haxelib install haxeui-hxwidgets

Usage

The simplest method to create a new hxWidgets application that is HaxeUI ready is to use the CLI to create a skeleton project:

haxelib run haxeui-core create hxwidgets

If however you already have an existing application, then incorporating HaxeUI into that application is straightforward:

haxelibs

As well as the haxeui-core and haxeui-hxwidgets haxelibs, you must also include (in either the IDE or your .hxml) the haxelib hxWidgets.

Toolkit initialisation and usage

The hxWidgets application itself must be initialised and an event loop started. This can be done by using code similar to:

static function main() {
	var app = new App();
    app.init();
    
    var frame:Frame = new Frame(null, "My App");
    frame.resize(800, 600);

    frame.show();
    app.run();
    app.exit();
}

Initialising the toolkit requires you to add these lines somewhere before you start to actually use HaxeUI in your application and after the hxWidgets frame has been created:

Toolkit.init({
	frame: frame      // the frame on which 'Screen' will place components
});

Once the toolkit is initialised you can add components using the methods specified here.

hxWidgets specifics

Components in haxeui-hxwidgets expose a special window property that allows you to access the hxWidgets Window, this could then be used in other UIs that arent using HaxeUI components.

Initialisation options

The configuration options that may be passed to Tookit.init() are as follows:

Toolkit.init({
	frame: frame      // the frame on which 'Screen' will place components
});

Addtional resources

  • haxeui-api - The HaxeUI api docs.
  • haxeui-guides - Set of guides to working with HaxeUI and backends.
  • haxeui-demo - Demo application written using HaxeUI.
  • haxeui-templates - Set of templates for IDE's to allow quick project creation.
  • haxeui-bdd - A behaviour driven development engine written specifically for HaxeUI (uses haxe-bdd which is a gherkin/cucumber inspired project).
  • WWX2016 presentation - A presentation given at WWX2016 regarding HaxeUI.