Интерфейс пользователя MIS3

Материал из ИбисоПедии
Версия от 10:26, 19 мая 2015; 95.174.103.205 (обсуждение) (Правила дизайна Ribbon)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Общие

  1. расстояние между контролами по вертикали 10
  2. свойство TOP для контролов: 10,41,72, 103,134,165 ,195
  3. метки обязательных полей подчеркиваются красным (см. dmImages.SetRequiredFieldLabelStyle)
  4. настройки соединения с БД в ibis.ini
  5. текущие настройки приложения (положения окон, выбранный стили и т.п.) в реестре Software\IBIS\MIS (актуальное значение находится в dConfig.dmConfig.AppStorage.Root). Путь ветки реестра правильно брать так dmConfig.AppStorage.Root + '\' + Self.ClassName
  6. русификация в файле russian.lng (в том числе и для других языков через cxLocalizer)
  7. стиль нередактируемых контролов dmImages.escInfo
  8. стиль заголовков (для cxLabel над списками и пр) - dmImages.escCaption.
    • cxlabel.Height := 14
    • cxlabel.Style.Font.Size := 8
  9. AlignWithMargin := False (Избегаем его использования)

Главное окно

Горячие клавиши

Здесь информация может немного устареть. См описание классов и исходные коды модулей MIS3._Иерархия_классов иконки, горячие клавиши определены в модуле dImages.pas. См. dImages.SetShurtCutOnRibbon(AForm:TForm);

Действие Hotkey Место применения Примечания
Сохранить F2 Ctrl+S
Сохранить и закрыть Ctrl+Q или Ctrl+Enter
Добавить F3, NumPlus
Редактировать F4
Обновить F5
Удалить Shift+Del
Закрыть F12 или ESC
Выбрать Shift+ENTER
Фильтр Ctrl+F
Печать Ctrl+P
Сохранить и вернуть Shift+Enter
Проверить F7

В окнах списках

  • Ctrl+F4 - Закрыть текущий список
  • Ctrl+I - Включить инкрементальный поиск по таблице

Для разработчика

 IBISShortCut_DebuInfo : String = 'Ctrl+Shift+L'; // сочетание клавиш для показа системной информации об окне (имя класса, идентификатор объекта и т.п)
 IBISShortCut_Audit    : String = 'Ctrl+Shift+H'; // сочетание клавиш для вызова окна аудита

Окно с кнопками операций

Назначение показ кнопок с различными списками, без реализации самих списков

- Название должно заканчиваться на Tab - наследник от TdxRibbonForm

см MIS3. Иерархия классов

Окно список

  • Отображает один список (список справочников, людей и т.п.)
  • имя pas-файлы должно заканчиваться на List
  • умеет реагировать на сообщения об обновлении

Дизайн

  • FormStyle = fsMDIChild
  • tdxbarmanager
  • TdxRibbon

WinList.png см MIS3. Иерархия классов

WinOnTask

- наследник от WinOnTask (кнопка на панели задач) - название заканчиваем на WOT (WinOnTask)

IBIS WOT1.png

Дизайн

  • Наследуем от TfmWinOnTask
  • TdxBarmanager
  • dxRibbon.showheaders := False (в дизайнере)

см MIS3. Иерархия классов

Правила дизайна Ribbon

  • Подпись к группе кнопок должна быть существительным с Большой буквы (Файлы, Пользователи, Расписание, Документы, Действия и т.п.)
  • Подписи к кнопкам должны по возможности означать действие (глагол в совершенной форме) над объектом который указан в заголовке группы. Например: Сохранить, Редактировать, Закрыть, Удалить. Для двухсловных действий (Показать фильтр, Показать расписание) допускается пропуск действия. Т.е. Указываем просто Фильтр, Расписание и т.п. По возможности подпись к кнопке должна состоять из одного слова.

Модальное окно

Ibis modal.png

Простое модальное окно

  • Panel
    • Align := paBottom
    • Height := 41
  • Кнопки
    • Width := 75
    • Top := 8
    • Height := 25
    • Anchors := [akTop,akRight]
    • Кнопка "Отмена" Left := Panel.Width-15-75 := Panel.Width -90
    • Кнопка "ОК" Left := Panel.Width-(15-75)*2 := Panel.Width -180 расстояние между кнопками = 15
    • Кнопки TcxButton, Skin = ultraflat, skin = UserSkin
    • Кнопка OK имеет значение Default := True;

Поддержка скинов

Проект внутри себя не должен содержать никаких скинов. Все скины находятся во внешних файлах в папке skins и подгружаются динамически. Поэтому в исходных кодах в секции uses не должно быть следующих файлов (компиляция на сервере не пройдет):

  • dxSkinBlack.dcu
  • dxSkinBlue.dcu
  • dxSkinBlueprint.dcu
  • dxSkinCaramel.dcu
  • dxSkinCoffee.dcu
  • dxSkinDarkRoom.dcu
  • dxSkinDarkSide.dcu
  • dxSkinDevExpressDarkStyle.dcu
  • dxSkinDevExpressStyle.dcu
  • dxSkinFoggy.dcu
  • dxSkinGlassOceans.dcu
  • dxSkinHighContrast.dcu
  • dxSkiniMaginary.dcu
  • dxSkinLilian.dcu
  • dxSkinLiquidSky.dcu
  • dxSkinLondonLiquidSky.dcu
  • dxSkinMcSkin.dcu
  • dxSkinMetropolis.dcu
  • dxSkinMetropolisDark.dcu
  • dxSkinMoneyTwins.dcu
  • dxSkinOffice2007Black.dcu
  • dxSkinOffice2007Blue.dcu
  • dxSkinOffice2007Green.dcu
  • dxSkinOffice2007Pink.dcu
  • dxSkinOffice2007Silver.dcu
  • dxSkinOffice2010Black.dcu
  • dxSkinOffice2010Blue.dcu
  • dxSkinOffice2010Silver.dcu
  • dxSkinOffice2013DarkGray.dcu
  • dxSkinOffice2013LightGray.dcu
  • dxSkinOffice2013White.dcu
  • dxSkinPumpkin.dcu
  • dxSkinSeven.dcu
  • dxSkinSevenClassic.dcu
  • dxSkinSharp.dcu
  • dxSkinSharpPlus.dcu
  • dxSkinSilver.dcu
  • dxSkinSpringTime.dcu
  • dxSkinStardust.dcu
  • dxSkinSummer2008.dcu
  • dxSkinTheAsphaltWorld.dcu
  • dxSkinValentine.dcu
  • dxSkinVS2010.dcu
  • dxSkinWhiteprint.dcu
  • dxSkinXmas2008Blue.dcu

Для того чтобы Delphi не включала эти файлы автоматически существует галочка Project -> ModifySkinOption. (можно просто обновить файл из svn policlinic.skincfg)