Calendars option using hxwidgets for windows

Hi,
I found Haxe not long ago and is starting to try it out for some small stuff.
Currently i am trying to create a calender selecter for start and deadline in a project manager i developing.

The dropdown option dosent show at all after building it for windows.
And when using calendarview the buttons becomes big square gray buttons.

Currently i am only trying to get the UI to get correct so have not connect any classes or data with Haxe itself.

I’m i missing something or is the calendar option limited when it comes to windows?

I’m running Windows10 with the latest Haxe, Haxelib and HaxeUI.
Currently i’m at work so cant add screenshots but if that is necessary i will edit when i’m home.

// Markus

Hi Markus…

Welcome to haxe / haxeui :slight_smile:

So, ill have to double check but i think the dropdown “type” option isnt supported for native backends (like haxeui-hxwidgets). Im assuming thats the backend you are using?

Doesnt mean it cant be supported, just means that im not 100% sure it a) is yet or b) what to link it up to natively. Ill have a check and get back to you.

Cheers,
Ian

You are correct i am using haxeui-hxwidgets, and i know this comes with limitations based on the specifik OS backend.

The dropdown would make the UI more elegant but isn´t a must have.
The calendarview “arrow” buttons for year and month would be nice thou, and i guess there is some way to get access to windows “arrow” buttons through there api to make the “standard” view of the calendar more cohesive.

Cheers,
Markus

Yeah, ill give the native calendar options an once over when i get a few moments, there is actually a native wx calendar control: wxWidgets: wxCalendarCtrl Class Reference

So i see no reason that couldnt be used for the “CalendarView”, as for it being in a dropdown, ill have to check if wx can handle that.

Cheers,
Ian

EDIT: there is wxWidgets: wxDatePickerCtrl Class Reference for dropdowns :partying_face:

OK, so haxeui’s CalendarView now has a native counterpart (based wxCalendarCtrl):

native-calendarview

You’ll need git versions of haxeui-core, haxeui-hxwidgets & hxWidgets…

Lemme know if you get any teething issues.

Cheers!
Ian

Hi,
Thanks for a solution this quick.
A quick heads-up not sure if this did something to the tag. Not sure if that tag should be displayed in the manner it is.


I guess these tags can vary depending on the Backends but still wanted to highlight it.

Then since I needed the git versions, I couldn´t pass a build at first.
Screenshot 2022-05-13 092524

I did get this error:
C:\HaxeToolkit\haxe\lib\haxeui-hxwidgets/git/haxe/ui/backend/hxwidgets/behaviours/ControlDisable.hx:18: characters 20-44 : haxe.ui.core.Component has no field disableInteractiveEvents (Suggestions: isInteractiveEvent,
disableInteractivity)

For it to build I needed to comment out the following line in the file ControlDisable.hx: //_component.disableInteractiveEvents(value);
Not sure if this is the correct action but it worked, this line did not exist in the file from the “regular” download and install file only in the file from git.
But wouldn’t be surprised if I miss doing something else for it to work :upside_down_face:

Best regards,
Markus

You need versions of all haxeui libraries, in this case that would be:

  • haxeui-core
  • haxeui-hxwidgets
  • hxWidgets

Its probably good to verify that they are all actually git versions (ive had issues previously with haxelib git misbehaving, which is why i use haxelib dev)

Im not quite sure i understand the screen shot… the first one looks fine… which i guess is a CalendarView the second, which looks like a composite, is probably Calendar? I guess that could / should be a wxCalendarCtrl also

Hi, sorry for a late reply.
You are correct it looks like i missed naming the tag i was talking about.
The calendarview is now working great (the first in the screenshot), but the regular calendar tag as you said should probably also be a wxCalendarCtrl.

  • haxeui-core
  • haxeui-hxwidgets
  • hxWidgets

Are all from git now, will test the dev option an se if that helps.
Should i remove the “old”/local installs and only use them via dev or git?

When i run it does point to the git folders, thats how i find the file ControlDisable.hx
but for it to build i needed to comment out the following line:
_component.disableInteractiveEvents(value);
This line could not be found in the folder with the local install for haxeui-core, haxeui-hxwidgets and hxWidgets. I could only find it in the folder created after running the git command.

Will try the dev command and se if that works.

Thanks for all the help.

Best regards
Markus

Hi, sorry to keep asking.
I have know tried adding all the above libraries as dev directories, this still give me the following error when building:


When I used only the git version this did happen to, I did get it to build by changing the line:
_component.disableInteractiveEvents(value);
in the file ControlDisable.hx

This is the file structure:
image
The file ControlDisable.hx exist in both the folders.
In 1,4,0 the the code: _component.disableInteractiveEvents(value); dose not exist.
In git folder: the code _component.disableInteractiveEvents(value); do exist.
And if I comment the git line out it builds but with it I do get the build error above.

Im not sure how exactly the dev directories should be setup and if that will help at all.
I do hope this is explained clearly enough to be understood.

Best regards
Markus

So, disableInteractiveEvents 100% exists, so you must have something setup incorrectly, you need git versions of all libraries (haxeui-core, haxeui-hxwidgets, hxWidgets):

I would consider nuking your existing haxeui haxelibs (just delete the “haxeui-core”, “haxeui-hxwidgets” and “hxWidgets” top level folders from the C:\HaxeToolkit\haxe\lib\ dir), then run:

haxelib git haxeui-core https://github.com/haxeui/haxeui-core
haxelib git haxeui-hxwidgets https://github.com/haxeui/haxeui-hxwidgets
haxelib git hxWidgets https://github.com/haxeui/hxWidgets

If you are using the HXCPP cache, you might want to clear that down also.

Hope that helps.

Cheers,
Ian

Just to let you know.
That did the job, thanks for all the help.

Best regards
Markus

1 Like