Comments (8)
Yes, sorry.
I had a predefined idea about how this should be implemented and wanted to complete it. Thanks for filling this issue, this forced me to complete it.
from ftxui.
Thanks you!
I initially hoped we could get this using the "dbox" Element.
This is a container (like hbox, vbox) that superpose the elements.
It turns out I also needed some few more features:
- Adding the TakeFocus() function to component.
- Adding the clear_under Element
I just added an example: ./examples/component/modal_dialog.cpp
This is on the dev branch.
from ftxui.
This is mostly included in this pull request:
#44
from ftxui.
Ohhh, Great man !!
I thought I would be able to contribute this 😄
from ftxui.
Have you thought about baking this modal functionality into the ComponentBase
such that you'd always have the functionality to call showModal(ModalComponent component)
where we have something like using ModalComponent = std::shared_ptr<ModalComonentBase>
? And then dismiss could be just on the ModalComponent
and it held a reference to its host ComponentBase
which would toggle the depth
variable for us.
from ftxui.
What about creating an API like this;
auto main_component = ...;
auto modal = ...;
bool show_modal = false;
auto main_component_and_modal = Modal(main_component, modal, &show_modal);
Alternatively we are now supporting "nested" InteractiveScreen. So you can already use right now:
void ShowModal() {
auto modal_screen = ...;
auto modal_component = ...;
modal_screen.Loop(modal_component);
}
void main() {
auto main_screen = ...;
auto main_component = ... (show_modal);
main_screen.Loop(main_component);
}
from ftxui.
I added Modal
in the PR. What do you think of it?
from ftxui.
Yup, looks good to me! Thanks!
from ftxui.
Related Issues (20)
- when will release new version HOT 4
- Simulate a timeline HOT 2
- dropdown example bugs HOT 2
- Creating an input window, and outputting entered text after hitting enter or special key. HOT 3
- how to hide the cursor HOT 2
- About Support for Full width Characters in FTXUI HOT 10
- Is there an Event handling when CTRL+SHIFT+C is pressed? HOT 2
- From ftxui::Element to std::string or char* HOT 3
- focus problem HOT 2
- Untidy exit on std::terminate() HOT 1
- Do you have any recommended fonts? The font provided by windows is not very beautiful HOT 2
- How to highlight text inside ftxui::text() or ftxui::paragraph() HOT 1
- Is there a bug between full width characters and vertical?
- Running tests alters the terminal state HOT 2
- The scrollbar doesn't work in the "homescreen.cpp" demo HOT 3
- [feature request] Scatter plots HOT 1
- Dynamically adding elements to Checkboxes HOT 5
- Correctness of layout requirement for flexbox. Scrollbar implementation. HOT 1
- I've tried everything. I need help HOT 1
- Compression priority when rendering a vbox with inadequate space. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ftxui.