Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vgtk/vgtk3
GTK+ 3.x manual wrapper for V
https://github.com/vgtk/vgtk3
gnome gtk3 vlang wrapper
Last synced: 3 months ago
JSON representation
GTK+ 3.x manual wrapper for V
- Host: GitHub
- URL: https://github.com/vgtk/vgtk3
- Owner: vgtk
- License: mit
- Created: 2019-11-06T16:09:50.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2022-11-07T15:02:12.000Z (about 2 years ago)
- Last Synced: 2024-05-06T10:35:23.051Z (6 months ago)
- Topics: gnome, gtk3, vlang, wrapper
- Language: V
- Homepage:
- Size: 329 KB
- Stars: 56
- Watchers: 9
- Forks: 8
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-v - vgtk3 - A wrapper for GTK3 in V. (Libraries / User Interface toolkits)
README
# VGTK3 ![GitHub Workflow Status (branch)][workflow-badge] ![GitHub release (latest by date)][release-badge]
[workflow-badge]: https://img.shields.io/github/workflow/status/vgtk/vgtk3/CI/master?style=flat-square
[release-badge]: https://img.shields.io/github/v/release/vgtk/vgtk3?style=flat-square## What is this?
This is a manual wrapper for `gtk3` for V.
The advantage compared to using `C.` directly is that `vgtk3` uses V structs and does it best to have a good V style when "translating" `gtk3` to V.
This is mostly why the functions aren't auto-generated, as this doesn't create any helpful structures nor does it splits the files, because it doesn't know what a container is, this wrapper knows it and offers a `Container` interface ready for use.> Notes: We are still combining everything together here, will be separated after everything is finished
## Dependencies
- gtk3 development package
- pkgconfig## Get Started
```v
module mainimport gtk
fn main() {
window := gtk.new_window()
window.set_title('Window Title')
window.set_default_size(500, 600)
window.set_position(.center)
window.show()
gtk.main()
}
```## Examples
Please checkout the [examples](./examples) folder. To compile all examples, simply run `make examples` command.
## Progress
- GTK
- [ ] AccelMap
- [ ] ActionBar
- [ ] Application
- [ ] Box
- [x] Button
- [x] ComboBox
- [ ] Container
- [ ] Dialog
- [ ] Entry
- [x] Grid
- [ ] Image
- [x] Label
- [ ] Menu
- [ ] MenuItem
- [ ] WidgetPath
- [ ] Widget
- [ ] Window
- GDK
- [ ] Device
- [ ] Window
- GIO
- [ ] File
- GLIB
- [ ] Array
- [ ] List
- [ ] Node
- [ ] SList
- [ ] String## Notes
- You need the latest GTK+ installed.
## License
Gtk is available under the MIT License, please refer to it.