Skip to content

Initial 0.13.1 proposal #14

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

Merged
merged 15 commits into from
May 2, 2025
Merged

Initial 0.13.1 proposal #14

merged 15 commits into from
May 2, 2025

Conversation

andreyluiz
Copy link
Contributor

@andreyluiz andreyluiz commented Apr 1, 2025

Hello.

This PR describes a proposal to migrate the tutorial to version v0.13.1.

Here are the topics covered in this PR:

If you like the proposal, I will continue working on this migration.


This is a TODO list for the migration.

  • adding_widgets.md
  • batch_tasks.md
  • batch_subscriptions.md
  • button.md
  • changing_displaying_content.md Renamed to application_lifecycle.md
  • changing_styles.md
  • changing_the_window_dynamically.md
  • changing_themes.md
  • checkbox.md
  • closing_the_window_on_demand.md
  • column.md
  • combobox.md
  • container.md
  • controlling_widgets_by_commands.md Renamed to controlling_widgets_behavior.md
  • custom_background.md
  • custom_styles.md Removed because changing_styles explains broadly
  • dispatching_tasks_at_startup.md ADDED
  • drawing_shapes.md
  • drawing_widgets.md
  • drawing_with_caches.md
  • executing_custom_tasks.md
  • explanation_of_sandbox_trait.md Renamed to explanation_of_app_structure.md
  • first_app.md
  • from_sandbox_to_application.md Application trait has been deprecated so this was removed
  • image.md
  • initializing_a_different_window.md Renamed to customizing_the_window_on_launch.md
  • loading_images_asynchronously.md
  • memoryless_pages.md
  • more_than_one_page.md
  • mouse_pointer_over_widgets.md
  • navigation_history.md
  • on_pressed_released_of_some_widgets.md
  • passing_parameters_across_pages.md
  • picklist.md
  • producing_messages_by_keyboard_events.md
  • producing_messages_by_mouse_events.md
  • producing_messages_by_timers.md
  • producing_widget_messages.md
  • progressbar.md
  • radio.md
  • row.md
  • rule.md
  • scrollable.md
  • setting_up.md
  • slider.md
  • space.md
  • svg.md
  • taking_any_children.md
  • text_input.md
  • text.md
  • texts_in_widgets.md
  • toggler.md
  • tooltip.md
  • updating_widgets_from_events.md
  • updating_widgets_from_outside.md
  • widgets_with_children.md
  • width_and_height.md

@fogarecious
Copy link
Owner

Everything looks great to me! Just let me know whenever you're ready to merge the pull request.

@andreyluiz
Copy link
Contributor Author

andreyluiz commented Apr 4, 2025

Made some more migrations.

  • Renamed "Explanation of Sandbox trait" to "Explanation of the App Structure"
  • Renamed "Changing Displaying Content" to "Application Lifecycle"
  • Added a Widgets page as a high level section in the tutorial
  • Migrated almost half of the widgets

@andreyluiz
Copy link
Contributor Author

More migrations done:

  • Finished migrating the widgets
  • Added a Layouts page as a high level section in the tutorial
  • Migrated the layouts

@BlakeGardner
Copy link

Just wanted to say thanks for updating this, @andreyluiz, As an Iced newbie, I was having trouble getting the tutorial code to work, and this update fixed my issues.

@andreyluiz
Copy link
Contributor Author

Glad to help, @BlakeGardner. I will try to finish the whole migration this week. ;)

@andreyluiz
Copy link
Contributor Author

More migrations:

  • Migrated the styles section
  • Removed the custom styling from the styles section (not applicable anymore)
  • Migrated the multipage apps section

@andreyluiz
Copy link
Contributor Author

andreyluiz commented Apr 16, 2025

Alright, this one took a little longer because I had to make a decision on how to move forward. The Application trait has been deprecated in 0.13. So I didn't see much sense in keeping the Applications section. And since the Applications section was touching a lot into Commands, which were renamed to Tasks on 0.13, I decided to make a dedicated section for tasks.

  • Removed the applications section
  • Renamed commands to tasks
  • Restructured the tasks tutorials to be more intuitive

@andreyluiz
Copy link
Contributor Author

andreyluiz commented Apr 22, 2025

Migrated the windows section. I took a while because I had to figure out how to get an equivalence of window::Id::MAIN. By looking at the code of the Iced library, I saw that internally they use window::get_latest() (here's an example).

  • Migrate windows section
  • Renamed initializing_a_different_window to customizing_the_window_on_launch

@andreyluiz
Copy link
Contributor Author

andreyluiz commented Apr 26, 2025

No big renames on these two:

  • Migrated events section
  • Migrated canvas section

Last section coming up. This one will take longer because it's a bigger section.

@andreyluiz
Copy link
Contributor Author

And that's it!

  • Migrated custom widgets section
  • Migrated final section
  • Added an end page

@andreyluiz
Copy link
Contributor Author

andreyluiz commented May 1, 2025

@fogarecious I reviewed the whole flow, and performed the last fixes.

  • All the tutorials are 0.13.1 compatible
  • The repo has examples that correspond exactly to the contents of the markdown
  • I made sure all screenshots are still compliant with the examples, and the ones that changed, I updated

This is ready for a review and merging. :)

@andreyluiz
Copy link
Contributor Author

@fogarecious I also created the PR iced-rs/awesome-iced#27 on awesome-iced to update the version of the tutorial. It will be merged after this one.

@fogarecious
Copy link
Owner

Thank you so much! It looks fantastic to me.

@fogarecious fogarecious merged commit 61e7f87 into fogarecious:main May 2, 2025
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

Successfully merging this pull request may close these issues.

Transform repo into an examples crate sendbox Docs for latest iced (and historical versions)?
3 participants