Интерфейс пользователя MIS3 — различия между версиями
Admin (обсуждение | вклад) (→Главное окно) |
(→Правила дизайна Ribbon) |
||
| (не показаны 52 промежуточные версии 5 участников) | |||
| Строка 1: | Строка 1: | ||
| + | == Общие == | ||
| + | # расстояние между контролами по вертикали 10 | ||
| + | # свойство TOP для контролов: 10,41,72, 103,134,165 ,195 | ||
| + | # метки обязательных полей подчеркиваются красным (см. dmImages.SetRequiredFieldLabelStyle) | ||
| + | # настройки соединения с БД в [[ibis.ini]] | ||
| + | # текущие настройки приложения (положения окон, выбранный стили и т.п.) в реестре Software\IBIS\MIS (актуальное значение находится в dConfig.dmConfig.AppStorage.Root). Путь ветки реестра правильно брать так dmConfig.AppStorage.Root + '\' + Self.ClassName | ||
| + | # русификация в файле russian.lng (в том числе и для других языков через cxLocalizer) | ||
| + | # стиль нередактируемых контролов dmImages.escInfo | ||
| + | # стиль заголовков (для cxLabel над списками и пр) - dmImages.escCaption. | ||
| + | #* cxlabel.Height := 14 | ||
| + | #* cxlabel.Style.Font.Size := 8 | ||
| + | # AlignWithMargin := False (Избегаем его использования) | ||
| + | |||
== Главное окно == | == Главное окно == | ||
== Горячие клавиши == | == Горячие клавиши == | ||
| + | Здесь информация может немного устареть. См описание классов и исходные коды модулей [[MIS3._Иерархия_классов]] | ||
| + | иконки, горячие клавиши определены в модуле dImages.pas. См. dImages.SetShurtCutOnRibbon(AForm:TForm); | ||
| − | + | {|cellspacing="0" border="1" | |
| − | + | !Действие | |
| − | + | !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'; // сочетание клавиш для вызова окна аудита | ||
== Окно с кнопками операций == | == Окно с кнопками операций == | ||
| Строка 19: | Строка 101: | ||
- наследник от TdxRibbonForm | - наследник от TdxRibbonForm | ||
| − | + | см [[MIS3. Иерархия классов]] | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
== Окно список == | == Окно список == | ||
| − | - | + | * Отображает один список (список справочников, людей и т.п.) |
| − | + | * имя pas-файлы должно заканчиваться на List | |
| − | + | * умеет реагировать на сообщения об обновлении | |
| − | + | === Дизайн === | |
| − | + | * FormStyle = fsMDIChild | |
| − | + | * tdxbarmanager | |
| − | + | * TdxRibbon | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | [[File:WinList.png]] | |
| − | + | см [[MIS3. Иерархия классов]] | |
== WinOnTask == | == WinOnTask == | ||
| Строка 77: | Строка 120: | ||
- наследник от WinOnTask (кнопка на панели задач) | - наследник от WinOnTask (кнопка на панели задач) | ||
- название заканчиваем на WOT (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) | ||
| − | [[Категория:MIS3]] | + | [[Категория:Руководство программиста MIS3]] |
Текущая версия на 10:26, 19 мая 2015
Содержание
Общие
- расстояние между контролами по вертикали 10
- свойство TOP для контролов: 10,41,72, 103,134,165 ,195
- метки обязательных полей подчеркиваются красным (см. dmImages.SetRequiredFieldLabelStyle)
- настройки соединения с БД в ibis.ini
- текущие настройки приложения (положения окон, выбранный стили и т.п.) в реестре Software\IBIS\MIS (актуальное значение находится в dConfig.dmConfig.AppStorage.Root). Путь ветки реестра правильно брать так dmConfig.AppStorage.Root + '\' + Self.ClassName
- русификация в файле russian.lng (в том числе и для других языков через cxLocalizer)
- стиль нередактируемых контролов dmImages.escInfo
- стиль заголовков (для cxLabel над списками и пр) - dmImages.escCaption.
- cxlabel.Height := 14
- cxlabel.Style.Font.Size := 8
- 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
Окно список
- Отображает один список (список справочников, людей и т.п.)
- имя pas-файлы должно заканчиваться на List
- умеет реагировать на сообщения об обновлении
Дизайн
- FormStyle = fsMDIChild
- tdxbarmanager
- TdxRibbon
WinOnTask
- наследник от WinOnTask (кнопка на панели задач) - название заканчиваем на WOT (WinOnTask)
Дизайн
- Наследуем от TfmWinOnTask
- TdxBarmanager
- dxRibbon.showheaders := False (в дизайнере)
Правила дизайна Ribbon
- Подпись к группе кнопок должна быть существительным с Большой буквы (Файлы, Пользователи, Расписание, Документы, Действия и т.п.)
- Подписи к кнопкам должны по возможности означать действие (глагол в совершенной форме) над объектом который указан в заголовке группы. Например: Сохранить, Редактировать, Закрыть, Удалить. Для двухсловных действий (Показать фильтр, Показать расписание) допускается пропуск действия. Т.е. Указываем просто Фильтр, Расписание и т.п. По возможности подпись к кнопке должна состоять из одного слова.
Модальное окно
Простое модальное окно
- 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)


