Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
node.js wrapper for wxWidgets
C++ JavaScript
branch: master
Failed to load latest commit information.
deps working on windows compile
examples running webview example further
lib run script works
src-dummy added more classes
src-generated webview working on windows
src-templates working on windows compile
src working on windows compile
.gitignore moved render template to mnm
README.md
build-win32.js Create fsExplorer to simplift the large amount of path wrangling that…
config-win32.json Make the builder capable of building wxWidgets from scratch. Config f…
fsExplorer.js Fix and improve filesystem abstraction
index.js
mnm.js Update master
package.json new version
render-templates.js working on windows compile
rungccxml.sh.patch moved to wxWidgets 2.9.3
strvararg.h.patch moved to wxWidgets 2.9.3
wxapi.xml webview working on windows

README.md

Feel free to use this module but, I am no longer supporting it in favor of AppJs

wxNode

node.js wrapper for wxWidgets.

Installation Linux

  • Download and install wxWidgets 2.9.3.
$ npm install wxnode

Installation Windows

  • Download wxWidgets 2.9.3.
  • Download and install node from source (release, 64-bit) "vcbuild.bat release"
cd d:\dev\wxWidgets-2.9.3\build\msw
nmake -f makefile.vc BUILD=release UNICODE=1 RUNTIME_LIBS=static DEBUG_FLAG=0
set WXWIN=d:\dev\wxWidgets-2.9.3
set WXCFG=vc_lib\mswu
cd d:\dev\wxNode
node mnm.js build

Try an example

node examples/helloWorld.js
node examples/...

Quick Examples

var wx = require("wxnode");

var MyApp = wx.App.extend({
  onInit: function() {
    var location = new wx.Point(50, 50);
    var size = new wx.Size(450, 340);
    var frame = new MyFrame("Hello World", location, size);
    frame.show(true);
    this.setTopWindow(frame);
    return true;
  }
});

var MyFrame = wx.Frame.extend({
  init: function(title, pos, size) {
    this._super(null, -1, title, pos, size);

    this.EVT_CLOSE(this.onClose);
  },

  onClose: function(event) {
    process.exit();
  }
});

var app = new MyApp();
app.run();

Building wxWidgets linux

$ sudo apt-get install libwebkitgtk-dev
$ sudo ldconfig
$ ./configure --enable-webview --enable-webview-webkit && make
$ sudo make install

Creating wxapi.xml from wxWidgets

$ sudo apt-get install libwebkitgtk-dev
$ cd wxWidgets-2.9.3/docs/doxygen
$ ./regen.sh xml
$ cd ../..
$ ./configure --enable-webview --enable-webview-webkit
$ patch -p0 -i ~/wxNode/rungccxml.sh.patch
$ patch -p0 -i ~/wxNode/strvararg.h.patch
$ cd utils/ifacecheck/
$ ./rungccxml.sh
$ cp wxapi.xml ~/wxNode/wxapi.xml
$ cd ~/wxNode
$ rm wxapi.json
$ rm -rf build
$ ./render-templates.js && ./mnm.js build
Something went wrong with that request. Please try again.