Another alternative UI
 1-20  …  41-60  61-80  81-98

Previous
Next
 From:  Michael Gibson
1521.81 In reply to 1521.80 
Also the v3 UI will probably go through some more changes yet, some discussion on that here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=4607.21

When it's all done I want to have just one color definition file that could be edited to make different color schemes. Since the UI is now made up of procedurally generated stuff like gradient fills it will be possible to edit it just by changing color rgb values rather than having to make a complete new set of bitmaps for every different scheme like the v2 UI would have required.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Luis (LFUNG)
1521.82 In reply to 1521.80 
Thanks Michael,

I took a look around and for the most part I thought it might be a cinch now that you're moving towards using CSS styles. :(

Couple of things I ran into:

1. Seems like the top and bottom panels in the MainWindowLayout.xml only go as far as the edge of the right panel and have a fixed height.
It would be nice to set it up to go all the across and have it sized according to contents.

2. Found a mix of moi specific controls and standard html/js/css going on in the ui, but failed to find a common thread. Maybe i need to spend
more time looking at it. :(

Questions:

- Is it possible to embed moi-specific controls around standard 'div' elements and use js to control their states? (e.g. position, visibility, etc.)

- Even better yet, is there a way to put the ViewPanel inside a div and have it auto-size via js?

- Would it be possible to create the MainWindowLayout as a standard html file?

This may be the way to start enabling the current ui so that it can be even more extensible and more easily skinnable with hopefully just a few minor tweaks.

Let me know if any or all of these are possible, or there are other ways to go about it...if not then I'll just submit my thoughts as feature requests ;)

Thanks for your prompt response, :)

--Luis
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
1521.83 In reply to 1521.82 
Hi Luis,

> 1. Seems like the top and bottom panels in the
> MainWindowLayout.xml only go as far as the edge
> of the right panel and have a fixed height.

They actually go as far as they can fit within the available remaining space.

By default there is no top panel, so I'm not sure what you mean by the top panel, have you added a custom one?

The order of the elements inside MainWindowLayout.xml is significant, because each one carves out some portion of the main window and then leaves a smaller remaining area for the next ones to carve out.

In the regular default arrangement the side pane comes first and docks to the right side - that carves off the right side of the window and then after that any top or bottom panel will be contained within that smaller area.

If you want for a top or bottom panel to go all the way across the main window, you've just got to move it to the top of the list of panels instead of having it come after the side pane one.


> It would be nice to set it up to go all the across and have
> it sized according to contents.

They already do automatically size according to the contents, except for the dock="fill" one which takes up all remaining area.

Just put any one that you want to go all the way across to be at the top of the list.


> 2. Found a mix of moi specific controls and standard html/js/css
> going on in the ui, but failed to find a common thread. Maybe i
> need to spend more time looking at it. :(

It's pretty much all made up of standard html but there are a few additional mechanisms set up for managing the html. The custom tags that you see are there as a kind of templating mechanism so that if you want to use a control you can just put in a single tag and it will insert a chunk of HTML inside of it for all the "guts" of the control.

To find the HTML that is inserted just look for a file that has the same name as the tag being used.

So for example when you see a <moi:CommandButton> tag, find the file CommandButton.htm in the \ui sub-folder to see what HTML gets injected inside of that control to make it up. For that control for example there is an image and then a div for the line of text underneath it.

The controls are styled by CSS that can address the control's containing tag and also applies stuff to the inner template-inserted content as well.


> - Is it possible to embed moi-specific controls around
> standard 'div' elements and use js to control their states?
> (e.g. position, visibility, etc.)

It depends on the particular control - some controls are only meant to contain something like a single image inside of them and so are not set up to contain additional HTML inside of them - the window control button like for the X close is an example of that.

But other controls are meant to contain more content inside of them like a <moi:PushButton> - if you look at the template definition for controls like that, you'll see a %content% declaration in them - that's where any content inside the declaration of the control gets inserted into the template.

So for example if you want to put some HTML inside of a <moi:PushButton> you just put it inside the tag same as you would inside a div or whatever, like this:

code:
	<moi:PushButton style="white-space:nowrap">
		<b>Some bold text</b>
		<ul>
			<li>list 1</li>
			<li>list 2</li>
			<li>list 3</li>
		</ul>
	</moi:PushButton>


You control position and visibility of these elements same as any other HTML element - they are just regular HTML elements with a custom tag name since it's basically more convenient when doing program UI to declare a push button tag with a custom tag name rather than just using divs and lots of classes since that's more text to deal with.

> - Even better yet, is there a way to put the ViewPanel
> inside a div and have it auto-size via js?

No, the view panel is arranged using the custom layout mechanism that handles arranging the contents of a frame window, it's controlled by the MainWindowLayout.xml file and not by HTML itself. HTML doesn't quite have as convenient a mechanism for top level window panel layout so MoI implements a custom layout mechanism for that part.

> - Would it be possible to create the MainWindowLayout as a standard html file?

Why do you want to do that, I'm not sure what you would have to gain by that...

You could make the whole thing one single HTML file I guess by putting in one UI panel that had dock="fill" so it took up the whole window but you will not be able to place viewports if you do that way because the view panel that contains the viewports are not an HTML control.

The viewports don't really fit in well as an HTML control, they're a highly specialized custom control that can't really be represented well by html tags, it needs a totally custom client window to do a good job for the viewports.


Anyway, I hope this gives you enough information to make more sense of stuff.


Please keep in mind that like I mentioned things are still probably going to change to some degree, I would not say that the UI structure is fully nailed down yet.


- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
1521.84 In reply to 1521.82 
Hi Luis, also a bit more info on custom tags - custom tags are actually supported by most regular browsers as another way to control styling.

Basically when a browser sees a tag that it does not recognize, it still treats it as an element and gives it a default style of display:inline making it behave like a <span> by default.

But you can apply styles to custom tags same as any other kind of tag.

For a quick example see the attached example file, and load it into a WebKit browser or Firefox.

Custom tags also work in IE but they have to go into a namespace and you need to add an xmlns declaration to the <html> tag for them to actually work. That's basically why I got used to using the moi: namespace for custom tags, but I decided to keep doing that since it makes it easier to tell that something is a custom tag or not.


Without custom tags you would end up writing a ton of stuff that looks more like <div class="MoiPushButton"> which is more annoying to write than just <moi:PushButton>


You may not want to use the custom tag technique for writing a regular web site, but it's convenient for MoI's particular use of HTML for its own UI.

- Michael
Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Luis (LFUNG)
1521.85 In reply to 1521.84 
Thanks Michael,

I'm no CSS3 master yet, but I see where you're going... :)

Question:
- How do I group a list of commands that includes elements from different commandsets (e.g. line, polyline, curve through points, etc.) into a single menu or palette so I can create a shortcut of frequently used commands without having to click on the particular group? a short snippet would be great! :)

also, how can I have CommandMenuButton auto-expand when hovering over it instead of showing the clickable arrowhead? is the flyout window size fixed? resizable after displaying?

Sorry for bothering you so much...just seeing where i can improve my workflow...cause i easily forget what + which tools are available to do certain things...then again i'm a relative noob on modeling. :)

Thanks!

Luis
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
1521.86 In reply to 1521.85 
Hi Luis,

> - How do I group a list of commands that includes elements
> from different commandsets (e.g. line, polyline, curve through
> points, etc.) into a single menu or palette

You'd just gather together the various <moi:CommandButton> tags for each one of those from the SidePane.htm file and put them together - the thing to watch out for is that they must go into a <table> structure similar to how they are currently inside of the regular SidePane.htm - that's because the command set UI (the little sub-menu thing with the individual commands on it) expects to see the command set button to be in a table and adds a new table row above it to hold the individual command buttons.


> also, how can I have CommandMenuButton auto-expand when
> hovering over it instead of showing the clickable arrowhead?

You could do this by adding an onmouseover="" javascript event handler to the button that then called the moi.ui.showMenu() function.

Here's an example file menu button that opens when you just move the mouse over it:
code:
	<moi:CommandMenuButton
                  menu="FileMenu.htm" icon="res://fileicon"
                  onmouseover="if ( this.contains(window.event.fromElement) ) return;
                          moi.ui.showMenu( 'FileMenu.htm', this, 0, 0 );">
                  <moi:Text textid="File"/>
        </moi:CommandMenuButton>


> is the flyout window size fixed? resizable after displaying?

The flyout window automatically sizes itself to the content inside of it and it's not really meant to be resized - if you want something with a resizeable border you should use a dialog for that instead of a flyout. But you may be able to get a flyout to resize to changes in the HTML if you call moiWindow.contentChanged() from script inside the flyout.


> Sorry for bothering you so much...just seeing where
> i can improve my workflow...

Just keep in mind that since the UI will be probably changing some more, you will most likely run into problems in future betas if you do these kinds of customizations right now. You may need to redo them later on and you would need to modify them to incorporate new UI that I'm adding in each beta as well.

Early in the beta process is not really a good time to be doing these kinds of extended customizations because of the potential for changes.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  ed17 (ED17ES)
1521.87 
Talking about UIs... What do you think Michael, about cycling shortcuts like in photoshop? And assigning a shortcut to a group of tools??
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
1521.88 In reply to 1521.87 
Hi Ed,

> Talking about UIs... What do you think Michael, about cycling shortcuts
> like in photoshop? And assigning a shortcut to a group of tools??

Could you maybe describe again what those are in a bit more detail?

For the second one do you mean bringing up a "command set" group of tools like the line tools with a shortcut key? If so then that's possible currently with setting the following script on a shortcut key:

script: /* open line tools */ moi.command.execCommandSet( 'lines' );

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  ed17 (ED17ES)
1521.89 
Well, with "cycling shortcuts" i mean that you can press a letter for example "L" and it activates the line tool, but if you press the "L" letter a second time it activates the polyline tool and then if you continue pressing that key it cycles through them. Then you can apply a shortcut to a group of tools.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  ed17 (ED17ES)
1521.90 
In photoshop it works by default with "shift" plus the original key, but it has an option for just pressing a key repeatedly without the shift key.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
1521.91 In reply to 1521.89 
Hi Ed, well I guess with a system like that you would be looking at setting up some dozens or maybe hundreds of default keyboard shortcuts right out of the box.

MoI's shortcut key philosophy is sort of opposite of that - it's more like letting you set up shortcut keys that personalize things to how you may want to do things with only a pretty small number of defaults.

But it would probably work to use scripting to make a cycling shortcut like you are describing - at the moment though the name of the current command is not exposed to script, so that's something I can add to the script interface for the next beta and I think that will then make it possible to create a script to do that type of cycling.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Luis (LFUNG)
1521.92 In reply to 1521.86 
I still don't know why I decided to do this, i guess it's my feeble attempt at being creative and trying to organize stuff for myself.

I called it "minimoi" because I wanted to illustrate something simple and minimal and also because its also an alternative version of "minime". :)

Maybe one day I'll finish it as an alternative ui thanks to the wonderful work of Michael Gibson. Just thought I'd share it with you all.

If any one wants to contribute some icons feel free!

-Luis


Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  mjs (MSHIDELER)
1521.93 In reply to 1521.92 
Luis:

That is a pretty cool looking gui.

I like it and would enjoy interacting with it.

mjs
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  SW03
1521.94 In reply to 1521.93 
Love your Icons. :)

perhaps I find the Time to contribute some too...
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  ed17 (ED17ES)
1521.95 
-Hi Ed, well I guess with a system like that you would be looking at setting up some dozens or maybe hundreds of default keyboard shortcuts right out of the box.

-MoI's shortcut key philosophy is sort of opposite of that - it's more like letting you set up shortcut keys that personalize things to how you may want to do things with only a pretty small number of defaults.

Well I think thats great but one thing i thought is that you can let the users assign one shortcut to a group of tools inside the options panel.

Think of having a window where you assign one key (like right now) but instead of being limited to add one tool to that key, you can (for example) clic a plus button and add another tool below to that same shortcut key and then when using it, the tools behind that shortcut will cycle in the order you added them.

Currently i have the left side of my keyboard full of shortcuts for working with the left hand in the keyboard and the right hand with the mouse, but even if I use all the keys in my keyboard, they will not be enough for all the tools i use often. Actually I almost use all the tools you have put inside of MoI and more that i have in my plugin gallery.

I think for enhancing the shortcut system and preparing it for all the new tools you plan to add, this cycling solution can be a lot better than having a more-than-one-letter shortcut system and having to press enter or spacebar for activating each shortcut. It will be more intuitive too.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
1521.96 In reply to 1521.95 
Hi Ed,

> Think of having a window where you assign one key
> (like right now) but instead of being limited to add
> one tool to that key, you can (for example) clic a plus
> button and add another tool below to that same shortcut
> key and then when using it, the tools behind that shortcut
> will cycle in the order you added them.

That's a pretty elaborate UI that would be specific to just this one particular "cycle between tools" use.

Rather than some special UI for just that one particular purpose, I'd rather let you just pick one action for the shortcut key similar to how you do now, but that action could be a script that contained whatever logic you wanted in it, including cycling between tools.

Basically once I add the ability to retrieve the current running command for a script, it should then be possible to have a script that will do this kind of cycling without having any special setup UI like what you're describing now.

Eventually I want to make it easier to assign a script to a shortcut key, something like letting you connect to a list of named scripts so you wouldn't necessarily need to see the actual script code itself in that dialog, you would just pick something named like "Cycle between line tools" for the keyboard shortcut for doing that kind of cycling stuff.

The thing that's good about this approach is that there is a tremendous amount of flexibility in what you can do in a script - it can do all sorts of combination of actions like do a view reset, and also switch to the next tool but only if you're over a certain viewport, or anything like that, far beyond just simply switching between 2 tools.

So for improvements in the shortcut key editor, I'd really be looking more at making it easier to pick a script for that shortcut key from some kind of script library, and that script library could contain all kinds of stuff including tool cycling as well.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Luis (LFUNG)
1521.97 In reply to 1521.93 
Thanks mjs & sw03!

I don't know if this will be alive anytime soon since as Michael pointed out, he is still working on the release
and things are subject to change.

I will still try to work on some of the ui icons during my free time.

Maybe when the system is more stable I can push something out.

In the mean time, I'm just laying things on my head and pondering about the elements and interactions I'd like to
see in my idea of an ultra simple and elegant minimal ui. :)

I think Michael has taken great strides in that direction. Certainly inspired me with Moi. :)

I'll keep you guys posted.

-Luis
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  ed17 (ED17ES)
1521.98 
-So for improvements in the shortcut key editor, I'd really be looking more at making it easier to pick a script for that shortcut key from some kind of script library, and that script library could contain all kinds of stuff including tool cycling as well.

I like that!
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All

 

 
 
Show messages:  1-20  21-40  41-60  61-80  81-98