The project main idea is about building Simulation App using WPF Tech to simulate Logic Circuits.
For more description about the project check this Document File!
The project is simply 3 main parts + 1 is the connection (not single part but it need hard works):
Gates Core: in this section only c# code no graphics at all so I can use it later with my WPF GUI.
Gates Designer: here I used WPF as UI for my gates and I need Gates Core to make my Gate(s) Full Functional.
Main Window: or in other words Simulation area, here we use my work in gates to test and make simulations. And, for sure we need to add more things needed by users like: Copy/paste/cut - undo/redo/ save/save as / open - add/remove gates - make selections - clear selections - zooming ..... etc!
Wiring: or the connections between gates, I set this section alone cuz it need a lot of works,
as designer I did the connector and it is working good,
and I did the connection rules (all know rules added but in cases we need more ... but, we can say it's done too),
final part: move the values between connected gates .... not yet, I didn't found good way to do this tell now and ..... !?
Now, I parted the project to this main parts to work on:
Gates: (AND, OR, NOT, NOR, XOR, XNOR, NAND,) (FAN, LED, SWITCH_BUTTON, CLOCK) (Extras).
Design Section. (here I'll use WPF Tech to create new UserControls as "Gates").
Code Section. (Using C# !).
Main Window: (GUI of the Project contains: Open/Save, Copy/Paste/Cut, Undo/Redo Commands ... etc!).
Chart: (Histogram with Animation to view Gates States).
Connections: (the wire which is the connection between gates).
As WPF Features. (Like: Nice Design, Animations, Styles, ... etc!).
What happened with that parts till now ???
The Gates: (Design and Code Sections). " Done by me"
Main Window (with it commands). " Done by me... no know bugs ?, and I created new Save/Open(advance and so good) new save image and other new improvements like copy - undo/redo selection effects, easy dragging, creating the connection DIRECTLY by click any gate terminal....etc "
And the Final Part (WPF :) Features) like: (Effects, Animations... etc!). " Done by me too... "
Some extra like:
Zoom In/Out " Done by me "
Metro Style ... " Done by me too!"
Connections
Design " Done by me",
Rules " Done by me",
How to move the values dynamically between gates " Finally ... I did it" working great with binding ... check the report for more info about it
P.S: check current process page for latest updates about the tasks!
New Improvements:
Added Web app edition to the project (now you can run the same simulation app using your browser).
Modified more controls to fit metro style.
Completely new Open/Save method using XML serialization.
Added 1st Flip flop.
Completed all connection rules.
So, here I'll bring the latest updates of the project:
and show the current problems/solutions.
some useful links.
how I solved my parts problems!
and all my source code.