--- title: "Widget, Canvas and Container Gallery" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Widget, Canvas and Container Gallery} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ``` ## Containers Containers are ways of grouping multiple widgets. Containers can be nested within other containers to achieve complex layouts. | Container | Code/Description | |---|---| | | tic_window(...)
Create a top level window | | | tic_col(A, B, C)
Layout objects in column | | | tic_row(A, B, C)
Layout objects rowwise| | | tic_frame(...)
Invisible container. Useful for advanced users who want to customize layout | | | tic_labelframe(...)
Frame with a a label and usually visible outline | | | tic_notebook(A, B, C)
Tabbed display | | | tic_panedwindow(A, B, C)
Layout multiple elements which can be resized as panes| ## Widgets | Widget | Code/Description | |---|---| | | tic_label(...)
Display text. If you need headings rather than body text, Use `style = 'h1'` to `style = 'h5'` for different sized text | | | tic_button(...)
Clickable button. Available `style` options: 'primary', 'seconary', 'info', 'success', 'warning', 'danger', 'light', 'dark' | | | tic_checkbutton(...)
On/off button (default styling) | | | tic_checkbutton(...)
On/off button with `style = 'toggle'` | | | tic_checkbutton(...)
On/off button with `style = 'switch'` | | | tic_radiobutton(...)
Groups of mutually exclusion options| | | tic_menubutton(...)
Button which displays a drop-down menu | | | tic_canvas(...)
General drawing canvas | | | tic_spinbox(...)
Choose options | | | tic_combobox(...)
Choose options | | | tic_textentry(...)
Single line text entry | | | tic_textbox(...)
Multipe line text entry | | | tic_progressbar(...)
Progress bar | | | tic_slider(...)
Slider | ## Popups *Popups* are windows which are initiated separate from the main UI. | Popup | Code/Description | |---|---| | | popup_color_picker()
| | | popup_messagebox()
| | | popup_open_file()
| | | popup_save_file()
| ## Canvas After creating a canvas with `tic_canvas()`, it can be manipulated with the following commands: * Draw on the canvas * `canvas_line()` * `canvas_text()` * `canvas_rect()` * `canvas_polygon()` * `canvas_oval()` * `canvas_arc()` * `canvas_plot()` render a plot to the canvas * `canvas_clear()` clear all objects from the canvas * `canvas_image()` render an image from a file to the canvas * `canvas_save()` save the contents of the canvas to an image file. The actual canvas in tcl/tk renders *structured graphics* and it is much more like SVG or PDF than just a simple array of pixels. The canvas implementation in this package treats the canvas as just a raster object i.e. a rectangular collection of pixels. This made it easier to write this package and keep the API/syntax simple, but it doesn't unleash the full power of the canvas. The effort to write a more complete abstraction over the canvas is not currently warranted. **Please get in contact if such a facility is important to you.**