OK, I would like to begin TRYING to give an UNDO/REDO system a chance to appear in my software.
Please forget about the earlier posts because I would like to start from zero the reason is:
As I'm working on my software, I noticed that it became bigger and bigger as I add more features that are actually needed and not just adding for fun.
So, if anyone can help me out work on an UNDO/REDO system with the option or "way of thinking" that will allow me to update or ADD that I will just need to tweak or edit later on in order to tell these new features events to be included in the UNDO/REDO system.
Because there are features that need to be affected by UNDO/REDO and some that are NOT!
for example: EXPORT PNG FILE, or click on menu buttons in general, and so on..
The main issue is that I cannot share my software file, but I can share some project files to work on if that will help any of you guys to show me how it's done since I'm waaaay noob to understand how to program such complicated thing.
The other issue I had was to exclude the SAVE PROJECT and LOAD PROJECT buttons also where effected by the UNDO/REDO system. it was super confusing for my level to understand and fix so I want to start from scratch of course... with YOUR help, obviously I cannot do such DYNAMIC system by myself.
So if it's possible to make a GENERAL working system that I can always tweak to ADD or EXCLUDE what will or will not affected by UNDO / REDO it will be very useful for me to actually have it on my software.
I'm sharing a pretty clean C3 Project that you can do your tests on it as you wish, and if possible to make all the UNDO/REDO in its dedicated Folder and PLEASE: add comments to help me understand what should I tweak or not in order to make NEW futures events later on.
I'll probably have some questions later but for now... please have a look:
DOWNLOAD - Experimental C3 File with some basic features
Thanks everyone for you help, I appreciate it and I hope that I'll learn something from this.