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

Draft: Tracking issue for new possible changes for 0.5 #280

Closed
21 tasks
ahayzen-kdab opened this issue Oct 3, 2022 · 1 comment
Closed
21 tasks

Draft: Tracking issue for new possible changes for 0.5 #280

ahayzen-kdab opened this issue Oct 3, 2022 · 1 comment

Comments

@ahayzen-kdab
Copy link
Collaborator

ahayzen-kdab commented Oct 3, 2022

Discussions

General

  • Remove std uses in Rust where possible and use core or alloc etc
  • Ensure C++ is correctly namespaced in all places (eg ::std) and includes are fully qualified (eg <QtCore/QString>)

cxx-qt-gen improvements

  • Have the ability to declare a #[property(getter = "...", setter = "...", notify = "...")]
  • Have an attribute on signals to say that that signal already exists ? enum Signal { #[existing_name="data_changed"] DataChanged } which is then matched to the existing name on the base class and prove with static asserts or cxx bridge typing
  • Have a cxx_qt_lib::prelude!() to define a unsafe extern "C++" block with all the types in it
    • if we can define in cxx_qt_lib (nested macros are tricky?) we could have cxx_qt_lib::qtcore::prelude!() and cxx_qt_lib::qtgui::prelude!() etc and then cxx_qt_lib::qtcore::qstring::include!()
  • Support having a namespace on further objects, such as on the struct for the QObject
  • Do we still need the cxx_type and return_cxx_type ? If they can be removed then signal emits don't need a wrapper. And macro attribute parsing may be simpler

cxx-qt-lib improvements

  • Add features to cxx-qt-lib to be able to split QtCore and QtGui
    • Split the folders in src/qtcore/T.rs rather than src/types/T.rs ?
  • Decide on more useful types to add from QtCore/QtGui (eg QByteArray, QModelIndex, QVector2d, QHash, QVector etc)
  • Decide on useful crates to add as integration features to cxx-qt-lib
    • serde as a feature then impl (de)serialise for types
    • rgb (?) as a feature for QColor
    • etc

Stretch improvements

Anything else left over from 0.4 #157

@ahayzen-kdab
Copy link
Collaborator Author

Moved into separate issue on the 0.5 milestone https://github.com/KDAB/cxx-qt/milestone/4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant