Giter Site home page Giter Site logo

beyse / nodeeditor Goto Github PK

View Code? Open in Web Editor NEW
37.0 37.0 9.0 2.37 MB

A multi purpose node editor for flow-based programming

License: MIT License

Python 97.65% Stylus 0.33% Inno Setup 1.20% Batchfile 0.42% Shell 0.40%
flow-based-programming node-editor pyqt5 python

nodeeditor's People

Contributors

beyse avatar dependabot[bot] avatar pavelkrupala avatar rboltze avatar

Stargazers

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

Watchers

 avatar

nodeeditor's Issues

Add create node type feature in UI

Is your feature request related to a problem? Please describe.
Currently there is a limited number of node types. New node types must be added by creating a josn file in the right directory. This requires knowledge of the folder, the file structure and the data structure for node type definitions.

Describe the solution you'd like
The user can add new node types right in the UI with a graphical node type editor. With it the user can specify the name and the type of a new node type and add inputs and outputs with their name and their data type.

Describe alternatives you've considered
none

Additional context
none

Include node settings editor in the main window

Is your feature request related to a problem? Please describe.
When a user wants to display or edit the settings of a node, he or she must double-click the node in order to open a new window showing the settings json editor. This has following drawbacks:

  • A new user does not know that a double click onto the node will open the settings editor. So the feature is hidden.
  • It requires the user to perform an additional step. This can get inconvenient if the user wants to quickly check the settings of multiple nodes. So this slows down working with the editor.

Describe the solution you'd like
The settings editor shall be integrated into the main window in the bottom right corner and always show the settings of the currently selected node. If no node is selected, it shows nothing. If multiple nods are selected, it shows no settings but the information that multiple nodes are selected or something similarly useful.

Describe alternatives you've considered
Displaying the settings right in the node with a dropdown. I find this kinda ugly though.

Additional context
none

Cannot run NodeEditor

Describe the bug
I have follewed your instructions to install and make NodeEditor run. But, inside dist there is no executable.

To Reproduce
Steps to reproduce the behavior:

  1. Clone repo
  2. Follow installation instructions
  3. run ./pack_ubunut.sh
  4. See error:
  • termcolor pacakge error
  • there is no ./run_graph.sh file

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
image

Desktop (please complete the following information):

  • OS: Ubuntu 22.04
  • Python 3.8.5

Autosave new graphs

Is your feature request related to a problem? Please describe.
When a user wants to execute a newly created graph, she has to first save the file by picking a file location and a file name. This is takes additional effort but I want the program to be as easy and quick to use as possible.

Describe the solution you'd like
When a user presses the "run/play" button in the toolbar, the graph is saved automatically at a reasonable location for the user.

Describe alternatives you've considered
None

Additional context
None

Make nodes more compact

Is your feature request related to a problem? Please describe.
Nodes are quite wide. Screen real estate is not used efficiently

Describe the solution you'd like
Make nodes narrower but taller but aligning text of input and output portsbelow eachother

Describe alternatives you've considered
None

Additional context
None

How to change width of socket inside a node GUI

Describe the bug
The port_name i snot well displayed. If the name is longer than a few characters, the socket names are overlaid.

Expected behavior
I expect that nodes could resize on width too.

Screenshots
image

Opening the settings editor opens a new instance of the program

Describe the bug
This bug was only observed in the packed binary. When the user opens the settings editor of a node, there is a delay and after that delay both the settings editor opens (as expected) and also a new window of a new node editor opens up.

To Reproduce
Steps to reproduce the behavior:

  1. Open the NodeEditor.exe (Windows) which was packed using PyInstaller.
  2. Select a node from the right and drag it onto the canvas.
  3. Double click the node to open up the settings editor
  4. Observe that after a delay (~1s) the settings editor shows up
  5. Roughly 1s after that a new window of the ExecutionNodeEditor program opens up. It can also be seen in the windows taskbar

Expected behavior
Point 4 is fine, point 5 is too much: Do not open a new window of a new instance of ExecutionNodeEditor.

Screenshots
no screenshot

Desktop (please complete the following information):

  • OS: Windows 11
  • Version: The version in the repo by the time of reporting the bug

Additional context
none

Copying a node crashes program

Describe the bug
When copying a node (Ctrl+C and Ctrl+V) the program crashes immediately

To Reproduce
Steps to reproduce the behavior:

  1. Open the program
  2. Drag a node (I used LoadImageNode) onto the canvas
  3. Select the node
  4. Press Ctrl+C on the keyboard to copy the node
  5. Deselect the node by clicking on the canvas
  6. Press Ctrl+V on the keyboard to paste the node
  7. Observe the program crash with this console output:
Traceback (most recent call last):
  File "..\..\nodeeditor\node_editor_window.py", line 295, in onEditPaste
    return self.getCurrentNodeEditorWidget().scene.clipboard.deserializeFromClipboard(data)
  File "..\..\nodeeditor\node_scene_clipboard.py", line 138, in deserializeFromClipboard
    new_node = self.scene.getNodeClassFromData(node_data)(self.scene)
AttributeError: 'Scene' object has no attribute 'getNodeClassFromData'

Expected behavior
No crash. Node copied without error

Screenshots
none

Desktop (please complete the following information):

  • OS: Windows 11

Additional context
none

Support for Markdown help text for nodes

Is your feature request related to a problem? Please describe.
Nodes have no documentation or help text in the editor. A user would have to guess how to use a node and what it can do.

Describe the solution you'd like
A help text / brief documentation of a node should be displayed in the UI.

Describe alternatives you've considered
None

Additional context
None

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.