Thread overview
DlangUI: how to change AppFrames?
Oct 24
Ki Rill
Oct 24
Ki Rill
Oct 24
GrimMaple
Oct 27
Ki Rill
October 24

I know how to change the current AppFrame:

window.mainWidget = myFrame;

But how do I exit this frame?

I press the button, change to new frame, do the work, and now I want to return to the previous frame. How would I do this?

October 24

On Tuesday, 24 October 2023 at 04:38:58 UTC, Ki Rill wrote:

>

I know how to change the current AppFrame:

window.mainWidget = myFrame;

But how do I exit this frame?

I press the button, change to new frame, do the work, and now I want to return to the previous frame. How would I do this?

Saving the previous frame not an option?

October 24

On Tuesday, 24 October 2023 at 05:03:51 UTC, Imperatorn wrote:

>

On Tuesday, 24 October 2023 at 04:38:58 UTC, Ki Rill wrote:

>

I know how to change the current AppFrame:

window.mainWidget = myFrame;

But how do I exit this frame?

I press the button, change to new frame, do the work, and now I want to return to the previous frame. How would I do this?

Saving the previous frame not an option?

It crashes if I reset it to the previous one.

button.click = delegate(Widget src) {
    // window.mainWidget = homeLayout.child(0);
    window.mainWidget = myPreviousFrame;
    return true;
};

// crash
October 24

On Tuesday, 24 October 2023 at 08:20:19 UTC, Ki Rill wrote:

>

On Tuesday, 24 October 2023 at 05:03:51 UTC, Imperatorn wrote:

>

On Tuesday, 24 October 2023 at 04:38:58 UTC, Ki Rill wrote:

>

I know how to change the current AppFrame:

window.mainWidget = myFrame;

But how do I exit this frame?

I press the button, change to new frame, do the work, and now I want to return to the previous frame. How would I do this?

Saving the previous frame not an option?

It crashes if I reset it to the previous one.

button.click = delegate(Widget src) {
    // window.mainWidget = homeLayout.child(0);
    window.mainWidget = myPreviousFrame;
    return true;
};

// crash

I think there was some kind of issue when changing widgets like that. Please try doing this instead:

window.executeInUiThread(() => window.mainWidget = myPreviousFrame);

Also, please post whole code so maybe I can fix this later

October 27

On Tuesday, 24 October 2023 at 11:23:05 UTC, GrimMaple wrote:

>

I think there was some kind of issue when changing widgets like that. Please try doing this instead:

window.executeInUiThread(() => window.mainWidget = myPreviousFrame);

Also, please post whole code so maybe I can fix this later

It does not work. It does accept new widgets though, but crashes if I try to change to the previous one.

I posted the whole code to GitHub issue.