hxWidgets

Haxe externs (and wrappers) for wxWidgets
https://github.com/haxeui/hxwidgets

To install, run:

haxelib install hxWidgets 1.12.0 

See using Haxelib in Haxelib documentation for more information.

README.md

build status build status build status

hxWidgets

Haxe externs (and wrappers) for wxWidgets

Dependencies

You need the hxcpp library and at least Haxe 3.4.0, we recommend Haxe 3.4.2.

Windows

  • Download and install wxWidgets source from [https://www.wxwidgets.org/downloads/](https://www.wxwidgets.org/downloads/)
  • Create WXWIN environment var if setup didnt (eg: C:\wxWidgets-3.0.2)
  • Open a Visual Studio Developer prompt, or run vcvarsall.bat from Visual Studio dir in your current prompt (eg: "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat")
  • Build shared and static releases of wxWidgets:
  • cd %WXWIN%\build\msw\
  • nmake.exe -f makefile.vc BUILD=release
  • nmake.exe -f makefile.vc BUILD=release SHARED=1
  • nmake.exe -f makefile.vc BUILD=release TARGET_CPU=X64
  • nmake.exe -f makefile.vc BUILD=release SHARED=1 TARGET_CPU=X64

Requirements for Linux and Mac

You need wxWidgets 3.x and wx-config available in your path.

Linux

You can install wxWidgets with:

  • debian/ubuntu 20.04 (or later):
  • apt-get install libwxgtk3.0-gtk3-dev libwxbase3.0-dev libwxgtk-webview3.0-gtk3-dev
  • debian/ubuntu (older versions):
  • apt-get install libwxgtk3.0-dev libwxbase3.0-dev libwxgtk-webview3.0-dev

Mac

You need at least OSX 10.7 and you can install wxWidgets with:

brew update
brew install wxwidgets

More About this Library

hxWidgets is actually independent of haxeui-core (and haxeui-hxwidgets as well), and can be used on its own if you so desired (the showcase in this repo is an example of that). hxWidgets consists of two layers:

  • wx.widgets.* (e.g., wx.widgets.Button) : these are externs for Haxe (hxcpp) for wxWidgets, and could be used as-is — though, working with externs, esp. C++ externs, can be... difficult.

  • hx.widgets.* (e.g., hx.widgets.Button) : these are nice Haxe wrappers for the externs so you can just do new Button(...) and be done with it (it manages all the pointers, etc.). They also make things a little more "haxey" in the sense that you have myButton.bitmap = ... rather than the traditional wx way myButton.setBitmap(...).

Building WxWidgets From Source (Linux & OSX)

Sometimes is useful to have the most up-to-date version of wxWidgets running on a linux or OSX system, to do this follow these steps:

  • download source archive from: https://www.wxwidgets.org/downloads/
  • alternatively you can get the very latest version from here: https://github.com/wxWidgets/wxWidgets
  • unzip to, for example: /home/users/username/wxwidgets3.1.3/
  • create a folder there: mkdir wx_build
  • enter folder: cd wx_build
  • configure: ../configure --with-opengl --disable-shared
  • if you get errors during configure you likely need to run one (or all) of the following (on linux): sudo apt install build-essential sudo apt install libgtk2.0-dev sudo apt install libgtk-3-dev sudo apt install freeglut3-dev
  • make: make (adding -j3 will allow your system to use 3 cores and thus speed up the initial compile)
  • once built, install: make install (may need sudo if not default /usr/local location)
  • wx-config --version should now show the version you just built
  • you may need to add the unzip folder to your $PATH var if it doesnt show the right version
Contributors
ianharrigan
_ibilon
haxeui
Version
1.12.0
Published
1 year ago
Dependencies
License
MIT

All libraries are free

Every month, more than a thousand developers use Haxelib to find, share, and reuse code — and assemble it in powerful new ways. Enjoy Haxe; It is great!

Explore Haxe

Haxe Manual

Haxe Code Cookbook

Haxe API documentation

You can try Haxe in the browser! try.haxe.org

Join us on GitHub!

Haxe is being developed on GitHub. Feel free to contribute or report issues to our projects.

Haxe on GitHub