为了保障原创作者在本站发表文章的利益, 并维护本站原创的精神, 特声明: RIAShanghai对有以下任何情况之一的文章将不通知作者并直接进行快意删除:
- 非原创, 或者原创但一文多发;
- 各种形式的广告与吹擂;
- 不符合本站文章格式.
欢迎各位读者监督. 谢谢合作. 另: 作为Adobe正式的UG, 我们将把Adobe不定期分发的软件,书籍及各种纪念品赠送给发文活跃的作者, 共同进步.
Face it, UI navigation is hard. It takes a lot of efforts to get it right, and much more to user-friendly. Anyway, still we can find common scenarios and analyze to find patterns.
The scenario: the user clicks 'Show CM2' while CM1 is the currently displayed.
Pseudo-code:
If(menu.selectedCM == currentCM) {
return;
}else{
if(currentCM.isDirty) {
ret = showConfirmDialog();
switch(ret) {
case saveAndForward:
// very complicated, do not show this option at all.
case discardAndForward:
currentCM = menu.selectedCM;
case cancel: // veto
menu.selectCM = currentCM;
}
}else{
currentCM = menu.selectedCM;
}
}A few noticeable points: