Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

有关窗口导航的问题 #12

Open
Veng0923 opened this issue Nov 25, 2020 · 4 comments
Open

有关窗口导航的问题 #12

Veng0923 opened this issue Nov 25, 2020 · 4 comments

Comments

@Veng0923
Copy link

有关窗口导航
目前可以 navigator_to()某个窗口,会新建该窗口,如果原来的同一个model-view也不会销毁;
navigator_back会销毁当前返回到上一个窗口,
急需能够有一个 navigator_switch() 窗口切换,既不会新建窗口,又可以在各个存在的窗口中,进行切换!!!!

@xianjimli
Copy link
Member

你是希望关闭当前窗口并打开新窗口吧。在命令的参数里加个CloseWindow=True能满足需求吗?

@Veng0923
Copy link
Author

不能closewindow 只能关闭当前窗口,返回上一个窗口,
但是我还需要返回到任意一个窗口,比如返回回去之后,再返回回来,这个窗口的状态希望不要更改.
因为我原来的窗口并不是静态的,如果重新打开很麻烦,需要保存很多状态,我希望是能够直接切换过去,

@xianjimli
Copy link
Member

加了几个函数,你看看满足你的需求不?

/**
 * @method navigator_replace
 * 请求打开指定的窗口,并关闭当前窗口。
 *
 * @annotation ["static"]
 *
 * @param {const char*} target 目标窗口的名称及参数(请参考窗口导航文档)。
 *
 * @return {ret_t} 返回RET_OK表示成功,否则表示失败。
 */
ret_t navigator_replace(const char* target);

/**
 * @method navigator_switch_to
 * 如果目标窗口已经存在,直接切换到该窗口,否则打开新窗口。
 *
 * @annotation ["static"]
 *
 * @param {const char*} target 目标窗口的名称及参数(请参考窗口导航文档)。
 * @param {bool_t} close_current 是否关闭当前窗口。
 *
 * @return {ret_t} 返回RET_OK表示成功,否则表示失败。
 */
ret_t navigator_switch_to(const char* target, bool_t close_current);

/**
 * @method navigator_close
 * 关闭指定窗口。
 *
 * @param {const char*} name 目标窗口的名称。
 * @annotation ["static"]
 *
 * @return {ret_t} 返回RET_OK表示成功,否则表示失败。
 */
ret_t navigator_close(const char* name);

@Veng0923
Copy link
Author

Veng0923 commented Dec 8, 2020

嗯,好谢谢!但希望可以增加 back (向后) 但不关闭当前窗口,还有 forward (向前) 不关闭当前窗口 这样类似的接口,感谢!
因为我目前的窗口均是同一个model创建的窗口,只是因为传参不同而导致窗口构造完之后也不相同,这些窗口需要互相切换。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants