Git Product home page Git Product logo

linkuit-studio's People

Contributors

simonbuxx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

linkuit-studio's Issues

Implement Ctrl shortcuts for common tasks

  • Ctrl-C and Ctrl-V when new copy system is implemented
  • Ctrl-S when saving is implemented
  • Ctrl-O when loading is implemented
  • Ctrl-1 to Ctrl-9 to set gate input count
  • Ctrl-Arrow Keys to set component direction
  • Ctrl-Return to start/stop simulation

Implement input/output inversion circles

  • Clicking on in/outputs to invert them
  • Undo/redo Inversing
  • Invert logic state of inverted inputs
  • Invert logic state of inverted outputs
  • Inversion circles on gates
  • Inversion circles on complex logic components
  • Inversion circles for all directions

Styling for the load/processing overlay

This is the image that appears when a process like moving or starting the simulation takes a longer time
Overlay could darken the full canvas (if I find a feasible solution) and display a different image/gif showing a loading symbol or text and maybe the project logo.

Copy/Paste system with collision detection

Ctrl-C/Ctrl-V type behavior

  • Copied components should be kept in main memory until overwritten.
  • Pasting and moving to a collision-free destination should be one undo action.
  • Pasted components should appear in front until deselected.

"About" popup window

This should include:

  • SW logo
  • version
  • license
  • licenses of used software
  • versions of used software

Implement diodes

Those should be available in horizontal and vertical direction.

Generate installer for the software

i.e. InnoSetup

Requires license (ticket #59)

  • Option to associate .lsc files to Linkuit Studio
    • Use second .exe icon as file icon
  • Add license to installer

Make clocks configurable

The following parameters should be configurable in the GUI:

  • Variable ticks per toggle
  • Switching pulse/toggle
  • Variable ticks per pulse

Implement text labels

  • Including undo/redo for text changes

  • Z value above all components

  • Editable

  • Undo/redo for text changes

  • Prevent default key actions when focused

Unite "Edit" and "Wiring" modes

The goal is to reduce needed button clicks / mouse travel distance.

There are some points to consider, like when should a wire be drawn on drag and when should components be selected / dragged.

Desired behavior:

  • Left-click on component / wire selects it
  • Dragging components should still work as currently for non-wire components
  • Components, including wires, should be selectable by clicking (on mouse up) but dragging over should create a new wire / extend the current wire
  • Dragging over empty space creates a wire
  • Clicking on an in/output inverts it
  • Dragging from an in/output creates a wire

Implement more compact form for components

Gates and complex components with more than two inputs/outputs should not leave one grid unit free between connectors

  • Replace connectors (two inputs/outputs special case)
  • Change drawing algorithm
  • Change component size

"Look for Update" feature

Starting with Version 1.0, users should be able to search for updates directly in the software, possibly be notified when new version is available.

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.