Commit graph

131 commits

Author SHA1 Message Date
Alex Janka ee5988ff53 image: custom symbol 2024-08-19 15:29:11 +10:00
Alex Janka da22feaebb content view pointer 2024-08-19 15:29:11 +10:00
Alex Janka fedc3cebb6 add checkmark for menu items 2024-08-19 15:29:11 +10:00
Alex Janka 0ab38ad14f event: get current modifier flags 2024-08-19 15:29:11 +10:00
Alex Janka abbf078482 add set enabled to textfield 2024-08-19 15:29:11 +10:00
Alex Janka 1d6e666335 more stepper bits 2024-08-19 15:29:11 +10:00
Alex Janka e7d057b193 some more input bits 2024-08-19 15:29:11 +10:00
Alex Janka 52064424ec add stepper 2024-08-19 15:29:11 +10:00
Dustin 7ffe39891c
fix: typo in window’s set_subtitle fn (#123) 2024-07-15 09:41:48 +02:00
Nikhil e3bbb9366c
Add window level (#116)
* set window level

* fmt fixes
2023-11-19 13:05:03 -08:00
Mads Marquart 094ed59a04
Initial conversion to objc2 (#30)
* Use objc2

* Replace `objc_id`

* Remove sel_impl import

* Fix `add_method` calls

* Fix accessing raw FFI functions

* Fix Encode impl

* Fix message sends arguments that do not implement `Encode`

* Use immutable reference in a few places where now necessary

See https://github.com/madsmtm/objc2/pull/150 for a bit of background

* Add a few Send + Sync bounds where examples require it

This is something we'll need to look into properly

* Use `&'static Class` instead of `*const Class`

Safer and more ergonomic. Also required for `msg_send_id!` macro

* Use msg_send_id! and rc::Id

* Update objc2 to v0.3.0-beta.2

* Replace `BOOL` with `Bool` when declaring delegates

This makes cacao compile on Aarch64 again

* Remove a few impossible to use correctly `into_inner` functions

These consumed `self`, and hence also dropped `Id` variable that was responsible for keeping the returned pointer alive

* Remove a few impossible to use correctly `From` implementations

* Quickly fix UB with using BACKGROUND_COLOR ivar

* Fix double-freeing of windows

* Fix double freeing of strings

* Fix a few remaining double-frees
2023-09-11 09:59:21 -07:00
Ryan McGrath 33624e9418 Resolve merge conflict 2023-08-01 00:20:32 -07:00
Ryan McGrath 186a9a6c3f
Merge debug/animation-timings; support ability for drawing sublayers as one and control of layer redraw policy 2023-08-01 00:18:55 -07:00
Benedikt Terhechte e6696eaa3e
Multiple changes I had to make for Ebou (#89)
* Add segmented control, icons, toolbar

* add to demos

* doc tests

* format code

* Additional SFSymbol definitions
2023-07-31 23:51:53 -07:00
maxer137 1b577506a7
Fix Label::set_max_number_of_lines causing crash on iOS (#98) 2023-07-19 14:20:43 -07:00
Adam Gastineau 9fbb332b38
Idiomatic NSArray iteration (#97) 2023-07-19 13:40:51 -07:00
Adam Gastineau 01507f7642
Global NSEvent listener and some mouse methods (#94)
* Support for all NSEvent types and configurable event monitoring

* Useful mouse event methods

* rustfmt nightly fixes

* Use standard kind naming convention
2023-07-13 17:22:54 -07:00
Ari Lotter 9f8d946371
add haptics (#93) 2023-07-10 13:59:25 -07:00
simlay e4785bb50f
iOS support for label, text input, font, more tests (#55)
* Added a bunch of unit tests and added text input to uikit feature

* cargo fmt

* I dunno what this is but it wasnt checked in

* Fix uikit unit tests

* maybe fix cargo fmt

* Fix iOS run

* fix cargo fmt

* Maybe fix cargo fmt

* maybe fix cargo fmt

* cargo fmt

* Try to fix cargo fmt one more time

* cargo fmt
2023-07-10 00:42:46 -07:00
Ryan McGrath efea9032aa
[ios] Fix formatting 2023-06-08 16:01:55 -07:00
Ryan McGrath 3e3122f54c
[ios] Fix iOS demo build.
Several recent changes to the way that subclass registration is done
inadvertently impacted part of how the iOS side of things works. iOS
app initialization requires passing known class names to
`UIApplicationMain` to let the system instantiate things; we append a
random suffix to class names by default to avoid issues on macOS where
classes that are being loaded from a bundle seem to collide in the ObjC
runtime.

This change brings in two new methods in `foundation/class` to
explicitly bypass the dynamic subclass suffix generation for the rare
cases (such as the above) where we know we need it.
2023-06-08 15:51:59 -07:00
Ryan McGrath eecdb13f5b
Merge pull request #69 from maxjvh/trunk
implement acceptsFirstMouse on webview
2023-06-08 14:50:48 -07:00
Luke Rogers 81fa4e698e Fixed building for iOS. 2023-05-31 12:00:19 +01:00
Michal Hornický f2f6a1bcfa fix: Add missing button apis 2023-05-07 15:22:34 +02:00
Ryan McGrath 589ff8c789
Fixes #82 2023-05-01 03:47:35 -07:00
Ryan McGrath f24261747c
Merge pull request #79 from MerlinDE/fix_register_class
Fixes possible duplicate objc class registration.
2023-04-25 16:53:44 -07:00
Joshua Brest 5837dde564
Forgot subtitle 2023-04-24 03:48:31 +08:00
Joshua Brest 28c280556a
Whoops, forgot "{}" 2023-04-24 03:46:52 +08:00
Joshua Brest 8056329f65
My commit for the repo built in rust called Cacao 2023-04-24 03:31:58 +08:00
Alexander Czernay ff85e24055 Applies rustfmt.toml rules 2023-04-17 21:35:49 +02:00
Alexander Czernay 718c831bc4 Refactor to use load_or_register_class 2023-04-16 21:24:44 +02:00
Alexander Czernay 2803922f3a Fixes possible duplicate objc class registration.
This can happen in environments like plugins, where cacao can exist multiple times and thus tries to create and register its objc classes more than once.
2023-04-16 10:47:32 +02:00
Ryan McGrath 1d76dce75f
Merge pull request #74 from terhechte/popover_support 2023-04-01 21:24:39 -07:00
Natsuki Ikeguchi 64908e5893
feat: Publish objc_access module
Signed-off-by: Natsuki Ikeguchi <me@s6n.jp>
2023-04-01 20:44:02 +09:00
Benedikt Terhechte 7e724934a5 add support for popovers 2023-03-03 12:15:28 +01:00
max e5e428cdbc add acceptsFirstMouse to webview 2022-11-05 13:39:06 +02:00
Ryan McGrath 68da052a8f
Merge pull request #67 from ryanmcgrath/feat/change-objc-classdec
Feat/change objc classdec
2022-11-04 16:03:59 -07:00
Ryan McGrath 2e40bb6ae3
Fmting pass 2022-11-04 15:57:53 -07:00
Esteban Borai 2f54ae59af fix: use systemFontOfSize as fallback for monospace 2022-10-16 22:20:40 -03:00
Esteban Borai 8c51b953d3 fix: provide version fallback 2022-10-15 20:36:40 -03:00
Esteban Borai d5f8b0d6e5 feat: support for monospace system font
Provides support for the `monospacedSystemFontOfSize` method
from `NSFont`.

Refer: https://developer.apple.com/documentation/appkit/nsfont/3042659-monospacedsystemfontofsize?language=objc
2022-10-15 20:18:02 -03:00
Ryan McGrath f8e836e3eb
Remove println 2022-10-14 15:37:36 -04:00
Ryan McGrath dd0786bdab
Generate a random u64 to append to subclass names (Issue #63) 2022-10-14 15:34:41 -04:00
Ryan McGrath 65578f06fe
Swap WebView class registration to use class fn 2022-10-13 17:25:20 -04:00
Ryan McGrath 215eee4ae2
Experiment with bundle identifier being attached to generated subclass names (Issue #63) 2022-10-13 17:15:52 -04:00
Ryan McGrath 4d1e0ddb9d
Support NAME on WebViewDelegate trait impls 2022-10-12 15:42:16 -04:00
Ryan McGrath 2525cbfee4
Update webview implementation to use load_or_register_class (Issue #63) 2022-10-12 14:32:23 -04:00
Ryan McGrath b187b1dc49
Refactor foundation/class to support finding classes across multiple bundles (issue #63) 2022-10-12 14:26:29 -04:00
shuo c5e097123c fix ios filesystem build break 2022-09-14 23:09:23 +08:00
Sebastian Imlay 3425f839db Remove pasteboard and draginfo from uikit features 2022-08-21 20:22:58 -04:00