Интерфейс пользователя MIS3 — различия между версиями

Материал из ИбисоПедии
Перейти к: навигация, поиск
(Простое модальное окно)
(Правила дизайна Ribbon)
 
(не показано 28 промежуточных версий 4 участников)
Строка 1: Строка 1:
 
== Общие ==
 
== Общие ==
* свойство TOP для контролов: 6,39,72, 105,138,171 ,204
+
# расстояние между контролами по вертикали 10
* метки обязательных полей подчеркиваются красным (см. dmImages.SetRequiredFieldLabelStyle)
+
# свойство TOP для контролов: 10,41,72, 103,134,165 ,195
* настройки соединения с БД  в ibis.ini
+
# метки обязательных полей подчеркиваются красным (см. dmImages.SetRequiredFieldLabelStyle)
* текущие настройки приложения (положения окон, выбранный стили и т.п.) в реестре HKCU\Software\SoftMaster\<имя_приложения>
+
# настройки соединения с БД  в [[ibis.ini]]
* русификация в файле russian.lng  (в том числе и для других языков через cxLocalizer)
+
# текущие настройки приложения (положения окон, выбранный стили и т.п.) в реестре Software\IBIS\MIS (актуальное значение находится в dConfig.dmConfig.AppStorage.Root). Путь ветки реестра правильно брать так dmConfig.AppStorage.Root + '\' + Self.ClassName
* стиль нередактируемых контролов dmImages.escInfo
+
# русификация в файле russian.lng  (в том числе и для других языков через cxLocalizer)
* стиль заголовков (над списками и пр) - будет тут.
+
# стиль нередактируемых контролов dmImages.escInfo
 +
# стиль заголовков (для cxLabel над списками и пр) - dmImages.escCaption.
 +
#* cxlabel.Height := 14
 +
#* cxlabel.Style.Font.Size := 8
 +
# AlignWithMargin := False (Избегаем его использования)
  
 
== Главное окно ==
 
== Главное окно ==
 
== Горячие клавиши ==
 
== Горячие клавиши ==
 
Здесь информация может немного устареть. См описание классов и исходные коды модулей [[MIS3._Иерархия_классов]]
 
Здесь информация может немного устареть. См описание классов и исходные коды модулей [[MIS3._Иерархия_классов]]
=== В окнах редактирования (WinOnTask) ===
+
иконки, горячие клавиши определены в модуле dImages.pas. См. dImages.SetShurtCutOnRibbon(AForm:TForm);
* F2 - Сохранить CTRL+S
+
 
* F3 - Плюс на доп клавиатуре
+
{|cellspacing="0" border="1"
* F4 - Редактировать
+
!Действие
* F5 - Обновить
+
!Hotkey
* F6 - Выполнить отчет
+
!Место применения
* F9 - Конструктор отчетов
+
!Примечания
* F12 Закрыть форму (также есть умная клавиша ESC)
+
|-
* Ctrl+Enter
+
|Сохранить
* Shift+Del - удалить
+
|F2 Ctrl+S
* Alt+backspace - отменить изменения на форме
+
|
=== В окнах выбора ===
+
|
* Enter - В окнах выбора "выбрать и вернуть"
+
|-
* F12 Закрыть форму
+
|Сохранить и закрыть
 +
|Ctrl+Q или Ctrl+Enter
 +
|
 +
|
 +
|-
 +
|Добавить
 +
|F3, NumPlus
 +
|
 +
|
 +
|-
 +
|Редактировать
 +
|F4
 +
|
 +
|
 +
|-
 +
|Обновить
 +
|F5
 +
|
 +
|
 +
|-
 +
|Удалить
 +
|Shift+Del
 +
|
 +
|
 +
|-
 +
|Закрыть
 +
|F12 или ESC
 +
|
 +
|
 +
|-
 +
|Выбрать
 +
|Shift+ENTER
 +
|
 +
|
 +
|-
 +
|Фильтр
 +
|Ctrl+F
 +
|
 +
|
 +
|-
 +
|Печать
 +
|Ctrl+P
 +
|
 +
|
 +
|-
 +
|Сохранить и вернуть
 +
|Shift+Enter
 +
|
 +
|
 +
|-
 +
|Проверить
 +
|F7
 +
|
 +
|
 +
|-
 +
|}
  
 
=== В окнах списках ===
 
=== В окнах списках ===
* Ctrl+F4? Закрыть текущий список
+
* Ctrl+F4 - Закрыть текущий список
 +
* Ctrl+I - Включить инкрементальный поиск по таблице
 +
 
 +
=== Для разработчика ===
 +
 
 +
  IBISShortCut_DebuInfo : String = 'Ctrl+Shift+L'; // сочетание клавиш для показа системной информации об окне (имя класса, идентификатор объекта и т.п)
 +
  IBISShortCut_Audit    : String = 'Ctrl+Shift+H'; // сочетание клавиш для вызова окна аудита
  
 
== Окно с кнопками операций ==
 
== Окно с кнопками операций ==
Строка 55: Строка 120:
 
- наследник от WinOnTask (кнопка на панели задач)
 
- наследник от WinOnTask (кнопка на панели задач)
 
- название заканчиваем на WOT (WinOnTask)
 
- название заканчиваем на WOT (WinOnTask)
 +
 +
[[Файл:IBIS_WOT1.png]]
  
 
=== Дизайн ===
 
=== Дизайн ===
Строка 64: Строка 131:
  
 
== Правила дизайна Ribbon ==
 
== Правила дизайна Ribbon ==
* Подпись к группе кнопок должна быть существительным (Файлы, пользователи, Расписание и т.п.)
+
* Подпись к группе кнопок должна быть существительным с Большой буквы (Файлы, Пользователи, Расписание, Документы, Действия и т.п.)
* Подписи к кнопкам должны по возможности означать действие (глагол в совершенной форме) над объектом который указан в заголовке группы. Например: Сохранить, Редактировать, Закрыть, Удалить. Для двухсловных действий (Показать фильтр, Показать расписание) допускается пропуск действия. Т.е. Указываем просто фильтр, Расписание и т.п. По возможности подпись к кнопке должна состоять из одного слова.
+
* Подписи к кнопкам должны по возможности означать действие (глагол в совершенной форме) над объектом который указан в заголовке группы. Например: Сохранить, Редактировать, Закрыть, Удалить. Для двухсловных действий (Показать фильтр, Показать расписание) допускается пропуск действия. Т.е. Указываем просто Фильтр, Расписание и т.п. По возможности подпись к кнопке должна состоять из одного слова.
  
 
== Модальное окно ==
 
== Модальное окно ==
* Здесь будет описание
+
[[Файл:ibis_modal.png]]
  
 
== Простое модальное окно ==
 
== Простое модальное окно ==
* Ширина кнопок OK, Отмена = 75
+
* Panel
* притянуты к правому краю панели
+
** Align := paBottom
* расстояние между кнопками = 15
+
** Height := 41
* Кнопки TcxButton, Kind = ultraflat
+
* Кнопки
* Кнопка OK имеет значение Default := True;
+
** Width := 75
* Кнопка "Отмена" Left := Panel.Width-15-75 := Panel.Width -90
+
** Top := 8
* Кнопка "ОК"  Left := Panel.Width-(15-75)*2 := Panel.Width -180  
+
** Height := 25
* panel.height := 41
+
** Anchors := [akTop,akRight]
* Кнопки Top := 8
+
** Кнопка "Отмена" 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

Общие

  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)