haxeui / hxWidgets

Haxe externs (and wrappers) for wxWidgets
MIT License
77 stars 23 forks source link

wxStandardPaths externs? #66

Closed aartzrc closed 4 years ago

aartzrc commented 4 years ago

I'm hoping to use a few calls to wxStandardPaths (https://docs.wxwidgets.org/3.0/classwx_standard_paths.html), but it looks like externs are missing. I am not familiar with hxWidgets + hxcpp and how to map externs through pointers/etc, but if someone can knock out the externs or give me some tips that would be very helpful. Thanks.

ianharrigan commented 4 years ago

Sure, ill take a look - sounds like it might be useful.

I want to add wxProcess also.

Cheers, Ian

ianharrigan commented 4 years ago

Ok - so ive added support for wxStandardPaths and release a new haxelib version (1.2.0).

Im not sure how you are using hxWidgets, if you are using it "raw" (wx.), wrapped (hx.) or inside haxeui.

Either way, you can now do things like:

            trace("appDocumentsDir: " + app.traits.standardPaths.appDocumentsDir);
            trace("configDir: " + app.traits.standardPaths.configDir);
            trace("dataDir: " + app.traits.standardPaths.dataDir);
            trace("documentsDir: " + app.traits.standardPaths.documentsDir);
            trace("executablePath: " + app.traits.standardPaths.executablePath);
            trace("localDataDir: " + app.traits.standardPaths.localDataDir);
            trace("resourcesDir: " + app.traits.standardPaths.resourcesDir);
            trace("tempDir: " + app.traits.standardPaths.tempDir);
            trace("userConfigDir: " + app.traits.standardPaths.userConfigDir);
            trace("userDataDir: " + app.traits.standardPaths.userDataDir);
            trace("userLocalDataDir: " + app.traits.standardPaths.userLocalDataDir);

Let me know if that works for you and if this issue can be closed.

Cheers, Ian

aartzrc commented 4 years ago

It works great in Haxe 3.4.7, thanks for knocking it out! Haxe 4+ has been giving me an odd error (even before this update):

Error: ClassInfo.cpp
./src/hx/widgets/ClassInfo.cpp(42): error C2228: left of '.ToUTF8' must have class/struct/union
./src/hx/widgets/ClassInfo.cpp(42): note: type is 'const wxChar *'

Probably a Haxe 4 hxcpp issue so I'll stick with 3.4.7 for now, unless you can spot the problem?

I'm using the wrapped (hx.widgets.*), they provide a clean interface into Haxe (thanks for the great externs!)

This can be closed.

ianharrigan commented 4 years ago

Im using haxe4 and all seems to be fine - have you updated hxcpp also when you are using haxe 4?

Ill close this for now, but feel free to open another issue about the haxe 4 issue (easier to track in its own ticket anyway)

Cheers, Ian