Giter VIP home page Giter VIP logo

bigtree's People

Contributors

kavics avatar

Watchers

 avatar  avatar

bigtree's Issues

Transformations on canvas

Rewrite pan and zoom functionality. Transformations need to be independent of the drawing operations and tree-calculations.

Need to work well:

  • Two buffered (drawing on two canvas) rendering.
  • Pan by left button down + moving mouse.
  • Zoom by mouse wheel (the center point is the current position of the mouse).
  • Zoom by exact percent.
  • Reset transformations.

SELECTION. Every node need to be clicked.

Clicked node is selected. Previously selected node is changed to not selected. Selected node properties appear in a "Properties" popup window. Selection is cleared if the properties window is closed.

Better start positions.

Better start positions. Starting state of the tree is too chaotic. Choose a better solution. For example: place the nodes into concentric circles. Circle radius depends on the level of the node.

Rotate tree

Rotate all nodes around the point (0,0) by the input degree that comes from a textbox.

PAN

Move the visible area left-right and up-down

Faster calculation.

Repulsion effect can be limited by fast-calculated distance (max X or max Y).

Pluggable tree generator provider

Getting trees from various sources

  • Script
    • SQL script.
    • JSON hierarchy.
    • XML file.
    • YAML file.
  • Object hierarchy
    • Parent-children relation by interface
    • Type hierarchy

Save and reload a tree

Persist the calculation state. The calculation/rendering can be continuable after reloading.

CREATE ISSUES from the deleted project

  • ZOOM: Function buttons: Fit to window

  • ZOOM: Function buttons: Reset to 100%,

  • ZOOM: Slider.

  • ZOOM: Use zoom in hairlines

  • ZOOM: Mouse wheel.

  • ZOOM. TextBox with exact percent value..

  • ZOOM: Use zoom in mouse interaction (hover).

  • ZOOM: + / - buttons.

  • ZOOM. TextBox with exact percent value..

  • SELECTION. Every node need to be clicked. Clicked node is selected. Previously selected node is changed to not selected. Selected node properties appear in a "Properties" popup window. Selection is cleared if the properties window is closed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.