Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alexcoder04/sol-lib
GUI application framework for TI-nspire calculators
https://github.com/alexcoder04/sol-lib
framework gui gui-application gui-framework gui-library library lua nspire nspired-lua python ti-nspire ti-nspire-calculators
Last synced: about 2 months ago
JSON representation
GUI application framework for TI-nspire calculators
- Host: GitHub
- URL: https://github.com/alexcoder04/sol-lib
- Owner: alexcoder04
- License: gpl-3.0
- Created: 2022-10-01T17:53:17.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-11-29T17:51:02.000Z (about 2 years ago)
- Last Synced: 2023-03-06T01:18:58.908Z (almost 2 years ago)
- Topics: framework, gui, gui-application, gui-framework, gui-library, library, lua, nspire, nspired-lua, python, ti-nspire, ti-nspire-calculators
- Language: Lua
- Homepage: https://alexcoder04.github.io/sol-docs/
- Size: 116 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Sol
GUI application framework for the TI-nspire. This repository is the "home" of the project
and contains all the Lua library code.[Here](https://alexcoder04.github.io/sol-docs/) you can find the docs.
[Here](https://github.com/alexcoder04/sol-helloworld) you can find an example application.
And [here](https://github.com/alexcoder04/nclock22) is another one.[These](https://github.com/alexcoder04/sol-tools) are the tools needed for developing applications with Sol.
## Why?
Building GUI applications for TI-nspire using the stock Lua library from TI
is a pain, this is an attempt to make it easier and more comfortable.### Organized
Your code has to be organized, no "throwing everything into one Lua file" anymore!
All the parts are then assembled and built into one `.tns` file by [sol-tools](https://github.com/alexcoder04/sol-tools).
These tools are also downloading the required sol-lib Lua library version for you.- `init.lua` runs at start
- `app.lua` is your main file where you define the app logic
- `solproj.yml` is where app metadata goes
- `components` are re-usable blocks of your GUI which can inherit from base components, written in YAML
- `res` contains any non-code resources, e. g. images and data.
- and so on...## How to Use
Check out the [Quickstart guide](https://alexcoder04.github.io/sol-docs/quickstart.html).
## Roadmap / TODOs
- [ ] more base components
- [x] input field
- [ ] canvas
- [ ] list
- [ ] sublayouts/containers
- [ ] tabs
- [ ] console
- [ ] game canvas using physics api
- [ ] 2D-editor using nspire's built-in editor
- [x] colorful components
- [x] click events
- [x] component focus (tabbing, highlighting selected)
- [x] menu api
- [x] paint hook, use raw `gc` functions
- [x] persistent data storage
- [ ] message box components imitating nspireOS's UI
- [x] basic support
- [ ] theming
- [ ] global theming through `MyLib`
- [x] redraw on timer only if one of update functions returns true
- [ ] schedule to do something at next redraw/update / imitating sleep function
- [x] do at next update
- [ ] do in specific time interval
- [x] light/dark mode switching
- [x] improve `InputField` component
- [x] data types (e. g. int)
- [x] labels## Naming
*Lua* (portuguese for "moon") -> *Sol* (portuguese for "sun")
## Credits
- The dialog library module is based on the nSpaint GUI engine written by Loïc Pujet.