panels 0.0.1 copy "panels: ^0.0.1" to clipboard
panels: ^0.0.1 copied to clipboard

outdated

Panels is a flutter package that aims to provide a set of useful desktop UI panels that can move around, dock and tab like we expect in more robust desktop applications.

Warning: Beta

Panels #

Pub Version (including pre-releases)

Panels is a flutter package that aims to provide a set of useful desktop UI panels that can move around, dock and tab like we expect in more robust desktop applications.

Features #

  • ✅ Draggable Windows
  • ✅ Correct Mosue Cursor
  • ✅ Tabs
  • ❌ Make all Windows dockable into each other
  • ❌ Custom panel themes (currently uses Theme.of(context))

Demo #

ezgif com-gif-maker

ThemeData.light() ThemeData.dark()
image image

(The theme is determined through Theme.of(context), so set the theme in your MaterialApp(theme: ThemeData.light()/dark()))

Under the hood #

There are 10 Mouse Regions and listeners (All sides and corners + The big one in the middle + the draggable) that change the look of the mouse according to their function. Windows can be clicked on in any of these regions to become selected (put on top).

ezgif com-gif-maker (1)

There is an InheritedWidget called Panels which is created by a StatefulWidget called PanelsManager. The children of the panels manager are put into a stack. To add Panels/Windows one can simply do Panels.of(context).addPanel(widget: Widget, title: "Title of Panel"); to create one from any Widget from anywhere in a context that is a decendant of the PanelsManager (Panels).

Please see the examples directory for an example.

31
likes
0
pub points
38%
popularity

Publisher

verified publisherblankstdio.com

Panels is a flutter package that aims to provide a set of useful desktop UI panels that can move around, dock and tab like we expect in more robust desktop applications.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter

More

Packages that depend on panels