Crash course¶
This is a crash course on writing apps for ZPUI, with links to more in-depth explanations.
Basics¶
- What does a “do nothing” ZPUI app need? One directory with two files and 5 lines of code
- What does a “Hello, world” app need? One more line of code.
- Can you do an app as an object? Sure, here’s how.
- Want to experiment with the code using REPL? Use the sandbox.
Showing things on the screen¶
- Want to display some text real quick? Use display_data.
- Want to display some text in a more user-friendly fashion, with UX bells&whistles? Use PrettyPrinter.
- Want to display an image? Use display_image.
- Want to display an image in a more user-friendly fashion, with UX bells&whistles? Use GraphicsPrinter.
- Want to construct an image dynamically? Use Canvas.
Interactivity¶
- Want some very basic interactivity? Setup some input callbacks and start an input thread.
- How do callbacks work, what’s a keymap and how do you set one? Read here.
- Want to make a very basic loop and allow the user to interrupt it? Use ExitHelper.
- Want to make a menu for your application? Use a Menu.
- Want to make a “pick any items out of many and accept” choice? Use a Checkbox.
- Want to make a “pick one out of many” choice? Use a Listbox.
- Want to make a “Yes”/”No”[/”Cancel”] choice? Use DialogBox.
- Want to make a status screen? Use a Refresher.
- Want to input some text? Use UniversalInput.
- Want to adjust a number? Use IntegerAdjustInput.
- Want to pick a directory/file? Use PathPicker.
- Want to pick a date from the calendar? Use DatePicker.
- Want to pick a time? Use TimePicker.
- Want to show a lot of text on the screen? Use TextReader.
- Want to indicate that some task is in progress? Use LoadingBar.
- Want to indicate a task is in progress, with a progress estimate? Use ProgressBar.
- Want to make an UI element react to more buttons? Here’s how you do that.
App internals¶
- Want to add logging? It’s very easy - here’s a snippet for adding logging.
- Want to include some resource files with your app - i.e. sounds? Here’s how to access them the proper way.
- Want to have a place to store variables for your app? Here’s a snippet to use a config file.
- Want to learn about things you should do while writing an app? We have some guidelines here and here.
- Want to learn about things you should not do while writing an app? Here are some more examples.
- Want to run things on app startup/launch/in the background? Here are the basics of that.