cursive/examples
Alexandre Bury 9bc723ab4a Do not accept any return value for callbacks
It got added so we could keep using `s.pop_layer()` in single-line callbacks.
It was confusing, and the return value was ignored anyway.
2018-03-16 15:50:56 -07:00
..
mines Do not accept any return value for callbacks 2018-03-16 15:50:56 -07:00
colors.rs Refactor ColorStyle 2018-01-17 10:22:06 -08:00
dialog.rs Add comments to examples 2018-01-15 18:55:27 -08:00
edit.rs Add comments to examples 2018-01-15 18:55:27 -08:00
hello_world.rs Add comments to examples 2018-01-15 18:55:27 -08:00
key_codes.rs Dialog::get_content now returns &AnyView 2018-01-22 13:45:00 -08:00
linear.rs Add comments to examples 2018-01-15 18:55:27 -08:00
list_view.rs Add comments to examples 2018-01-15 18:55:27 -08:00
logs.rs Dialog::get_content now returns &AnyView 2018-01-22 13:45:00 -08:00
lorem.rs Add title to lorem example 2018-02-20 11:09:45 -08:00
markup.rs Fix clippy warnings 2018-01-22 14:47:56 -08:00
menubar.rs Add comments to examples 2018-01-15 18:55:27 -08:00
mutation.rs Add comments to examples 2018-01-15 18:55:27 -08:00
position.rs Rustfmt 2018-02-16 17:21:24 -08:00
progress.rs Add comments to examples 2018-01-15 18:55:27 -08:00
radio.rs Add comments to examples 2018-01-15 18:55:27 -08:00
Readme.md Add examples descriptions 2018-01-18 10:32:08 -08:00
refcell_view.rs Add comments to examples 2018-01-15 18:55:27 -08:00
select.rs Add comments to examples 2018-01-15 18:55:27 -08:00
slider.rs Add comments to examples 2018-01-15 18:55:27 -08:00
terminal_default.rs Rustfmt 2018-01-22 14:37:27 -08:00
text_area.rs Do not accept any return value for callbacks 2018-03-16 15:50:56 -07:00
theme_manual.rs Refactor ColorStyle 2018-01-17 10:22:06 -08:00
theme.rs Rustfmt 2017-10-12 16:43:59 -07:00

Cursive Examples

Here are example programs using Cursive to help you getting familiar with the various aspects of the library.

To run an example, use cargo run --example EXAMPLE_NAME.

hello_world

Simplest example possible, it will show you the starting point of a basic Cursive application.

dialog

This example wraps the text in a Dialog view, showing the basic idea of view composition.

lorem

This example loads a large text file to show scrolling behaviour. It also includes greek and japanese characters to show non-ascii support.

edit

Here we have an EditView to get input from the user, and use that input in the next view. It shows how to identify a view with an ID and refer to it later.

mutation

This example modifies the content of an existing view.

linear

This example uses a LinearView to put multiple views side-by-side.

menubar

Here we learn how to create a menubar at the top of the screen, and populate it with static and dynamic entried.

logs

This example defines a custom view to display asynchronous input from a channel.

key_codes

This example uses a custom view to print any input received. Can be used as a debugging tool to see what input the application is receiving.

select

This example uses a SelectView to have the user pick a city from a long list.

list_view

This shows a use of a ListView, used to build simple forms.

text_area

This example uses a TextArea, where the user can input a block of text.

markup

This example prints a text with markup decorations.

theme

This loads a theme file at runtime to change default colors.

theme_manual

Instead of loading a theme file, this manually sets various theme settings.

terminal_default

This example shows the effect of the Color::TerminalDefault setting.

colors

This example draws a colorful square to show off true color support.

refcell_view

Here we show how to access multiple views concurently through their IDs.

progress

This shows how to send information from an asynchronous task (like a download or slow computation) to update a progress bar.

radio

This shows how to use RadioGroup and RadioButton.

slider

This is a demonstration of the SliderView.

mines (Work in progress)

A larger example showing an implementation of minesweeper.