framefield / tooll

Tooll is a new multi-purpose application for creating interactive 3d content and animations. It combines the best aspects of animation, compositing, and coding into a lightweight and intuitive UI. Your designs can be shared as executable or rendered to movies.
http://www.tooll.io
MIT License
638 stars 53 forks source link

Question: Startup layout? #21

Open Skinnytorus opened 8 years ago

Skinnytorus commented 8 years ago

Sounds like dumb question, but anyway... How do I make Tooll2 open in full screen mode with the last used layout?

necaremus commented 8 years ago

good question: i think it is not implemented, yet.

i've actually posted something similar here: FUII_neeca

not yet working :D but gonna push a pull-request, when i got an answer how i should handle it.

Skinnytorus commented 8 years ago

That's great, thanks. Another thing is that not all views are available through the View menu (e.g. Color picker is missing). Would be cool to have total freedom in arranging views (i.e. with all views available from the View menu).

necaremus commented 8 years ago

(i'm just getting back into coding) @Skinnytorus could you add a full-list of missing views? either here or here

i, myself, am not working that much with tooll, but i started working at tooll, because my machine is too weak - i oversee/miss those kinds of stuff :3 /edit: zzZZ how i put dis into english... this reads/sounds wrong X_x -- i alter the code a bit as volunteer.


@pixtur / @drcynic could i get feedback on FUII_neeca? :)

Skinnytorus commented 8 years ago

As I can see it, Color and Composition views are missing from the View menu. Added here: [https://github.com/framefield/tooll/wiki/FUII_neeca]

necaremus commented 8 years ago

mhm... @drcynic i've added my load at the end of the MainWindow() in MainWindow.xml.cs

        public MainWindow() 
        {
            InitializeComponent();
            //[...]

            SetupLayoutHandler();

            LoadLayouts();
            LoadBookmarks();
            LoadAndSetLastLayout(); // <--- my new function
        }

and i get the error, that the MainWindow.dockManager is a null reference // unloaded ~~ how do fix dis? the dockManager only appears in the MainWindow.xaml not in the .cs

System.InvalidOperationException was unhandled by user code HResult=-2146233079 Message=Unable to deserialize a docking layout while DockingManager control is unloaded Source=AvalonDock StackTrace: at AvalonDock.DockingManager.RestoreLayout(XmlDocument doc) at Framefield.Tooll.MainWindow.LoadAndSetLastLayout() in C:\Users\neeca\Documents\GitHub\toolldevelop\tooll-develop\Tooll\MainWindow.xaml.cs:line 460 at Framefield.Tooll.MainWindow..ctor() in C:\Users\neeca\Documents\GitHub\toolldevelop\tooll-develop\Tooll\MainWindow.xaml.cs:line 102 InnerException:


mhm... testing around a bit ~ seems to work if i put it into the loadedevent. but dis is an ugly work around ><

pixtur commented 8 years ago

Oh, we're using a framefork called avalon dock. Adding the missing panels would be super nice. Regarding the last layout: The Layouts.xml is a user-centric configuration. It' might be possible to serializable the current layout on shutdown and read it on startup. But the avalon-lib is very... hmm... rough. There are many situations when the serialization is no possible (e.g. when panels are floating).

I spent quite a bit of time on that front, and it's not the most interesting part. :-)

I would focus on. Adding the menu-entries for ColorPicker and CompositingView. If you're into WPF development, it would also be nice to have an "Edit Layouts" dialog to resort the layout order and rename layouts. Then the first layout could be default one.

necaremus commented 8 years ago

@Skinnytorus - ok... i'm working on this (a bit...) was busy... well, trolling :D and got distracted by unrelated stuff. ;>

i've got the ColorPicker View working... but not the compositionView... if you click the "X" it's hiding somewhere... and i can't rly find it :D

i am thinking of focusing on AvalanDock v2 and delay these fixes

i'm atm busy understanding the handling of .xaml files and the avalanDock.dll interaction^^

i think this my loose To-Do:

if you want, i can upload this working ColorPicker (in a clean file... mine is super chaotic atm^^) and give you a link ~~ but that is only a minor change and only half of the fix >_<

Skinnytorus commented 8 years ago

Hi, @necaremus

Add ColorPicker to _View

Super cool! Why won't you just submit a pull request? Access the color picker is not a top priority - just a minor fix to keep things in order. pixtur will sure commit it once he is back online.

if you want, i can upload this working ColorPicker (in a clean file... mine is super chaotic atm^^) and give you a link ~~ but that is only a minor change and only half of the fix >_<

Thanks, but there's no immediate need for that until we are able to save and load custom layouts. You'd better submit the pull request on that.

add CheckBox for "evaluate onSelection" - the "S"-thingy from werkkzeug -> delayed

That will be a much more needed feature... at least for me. :)) I really appreciate your input on this one!

necaremus commented 8 years ago

mhm i looked a bit into this:

add CheckBox for "evaluate onSelection" - the "S"-thingy from werkkzeug -> delayed

That will be a much more needed feature... at least for me. :)) I really appreciate your input on this one!

i actually managed to do it, but it was just a minor change in performance. i firstly just skipped the visualization with a simple bool in the EventHandler, but that didn't change a lot. than i tried to skip the eventHandler all together (because i wanted to skip the calculation of the EventArgs) - that just slightly improved the performance.

@pixtur, @drcynic - i think the SelectionHandler.cs is the problem, or something it is using >_> but i honestly don't understand that thingy, yet :D

Skinnytorus commented 8 years ago

hi, @necaremus Perhaps this lag is caused by the overall complexity of the node tree interface. Drawing nodes takes up processing time. Maybe a slight simplification of the nodal tree GUI could help. What do you think?