Диалог представляет собой окно для редактирования выражения математической функции. Редактироватся должно следующее: само выражение, имя (название) функции и комментарий к ней.
Перебрал много вариантов, но так и не смог выбрать лучшего. Вот то, что наваял:
Вариант 1
Вариант 2
Вариант 3
Вариант 4
Вариант 5
Покритикуйте пожалуйста или, может предложите свои варианты. Для тех у кого есть Borlaтв Delphi предоставляю архивчик с файлами форм, чтобы было легче модифицировать (не забудьте установить шрифт оттуда).
Здравствуйте, Limonadni Joe, Вы писали:
LJ>Диалог представляет собой окно для редактирования выражения математической функции. Редактироватся должно следующее: само выражение, имя (название) функции и комментарий к ней.
LJ>Перебрал много вариантов, но так и не смог выбрать лучшего. Вот то, что наваял:
0) Разница в картинках минимальная. Ну рамочки разные, и что?
1) Зачем использовать иной шрифт? Вроде бы Arial содержит все мат.символы?
Опять же, если у тебя нет редактора формул, то придётся вводить их с клавиатуры, ограничившись нижней половиной кодовой таблицы (+ — * / % ^).
Тогда возможностей дефолтного шрифта должно хватить, даже если юзер установил себе нечто кудрявое.
Или ты будешь заставлять руками вбивать Alt+0183 (·) и т.п.?
А если есть редактор формул, то вряд ли они будут изящно втискиваться в однострочное поле ввода.
2) Имя выражения — обязательно или можно проигнорировать?
Вот описание — точно необязательное поле. Если имя обязательное, то есть смысл его не помещать в один ряд с описанием.
3) В каком порядке должны заполняться поля?
— Пользователь решает завести новую функцию — придумывает ей имя и наполняет содержанием.
— Пользователь берёт откуда-то выражение и назначает ему новое имя.
Так и надо располагать поля.
Вот такой вариант диалога, может быть, лучше подойдёт?
К>2) Имя выражения — обязательно или можно проигнорировать? К>Вот описание — точно необязательное поле. Если имя обязательное, то есть смысл его не помещать в один ряд с описанием.
Имя выражения предположительно будет использоваться в 5% случаев, то же самое для комментария.
К>3) В каком порядке должны заполняться поля? К>- Пользователь решает завести новую функцию — придумывает ей имя и наполняет содержанием. К>- Пользователь берёт откуда-то выражение и назначает ему новое имя. К>Так и надо располагать поля.
При первом создании функции юзер не указывает (и не может, согласно текущему UI) задавать имена и комментарии для функций. Эта возможность оставлена на время его дальнейшей работы с программой, а именно на вызов этого диалога для редактирования. Наверху я расположил текстбокс для выражения, так как он чаще всего используется.
К>Вот такой вариант диалога, может быть, лучше подойдёт? К>
Неплохо. Надо подумать. Тем более получается, что имя функции стоит на интуютивном месте, т.е. перед выражением.
К>4) Вообще, формула может быть довольно большой. Да и описание немаленьким. Не надо мельчить. Под описание вполне можно отдать многострочный текстбокс.
С формулой, пожалуй, да. А вот с описанием не соглашусь (кстати, что лучше писать "Описание" или "Комментарий"?). Описание используется в легенде графиков, где для каждого графика предназначена одна строка (больше и не принято, и не красиво). После выражения каждой функции в легенде пишется описание функции в скобках. Исходя из этого я, например, не могу могу придумать более длинного описания, чем, допустим, "кардиоида" или "затухающее колебание". Юзер сам будет стремиться делать описания более лаконичными, чтобы они хорошо смотрелись в легенде (для других целей они ему и не нужны).
Здравствуйте, Limonadni Joe, Вы писали:
LJ>Диалог представляет собой окно для редактирования выражения математической функции. Редактироватся должно следующее: само выражение, имя (название) функции и комментарий к ней.
LJ>Перебрал много вариантов, но так и не смог выбрать лучшего. Вот то, что наваял:
Пять вариантов которые по сути ничем, с точки зрения юзабилити, друг от друга не отличаются.
Задача вырвана из контекста. Непонятно — то ли результат изменения сразу доступен визуально — и тогда оправдана кнопка Apply и малый размер диалога — то ли это вещь в себе — но тогда Apply не нужен и мельчить тоже нет смысла.
Непонятно зачем кнопки минимизации и минимизации окна.
Размеры контролов такие, что на мало-мальски серьезную функцию места точно не хватит — придется скроллировать, т.е. работать со сложной функцией через замочную скважину.
Посмотрите редакторы выражений — (1) в Excel, (2) в редакторе Crystal Reports.
Здравствуйте, slavdon, Вы писали:
S>Я специально под капот убрал
... дык убирать надо правильно. [url=урл_гиперссылки]текст_гиперссылки[/url], но [img]урл_картинки[/img]
Здравствуйте, Limonadni Joe, Вы писали:
LJ>Диалог представляет собой окно для редактирования выражения математической функции. Редактироватся должно следующее: само выражение, имя (название) функции и комментарий к ней.
Как говорится, все уже украдено до нас Ключевое слово — Microsoft Equation Editor (пример).
Поле для функции надо обязательно сделать больше и, желательно, двухстрочное.
Здравствуйте, Mamut, Вы писали:
M>Как говорится, все уже украдено до нас Ключевое слово — Microsoft Equation Editor (пример).
M>Поле для функции надо обязательно сделать больше и, желательно, двухстрочное.
Ещё бы извлекатель оттуда формулы в парсабельном (TeX-товом) виде.
Что чаще всего будет редактировать пользователь в окошке "Edit expression"? Скорее всего именно само выражение, а не его название и не примечание. Почему бы тогда не скрыть все остальные настройки? Показать их можно после нажатия дополнительной кнопки.
Первоначально предлагать такой вариант:
После того, как юзер нажмёт кнопку "Extra":
Можно сохранять состояние (скрыты или показаны дополнительные настройки) и восстанавливать его в следующий раз при редактировании выражения.
PS: окно "Добавить выражение" должно быть без кнопки "Extra" и сразу со всеми настройками.
Здравствуйте, ArtDenis, Вы писали:
AD>Добавлю свои 5 копеек...
AD>Что чаще всего будет редактировать пользователь в окошке "Edit expression"? Скорее всего именно само выражение, а не его название и не примечание. Почему бы тогда не скрыть все остальные настройки? Показать их можно после нажатия дополнительной кнопки.
Да, классно выглядит. А я всё думал как же реализовать эту идею "show more", да не знал как налепить нужную кнопку. Спасибо за пример.