• Stars
    star
    313
  • Rank 129,661 (Top 3 %)
  • Language
    C#
  • License
    MIT License
  • Created about 4 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

πŸ”—WPF node editor based on ReactiveUI

Build Status

SimpleStateMachineNodeEditor

SimpleStateMachineNodeEditor is a WPF node-editor for visual work and editoring state-machine

Give a Star! ⭐

If you like or are using this project please give it a star. Thanks!

Why SimpleStateMachine?

Create state machine in three steps :

1. Create scheme in this node editorπŸ”—

2. Load scheme in your project using libraryπŸ“š

3. Describe your app logic and run the state machin🚘

FeaturesπŸ’‘

Custom Window with Visual Studio design

Two themes

Two representations for State machine

  • Scheme of nodes
  • Table of transitions

Validating

  • for unique name for Node/Transition
  • for exists Nodes without connects

Adding nodes and connections

Undo and redo

Collapsing and moving

Scaling

Selection

Naming for states and transitions

Moving transitions

Deleting transitions

Import/Export scheme from/to xml

<?xml version="1.0" encoding="utf-8"?>
<StateMachine>
  <States>
    <State Name="Start"/>
    <State Name="State 1"/>
    <State Name="State 2"/>
  </States>
  <StartState Name="Start" />
  <Transitions>
    <Transition Name="Transition 2" From="State 2" To="State 1" />
    <Transition Name="Transition 1" From="Start" To="State 2" />
  </Transitions>
   <Visualization>
    <State Name="Start" Position="37, 80" IsCollapse="False" />
    <State Name="State 1" Position="471, 195.54" IsCollapse="False" />
    <State Name="State 2" Position="276, 83.03999999999999" IsCollapse="False" />
  </Visualization>
</StateMachine>

Save work space as PNG/JPEG

Getting StartedπŸ“‚

1. Download the latest release archive

2. Unzip the downloaded file

3. Run the exe file

ShortcutsπŸ“Ž

  • Ctrl +A = Select All Nodes
  • Ctrl + S = Save
  • Ctrl + Shift + S = Save As
  • Ctrl + Shift + O = Open
  • Ctrl + Shift + N = New
  • Alt + F4 = Exit
  • Ctrl + Shift + Alt + P = Export to PNG
  • Ctrl + Shift + Alt + J = Export to JPEG
  • Ctrl + Z = Undo
  • Ctrl + Y = Redo
  • Ctrl + N = Add Node
  • Ctrl + LMB on Canvas = Start Select
  • Ctrl + LMB on Connector = Create Loop
  • LMB on Node = Select one Node
  • Ctrl + LMB on Node = Select/UnSelect Node
  • Ctrl + LMB on Transition = Select/UnSelect Transition
  • Shift + LMB on Transition = Multiple selection
  • LMB on Connector = Start create Connect
  • Alt + LMB on Connector = Move Connector in Node
  • Alt + LMB on Canvas = Start Cut
  • Delete = Delete Selected Elements
  • C + Delete = Delete Selected Connector
  • N + Delete = Delete Selected Nodes

FAQ❔

If you think you have found a bug, create a github issue.

But if you just have questions about how to use:

LicenseπŸ“‘

Copyright (c) SimpleStateMachine

Licensed under the MIT license.