Meadow Functionality
A prioritized list of Meadow features.
- Basic Drawing [Required]
- Queuing areas to redraw
- Containers [Required]
- Multiple contained components, relative position to parent, layout manager to handle layout when size changes, keyboard navigation between components
- Input events [Required]
- Keyboard, mouse, (joystick? pad?). Listeners, capturing events, using SDL for event source.
- Themability [Important]
- Some way to store theme data on disk and in memory
- Application Framework [Important]
- Application
- Basic Widgets [Important]
- Panel, Label, TextField, Button, MenuBar, PopupMenu, MenuItem, Slider, List, TreeList, Table, DropDownList, CheckBox, RadioButton, ProgressBar, etc
- Basic Data Models [Optional]
- ListModel, HierarchialListModel, TableModel, DocumentModel, ButtonGroupModel
- Commands [Optional]
- Command (or Action)
- Advanced containers [Optional]
- WindowContainer, Window, DockingPanelContainer, DockingPanel
- Scrolling [Optional]
- Scrollbars, ScrollPanel, ScrollableInterface
- Dialogs [Optional]
- Dialog, Message Dialogs
-
IconListView (for browsing filesystem as icons, or reorganizing and viewing inventory), PropertyEditer (list of properties and their values), OptionEditor (show a hierarchial tree of different properties in a modern program options type dialog (list with icons & names at the left, tabs inside).
- Properties of different types (string, int, etc, optionally with custom editors, ranges, etc).