diagg

module
v0.6.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 3, 2020 License: MIT

README

diagg

A WIP set of UI widgets for Go + GTK3. Intended to hide most of the complexity of common widgets.

flowui package

flowui implements an interactive display for a flowchart of connected nodes. Nodes are linked by edges, which themselves form a link between any two pads. Pads are the connection points on a node.

The data model used for the nodes can be any type implementing the requisite interfaces in the flow package. Basic implementations are provided as flow.SNode, flow.SPad, and flow.SEdge.

flowui additionally implements:

  1. Ability to pan and zoom around the flowchart
  2. Ability to have 'toolbars' and overlays on the screen, intended for easy creation of new nodes
  3. Ability to select or double-click nodes or pads
  4. Ability to create new edges by dragging a line between pads
  5. Ability to add new nodes to the flowchart
  6. Custom renderers for nodes, pads, and edges (thou the default renderer is pretty good)
  7. Hit-testing & display culling to maximize performance

Try go run flowdemo/*.go for a demo.

form package

form implements automatic generation of form elements/fields/windows based on a struct. This is intended for rapid development of simple dialogs.

Try go run formdemo/*.go for a demo.

list package

list implements a list of widgets, with an MVC-based API mirroring that of Android's RecyclerView and ListAdapter API. Try go run listdemo/*.go for a demo.

editor and tags packages

Implement a syntax-highlighted editor widget, and a widget for adding/removing tags.

Directories

Path Synopsis
Package flow implements a flow chart
Package flow implements a flow chart
Package flowui implements an interactive graph renderer.
Package flowui implements an interactive graph renderer.
Package form generates forms based on structs.
Package form generates forms based on structs.
Package list implements a list adapter widget.
Package list implements a list adapter widget.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL