All Projects → lovyan03 → M5Stack_TreeView

lovyan03 / M5Stack_TreeView

Licence: MIT license
M5Stack TreeView menu UI library.

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to M5Stack TreeView

Graphview
Flutter GraphView is used to display data in graph structures. It can display Tree layout, Directed and Layered graph. Useful for Family Tree, Hierarchy View.
Stars: ✭ 152 (+204%)
Mutual labels:  treeview
react-treeview-component
A react tree-component where user can customize the the tree according to their need
Stars: ✭ 18 (-64%)
Mutual labels:  treeview
esp32 mmd
esp32でmmd
Stars: ✭ 93 (+86%)
Mutual labels:  m5stack
Vuejs Tree
A highly customizable and blazing fast Vue tree component ⚡🌲
Stars: ✭ 211 (+322%)
Mutual labels:  treeview
vuejs-tree
A highly customizable and blazing fast Vue tree component ⚡🌲
Stars: ✭ 310 (+520%)
Mutual labels:  treeview
M5Stack-NMEA-2000-Display-CAN-BUS
This repository shows how to use the M5Stack as NMEA 2000 Display and WiFi Gateway.
Stars: ✭ 29 (-42%)
Mutual labels:  m5stack
Pbtreeview
An UITreeView implementation from UITableView that Apple missed in its UIKit framework. And it is in pure Swift.
Stars: ✭ 128 (+156%)
Mutual labels:  treeview
M5StickCProjects
StickWatch2 and some interesting projects based on M5StickC
Stars: ✭ 57 (+14%)
Mutual labels:  m5stack
TreeView
"TreeView - sub-cells simplified" (c). Enable subcells in UITableView with a single drop-in extension. CocoaPod:
Stars: ✭ 54 (+8%)
Mutual labels:  treeview
comment tree
Render comment tree like facebook comment - reply
Stars: ✭ 37 (-26%)
Mutual labels:  treeview
You Dont Need Javascript
CSS is powerful, you can do a lot of things without JS.
Stars: ✭ 16,514 (+32928%)
Mutual labels:  treeview
gitbook-treeview
🌲 A gitbook plugin for generating tree view for ech page
Stars: ✭ 38 (-24%)
Mutual labels:  treeview
android-thinkmap-treeview
Tree View; Mind map; Think map; tree map; custom view; 自定义;关系图;树状图;思维导图;组织机构图;层次图
Stars: ✭ 314 (+528%)
Mutual labels:  treeview
Noodel Js
User interface for responsive, dynamic content trees
Stars: ✭ 173 (+246%)
Mutual labels:  treeview
react-tree
Hierarchical tree component for React in Typescript
Stars: ✭ 174 (+248%)
Mutual labels:  treeview
Expandablerecyclerview
ExpandableRecyclerView with smoothly animation.
Stars: ✭ 135 (+170%)
Mutual labels:  treeview
vue-virtualised
Blazing fast scrolling and updating for any amount of list and hierarchical data.
Stars: ✭ 18 (-64%)
Mutual labels:  treeview
ili9342c mpy
ILI9342C Fast 'C' Driver for MicroPython (M5Stack Core)
Stars: ✭ 31 (-38%)
Mutual labels:  m5stack
liblarch
A Python library to easily handle complex data structures, with a GTK binding
Stars: ✭ 28 (-44%)
Mutual labels:  treeview
Unity-IMGUI-TreeView
Simple Tree View implementation for IMGUI (Editor GUI) in Unity. Includes a special type for working with asset paths, but base data structure and view can be easily extended to support anything.
Stars: ✭ 73 (+46%)
Mutual labels:  treeview

M5Stack TreeView menu UI library.

TreeView menu user interface library for M5Stack.

M5Stack用 ツリービュー形式のメニューUIライブラリ

Description

カスタマイズして独自のメニュー項目を作成できます。

Support FACES Keyboard and GameBoy unit.
Support PLUS Encoder unit.
Support JoyStick unit.
Support CardKB unit.

M5Stackの各種ユニットでの操作にも対応。

treeview

BtnA click : フォーカスを親へ移動 Move focus to parent item.
BtnA hold : フォーカスを前へ移動 Move focus to the previous item.
BtnB click : 選択 Select focus item.
BtnC click/hold : フォーカスを次へ移動 Move focus to the next item.

Requirement

動作には M5OnScreenKeyboard が必要です。
M5OnScreenKeyboard is required for operation.
(https://github.com/lovyan03/M5Stack_OnScreenKeyboard)

Usage

#include <M5Stack.h>
#include <M5TreeView.h>
M5TreeView tv;
void setup() {
  M5.begin();
  Wire.begin();
// setItemsでツリー構造の定義を作成します
// 個々のアイテムは new MenuItemで作成し、
// 引数で表示名のほかに、識別用タグ値、サブツリー、コールバック処理などを渡せます)
  tv.setItems(std::vector<MenuItem*>
               { new MenuItem( "main 1")
               , new MenuItem( "main 2", 2) // 識別用タグ値
               , new MenuItem( "main 3", func) // コールバック処理
               , new MenuItem( "main 4"
                             , std::vector<MenuItem*> // サブメニュー
                               { new MenuItem("sub1")
                               , new MenuItem("sub2") 
                               }
                             )
               }
             );
  tv.begin();
}

void loop() {
// tv.updateを繰り返し呼ぶことで動作します。
// update の引数に true を渡すと強制再描画します。
// update の戻り値には選択されたアイテムが返されます。
  tv.update();
}

void func(MenuItem* mi) {
// コールバック関数やファンクタが設定されていると、アイテム選択時に呼び出されます。
// (親アイテムに設定されている場合にも呼び出されます。)
// 引数には選択されたアイテムのポインタが渡されます。
}

Licence

MIT

Author

lovyan03

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].