Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Support the pyo3 crate in all public enums #270

Merged
merged 1 commit into from
Aug 12, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
121 changes: 121 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions common/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ features = ["schemars", "serde"]

[dependencies]
enumn = { version = "0.1.6", optional = true }
pyo3 = { version = "0.19", optional = true }
schemars = { version = "0.8.7", optional = true }
serde = { version = "1.0", features = ["derive"], optional = true }

Expand Down
19 changes: 19 additions & 0 deletions common/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE.chromium file.

#[cfg(feature = "pyo3")]
use pyo3::pyclass;
#[cfg(feature = "schemars")]
use schemars::{
gen::SchemaGenerator,
Expand Down Expand Up @@ -47,6 +49,7 @@ pub use geometry::{Affine, Point, Rect, Size, Vec2};
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
#[cfg_attr(feature = "pyo3", pyclass(module = "accesskit"))]
#[repr(u8)]
pub enum Role {
Unknown,
Expand Down Expand Up @@ -269,6 +272,7 @@ impl Default for Role {
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
#[cfg_attr(feature = "pyo3", pyclass(module = "accesskit"))]
#[repr(u8)]
pub enum Action {
/// Do the default action for an object, typically this means "click".
Expand Down Expand Up @@ -440,6 +444,7 @@ impl JsonSchema for Actions {
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
#[cfg_attr(feature = "pyo3", pyclass(module = "accesskit"))]
#[repr(u8)]
pub enum Orientation {
/// E.g. most toolbars and separators.
Expand All @@ -453,6 +458,7 @@ pub enum Orientation {
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
#[cfg_attr(feature = "pyo3", pyclass(module = "accesskit"))]
#[repr(u8)]
pub enum NameFrom {
/// E.g. [`aria-label`].
Expand All @@ -478,6 +484,7 @@ pub enum NameFrom {
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
#[cfg_attr(feature = "pyo3", pyclass(module = "accesskit"))]
#[repr(u8)]
pub enum DescriptionFrom {
AriaDescription,
Expand All @@ -497,6 +504,7 @@ pub enum DescriptionFrom {
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
#[cfg_attr(feature = "pyo3", pyclass(module = "accesskit"))]
#[repr(u8)]
pub enum TextDirection {
LeftToRight,
Expand All @@ -514,6 +522,7 @@ pub enum TextDirection {
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
#[cfg_attr(feature = "pyo3", pyclass(module = "accesskit"))]
#[repr(u8)]
pub enum Invalid {
True,
Expand All @@ -526,6 +535,7 @@ pub enum Invalid {
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
#[cfg_attr(feature = "pyo3", pyclass(module = "accesskit"))]
#[repr(u8)]
pub enum CheckedState {
False,
Expand All @@ -544,6 +554,7 @@ pub enum CheckedState {
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
#[cfg_attr(feature = "pyo3", pyclass(module = "accesskit"))]
#[repr(u8)]
pub enum DefaultActionVerb {
Click,
Expand All @@ -566,6 +577,7 @@ pub enum DefaultActionVerb {
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
#[cfg_attr(feature = "pyo3", pyclass(module = "accesskit"))]
#[repr(u8)]
pub enum SortDirection {
Unsorted,
Expand All @@ -579,6 +591,7 @@ pub enum SortDirection {
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
#[cfg_attr(feature = "pyo3", pyclass(module = "accesskit"))]
#[repr(u8)]
pub enum AriaCurrent {
False,
Expand All @@ -595,6 +608,7 @@ pub enum AriaCurrent {
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
#[cfg_attr(feature = "pyo3", pyclass(module = "accesskit"))]
#[repr(u8)]
pub enum Live {
Off,
Expand All @@ -607,6 +621,7 @@ pub enum Live {
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
#[cfg_attr(feature = "pyo3", pyclass(module = "accesskit"))]
#[repr(u8)]
pub enum HasPopup {
True,
Expand All @@ -622,6 +637,7 @@ pub enum HasPopup {
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
#[cfg_attr(feature = "pyo3", pyclass(module = "accesskit"))]
#[repr(u8)]
pub enum ListStyle {
Circle,
Expand All @@ -638,6 +654,7 @@ pub enum ListStyle {
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
#[cfg_attr(feature = "pyo3", pyclass(module = "accesskit"))]
#[repr(u8)]
pub enum TextAlign {
Left,
Expand All @@ -651,6 +668,7 @@ pub enum TextAlign {
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
#[cfg_attr(feature = "pyo3", pyclass(module = "accesskit"))]
#[repr(u8)]
pub enum VerticalOffset {
Subscript,
Expand All @@ -662,6 +680,7 @@ pub enum VerticalOffset {
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "schemars", derive(JsonSchema))]
#[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))]
#[cfg_attr(feature = "pyo3", pyclass(module = "accesskit"))]
#[repr(u8)]
pub enum TextDecoration {
Solid,
Expand Down