FLUTTER ECOSYSTEM

BlankSTDIO/panels

BlankSTDIO/panels open-source repository details.

패널 프로젝트 이미지
Stars
9
Forks
3
최근 푸시(UTC)
2021. 5. 25.
프로젝트 상태
활성
BlankSTDIO GitHub avatar
GITHUB Organization

BlankSTDIO ↗

언어DartC++CMakeHTMLCSwift

이 저장소가 배포한 패키지

사용 중인 의존성

의존성 목록 1 개
  • flutter{"sdk":"flutter"}

원본 README

아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.

README 펼치기 / 접기
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

  • [x] Draggable Panels
  • [x] Resizable Panels
  • [x] Correct Mosue Cursor
  • [x] Tabs in Panels
  • [ ] Make all Panels dockable into each other
  • [ ] Custom panel themes
    • [x] Customizable close button
    • [x] Customizable context menu
    • [ ] Customizable tabs
    • [x] Customizable frame
    • [ ] Customizable top bar

Demo

ezgif com-gif-maker

Default Theme

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

FrostedPanelsTheme

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

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.

Please see the examples directory for an example.