MoI discussion forum
MoI discussion forum

Full Version: Parametric design in MoI?

Show messages:  1-5  …  586-605  606-625  626-645  646-665  666-685  686-705  706-725  …  906-912

From: Max Smirnov (SMIRNOV)
2 Oct 2017   [#646]
Hi Marco,

>>I would like to find some extra spare time (..it's a hard challenge) to write some sort of "UI Control Panel" for NodeEditor, with buttons/tabs/expandable sections, all dynamically created, in order to give a different UI other than menu, that is very uncomfortable.
Do you think is it feasible ?

Sure, the UI definetely needs redesigning. I'm not a designer, so I can't create good interface by myself. Maybe someone could make new interface for NE.

Brian,
thank you for documentation!
From: mkdm
2 Oct 2017   [#647] In reply to [#646]
Hi Max.

@You : "...Sure, the UI definetely needs redesigning. I'm not a designer, so I can't create good interface by myself. Maybe someone could make new interface for NE."

Well!

ASAP I hope to start writing a UI plugin with some nice look and above all with good UX, in order to speed up things in NE (or...PE...Project Elephant).

I also think that currently what we are really missing in NE is the support for keyboard shortcut,
but unfortunately I think that this can't be done, because I suppose that all keyboard events are captured and processed by Moi.

Anyway...let's change at least the UI!

I'll keep you up-to-date about this work.

Ciao!
From: Michael Gibson
2 Oct 2017   [#648] In reply to [#647]
Hi Marco, re: keyboard shortcuts in node editor - for v4 it will be possible to implement OnKeyDownEvent() and OnKeyUpEvent() script functions on a dialog and when the dialog has focus MoI will look for those and call them.

It's used also by the new shortcut key definition dialog "ShortcutKeyDialog.htm" and there are comments in that file about how it works.

- Michael
From: mkdm
2 Oct 2017   [#649] In reply to [#648]
Hi Michael.

@You : "...for v4 it will be possible...".

Perfect!! Thanks a lot.

"ShortcutKeyDialog.htm"....is in V4.....right ? I think so.
From: Michael Gibson
2 Oct 2017   [#650] In reply to [#649]
Hi Marco,

re:
> "ShortcutKeyDialog.htm"....is in V4.....right ? I think so.

Yes, that's correct.

- Michael
From: Max Smirnov (SMIRNOV)
4 Oct 2017   [#651]
v.0.97

Removed Clone function
Added Copy/Paste functions (also you can use Ctrl + drag)
Removed buttons icons (all icons generating on the fly)

I've started an optimization process. About 650 lines in main.js has been changed since v.0.96
This version is unstable. Waiting for a bug reports.
From: Max Smirnov (SMIRNOV)
4 Oct 2017   [#652]
Hi Marco

>>ASAP I hope to start writing a UI plugin with some nice look and above all with good UX, in order to speed up things in NE (or...PE...Project Elephant).
Good news. What kind of interface you want to make?
From: James (JFH)
4 Oct 2017   [#653] In reply to [#651]
Thanks Max for latest update,

Copy/Paste will be a productivity boon in general use, and...
ingeniously answers my call for a "make macro" function
by allowing to paste into a new macro, so kudos!

This is just a thought, but would it be possible to have a
"Copy & Remove" option (or "Cut" in Adobe nomenclature)?
It would be handy when cleaning up node circuitry, by copying out
groups of nodes to package into a macro, without then have to
reselect the same nodes to remove. If you agree that this would be
useful, then perhaps, sometime in the future this option could be included.

For now, I'm so happy with the new functionality, especially
Ctrl + drag copying! This is something that I have long desired.

Thanks again
James

P.S. >>Removed buttons icons (all icons generating on the fly)<<

This may be a dim witted question, but could explain this
or illustrate with image. I don't know what are "buttons icons"
The only things that would fit the description that I can see is:
"NEW","LOAD","SAVE" etc. but they have not been removed.
From: mkdm
4 Oct 2017   [#654] In reply to [#652]
Hi Max.

@You : "...Good news. What kind of interface you want to make?..."

Well...I still don't know.

I have in mind some kind of simple "buttons driven" UI with expandable/collapsible grouping of buttons.

I want to start with a simple thing and to see how it works.

Something like this (please don't care about colors or icons, are only examples)



As you can see I wrote "dynamically generated" (also with icons if possible).

I will need to parse in some way the .js source code of P. Elephant to extract the names of the various nodes.

I think that with just this simple UI working with P. Elephant will be much, much faster.

Please let me know what do you think about it.

Cheers.

Marco (mkdm)
From: mkdm
5 Oct 2017   [#655] In reply to [#652]
Hi Max.

P.s....

@Me : "..(also with icons if possible)..."

I think it's easily feasible for example assuming " icon file name.png = node name".
Icons could be placed into a folder inside the root of P.E.

Anyway...let me know.

Ciao!
From: Max Smirnov (SMIRNOV)
5 Oct 2017   [#656]
James
>>This is just a thought, but would it be possible to have a "Copy & Remove" option (or "Cut" in Adobe nomenclature)?
I added this function today morning.

>>The only things that would fit the description that I can see is: "NEW","LOAD","SAVE" etc. but they have not been removed.
In v0.96 and earlier versions the icons was stored in /imgs directory as png files. In v0.97 this directory has been removed. Now NE engine draws icons automatically every time you you run it.
Now you can change color of the icons in colors.js file.

Marco
>> want to start with a simple thing and to see how it works. Something like this (please don't care about colors or icons, are only examples)
It's OK. Looks good. I'll make small change in init.js (or index.html) today, so you can add custom buttons and windows without making any changes in the core files.
I'll send you an example today evening.

>>I think it's easily feasible for example assuming " icon file name.png = node name". Icons could be placed into a folder inside the root of P.E.
Huge amount of separate png icons will affect on overall engine performance. Especially when you open NE window.
The better and more clear way is store the icons inside every node as base64 encoded image.
From: mkdm
5 Oct 2017   [#657] In reply to [#656]
Hi Max.

@You : "...It's OK. Looks good....I'll make small change in init.js...I'll send you an example today evening."

PERFECT!!!

@You : "...The better and more clear way is store the icons inside every node as base64 encoded image...."

Ok, I agree. Every node must expose a property for the based64 image,
so I can read it in runtime during the generation of the graphical menu UI.

And each author of any node must fill that information.

Anyway, this should be optional.
If an author doesn't want to provide any icon for its node he is free to do that.
But if an author want the icon displayed for his node he must fill that property of the node with the based64 data.

Right ?


I stay tuned.

Ciao.
From: Max Smirnov (SMIRNOV)
5 Oct 2017   [#658] In reply to [#657]
Hi Marco

Here a example of ui extension
Find this line in index.html
code:
loadScripts('core','init');

and change it to
code:
loadScripts('core','init, *');


after this modification NE will load all additional .js files in /core directory

Copy atteched file to /core
From: mkdm
5 Oct 2017   [#659] In reply to [#658]
Hi Max.

Thank you very much!

ASAP I will study your code and starting to write my UI plugin.

Meanwhile, I want to inform you that I'm getting some strange errors with latest nodeeditor.v.0.97.2017.10.05,
but you already said that is unstable.

Also, as you can see, your UI example loads correctly only the very first time I open it in N.E.

Anyway, please check this video to see what's happening : http://take.ms/hOEL0


I don't know if this may help you but this is the shortcut definition in Moi's ini that I use to open N.E :

Alt+F2=script: moi.ui.createDialog( 'nodeeditor.v.0.97.2017.10.05/index.html', 'resizeable,defaultWidth:680,defaultHeight:420', moi.ui.mainWindow );

I stay tuned.

Thanks.

Marco (mkdm)
From: Max Smirnov (SMIRNOV)
6 Oct 2017   [#660] In reply to [#659]
Hi Marco,

I just forgot how my loadScript function works :)
rename mylib.js to ext.mylib.js and change the line in index.html to loadScripts('core','init, ext.*');
From: mkdm
6 Oct 2017   [#661] In reply to [#660]
Hi Max.

No problem. Thanks for the tip.

I hope in this weekend to start writing the UI plugin based on your example.
I still don't know what kind of style I want to use.
Anyway it will be minimalist and lightweight.

Obviously, before coding the entire plugin, I will try some prototype and I will ask you if it is good also for you, before I go any further.

Bye!
From: Karsten (KMRQUS)
6 Oct 2017   [#662] In reply to [#661]
Hello Max, hello Marco,

some questions about the Icons:

Resolution: 64x64?
Format: png?
Colordepth: 8bit?
Stored in static member e.g.
function Point(){
Point.icon="iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AA....

Will it be excluded from storing in the *.nod file?

Examples for the Icon design - coloured or Grey to get a consistent look?

Thanks in advance
and have a nice day
Karsten

Message 7713.663 was deleted


From: mkdm
6 Oct 2017   [#664] In reply to [#662]
Hi Karsten.

I complete here the previous message.

IF MAX AGREE OF COURSE.

1) 64 x 64 : OK
2) format : Base64 png
3) 8 Bit : OK
4) "function Point() {Point.icon="iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AA...." : OK
5) Style : flat icons



Stay tuned.

Bye.
From: mkdm
6 Oct 2017   [#665] In reply to [#664]
P.S.

Max, if you think that an overall size of 64x64 it too big for the icon we can use 56x56 or 48x48.

All other measures shall be proportionate to what I wrote in my previous message :

56x56 : roud corner : 7, centered icon : 42
48x48 : roud corner : 6, centered icon : 36

Show messages:  1-5  …  586-605  606-625  626-645  646-665  666-685  686-705  706-725  …  906-912