here three dialogs are all about the same…
try
(
destroydialog a
destroydialog b
destroydialog c
)
catch()
rollout a ""
(
spinner a_sp "count" type:#integer align:#center
spinner b_sp "distance to source" align:#center
button a_bt "select"
button b_bt "delete all instances in view"
button c_bt "execute"
)
createdialog a pos:[600,200]
rollout b "" width:310
(
spinner a_sp "Count:" type:#integer width:100 offset:[0,0]
spinner b_sp "Distance: " width:100 offset:[0,0]
button a_bt "Select" width:95 across:3 align:#left offset:[-10,0]
button b_bt "Delete all instances" width:95 offset:[2,0]
button c_bt "Execute" width:95 offset:[5,0]
)
createdialog b pos:[600,400]
rollout c "" width:270
(
spinner a_sp "Count -> " type:#integer fieldwidth:30 pos:[20,4]
spinner b_sp "Distance -> " fieldwidth:60 pos:[119,4]
button a_bt "<< Select >>" width:140 height:14 pos:[20,26]
button b_bt "Delete all instances" width:140 height:37 pos:[20,40]
button c_bt "EXECUTE !!!" width:90 height:51 pos:[160,26]
hyperLink a_h "myawesomesite.art" color:(color 190 60 90) align:#center offset:[0,20]
)
createdialog c pos:[600,550]
can you see what is carelessness, untidiness, or tastelessness now?
don’t look how they made… i’ve just tried to repeat a styles
now is a homework. try to make your own dialog using the same set but looking really good
It’s a little difficult without knowing how they are supposed to work together, form follows function and all that but…
try
(
destroydialog a
)
catch()
rollout a ""
(
label a_lbl "Count:" across:2 offset:[-20,0]
spinner a_sp "" type:#integer align:#right fieldwidth:44 offset:[4,0]
label b_lbl "Distance:" across:2 offset:[-14,0]
spinner b_sp "" align:#right fieldwidth:44 offset:[4,0]
button a_bt "select" width:144
button b_bt "Delete all Instances in View" width:144 offset:[1,0]
button c_bt "Execute" width:144 offset:[-1,0]
)
createdialog a pos:[600,200]
that’s absolutely right concept. any UI has tell a user about want it does do. Unfortunately it’s not always possible. So UI has to give equal opportunity to all controls to be read by user to get that they do.
good! we have first attempt… As I said the UI is delicate matter. it’s of course a matter of taste. But there some rules that make a tool looks professional.
At least three things that works against by taste in this sample…
spinner labels stay out of spinner. that’s ok. but label’s text has “:” symbol in title. which usually means that something will immediately follow after it.
button “Select” with a lower case “s”
button “delete all instances in view” says to much in its title comparing to other two
Without knowing the relationship between the controls, it’s hard to know if something can be described in a short title.
try
(
destroydialog a
)
catch()
rollout a ""
(
group "Instances"
(
label a_lbl "Count:" across:2 offset:[-20,0]
spinner a_sp "" type:#integer align:#right fieldwidth:44 offset:[4,0]
label b_lbl "Distance:" across:2 offset:[-14,0]
spinner b_sp "" align:#right fieldwidth:44 offset:[4,0]
button a_bt "Select" width:70 across:2 offset:[-3,0]
button b_bt "Delete" width:70 offset:[2,0]
button c_bt "Execute" width:144 offset:[-1,0]
)
)
createdialog a pos:[600,200]
based on what Noakesy did before with denisT remarks corrections and alignment of spinners
try (destroydialog a) catch()
rollout a ""
(
spinner a_sp "Count: " type:#integer align:#center fieldwidth:44 offset:[4,0]
spinner b_sp "Distance: " align:#center fieldwidth:44 offset:[-2,0]
button a_bt "Select" width:144 offset:[0,5]
button b_bt "Delete All Instances" width:144 offset:[1,0]
button c_bt "Execute" width:144 offset:[-1,0]
)
createdialog a pos:[600,200]
buttons are not aligned. it’s a sample of untidiness
field width for “distance” spinner is too small for average measurement. if we will use #wordunits there will be no enough room to show a value
I like more minimalistic and precise placement of controls inside rollout
try (destroydialog ::a)catch()
rollout a "A_Roll"
(
spinner a_sp "Count: " pos:[5,5] fieldwidth:60 type:#integer
spinner b_sp "Distance: " pos:[5,25] fieldwidth:60 type:#float
button a_bt "Select" pos:[5,45] width:70 height:18
button c_bt "Execute" pos:[79,45] width:70 height:18
button b_bt "Delete All Instances In View" pos:[5,65] width:144 height:18
label a_lbl " Website:" pos:[4,85] width:146 height:16 style_sunkenedge:on
hyperLink a_h "myawesomesite.art" pos:[52,85] color:(color 0 150 250)
)
createdialog a 154 105 10 110 style:#(#style_titlebar, #style_sysmenu, #style_toolwindow)
why untidiness is bad… user might think if UI looks “crookedly” probably all tool was made in a hurry too. user usually doesn’t trust these tools.
Considering we don’t know the limitations of the spinner, that’s a little harsh Still, there another problem in mine. The spinner width should match the buttons…
try
(
destroydialog a
)
catch()
rollout a ""
(
group "Instances"
(
label a_lbl "Count:" across:2 offset:[-20,0]
spinner a_sp "" type:#integer align:#right fieldwidth:60 offset:[4,0]
label b_lbl "Distance:" across:2 offset:[-14,0]
spinner b_sp "" align:#right fieldwidth:60 offset:[4,0]
button a_bt "select" width:70 across:2 offset:[-3,0]
button b_bt "Delete" width:70 offset:[2,0]
button c_bt "Execute" width:144 offset:[-1,0]
)
)
createdialog a pos:[600,200]
the last one looks better than other for me…
but as i said i don’t like when labels are placed out of spinners… there are reasons:
there are no many max native tools who use this ui solution
being consistent you have to use this style in all your tools, right? but for wider dialogs it will be hard to read…
hey , why so serious? :wip:
try (destroydialog a) catch()
(
rollout a "" width:229 height:73
(
spinner a_sp "Count:" pos:[10,13] width:85 height:16 type:#integer fieldwidth:45
spinner b_sp "Distance:" pos:[117,13] width:104 height:16 fieldwidth:60
button a_bt "Select " pos:[5,41] width:72 height:24
button b_bt "Delete" pos:[77,41] width:72 height:24
button c_bt "Execute" pos:[149,41] width:72 height:24
GroupBox grp1 "" pos:[2,-3] width:224 height:72
GroupBox grp2 "" pos:[4,32] width:219 height:35
)
createdialog a pos:[600,550]
)
that is very close to what i would do. probably except group boxes around buttons, and i would make spinner with same width…
do we have new ui solutions?