macosui / macos_ui

Flutter widgets and themes implementing the current macOS design language.
https://macosui.github.io/macos_ui/#/
MIT License
1.86k stars 183 forks source link

Bottom resizable pane #349

Closed stMerlHin closed 1 year ago

stMerlHin commented 1 year ago

I built a BottomResizable pane widget , an implementation of apple HSplitView base on the existing ResizablePane, addressed #344. A little video which shows the widget (consider using firefox or chorme if the video is not palying).

Capture vidéo du 2023-02-08 02-21-41.webm

Pre-launch Checklist

GroovinChip commented 1 year ago

@stMerlHin Before I review, it occurs to me to wonder if this could be baked into ResizablePane and adding a ResizableSide.bottom to the ResizableSide enum. What do you think?

stMerlHin commented 1 year ago

I was thinking so. The bottom resizable pane use almost the same base code, I was tempted to inherit it from resizable pane and then do some overrides because I was afraid to touch an existing and functional widget. It will pretty good to have one resizable widget with capability to make it horizontal or vertical.

Also the ResizableSide should be ResizableSide.top instead of ResizableSide.bottom

GroovinChip commented 1 year ago

Great! Do you mind trying to go that route, then? I really appreciate your work on this 🙏

And you're correct, it should be ResizableSide.top, not bottom.

stMerlHin commented 1 year ago

I'm very pleased to contribute to my favorite package. will do so and push the new version very soon.

Potential issue, the MacosScaffold takes as children ContentArea and ResizablePane so I'm asking myself if adding capability to set the ResizableSide to top will not end up with weird behavior since the MacosScaffold arranged his children as row.

GroovinChip commented 1 year ago

I'm very pleased to contribute to my favorite package. will do so and push the new version very soon.

Potential issue, the MacosScaffold takes as children ContentArea and ResizablePane so I'm asking myself if adding capability to set the ResizableSide to top will not end up with weird behavior since the MacosScaffold arranged his children as row.

It's certainly a good question. If it doesn't work out, at least we've got the work you've already done. I appreciate you trying!

stMerlHin commented 1 year ago

I've finished adding capablity the ResizablePane

@stMerlHin Before I review, it occurs to me to wonder if this could be baked into ResizablePane and adding a ResizableSide.bottom to the ResizableSide enum. What do you think?

Hey @GroovinChip I've done adding the feature. Thanks.

GroovinChip commented 1 year ago

I've finished adding capablity the ResizablePane

@stMerlHin Before I review, it occurs to me to wonder if this could be baked into ResizablePane and adding a ResizableSide.bottom to the ResizableSide enum. What do you think?

Hey @GroovinChip I've done adding the feature. Thanks.

Amazing!!! Thanks so much! I'll do my best to review today.

stMerlHin commented 1 year ago

Nice, I'll do any modification if needed. Thanks.