| 1 | = Структура каси самообслуги = |
| 2 | |
| 3 | На відміну від програми, з якою працюють працівники магазину, з касою самообслуговування працюють клієнти закладу і тому зовнішній вигляд інтерфейсу програми має надзвичайно важливе значення. Крім того форма та розширення монітору може дуже відрізнятись від звичайних. Це додає особливі вимоги до кастомізації саме даного модуля. |
| 4 | |
| 5 | * [#point1 Загальні принципи] |
| 6 | * [#point2 Позиціонування] |
| 7 | * [#point3 Кнопки] |
| 8 | |
| 9 | == [=#point1 Загальні принципи] == |
| 10 | Як відбувається зміна стилів описано [wikw:styles в цьому розділі].[[br]] |
| 11 | Проте окрім індивідуальних стилів, для каси самоомбслуговування розроблено систему, генерації інтерфейсу на основі файлів із індивідуальною структурою основного вікна. По суті це звичайні .xml файли що лежать в каталозі ./frames. Активну структуру можна підключити, змінивши в файлі kassa_ss.ini в секції [Place] .. FramesType="структура.xml". Внесення змін в ці файли дозволяє переміщувати, створювати або приховувати ті чи інщі елементи інтерфейсу програми. |
| 12 | |
| 13 | == [=#point2 Позиціонування] == |
| 14 | З дебільшого елементи позиціонування не відображаються (окрім рідкісних випадків) і служать лише для задання правил відображення елементів, які вміщують всередині себе. |
| 15 | === Макети |
| 16 | Макети є вкладеними структурами системи, що можуть вміщувати інші слої та елементи. Для створення макета необхідно додати тег: |
| 17 | {{{ |
| 18 | #!xml |
| 19 | <Layout параметри>...</Layout> |
| 20 | }}} |
| 21 | Фактично макети служать для групування інших елементів та розміщення їх по горизонталі чи вертикалі. За замовчуванням елементи розтягнуться по горизонталі.[[br]] |
| 22 | Макет може містити наступні додаткові параметри: |
| 23 | * '''direction="орієнтація"''' - напрям орієнтації внутрішніх елементів. Допустимі значення: ''"vertical"'' - вертикальне (в стовпчик) або ''"horizontal"'' - горизонтальне |
| 24 | * '''frame="назва"''' - звичайні макети не відображаються на екрані. Проте додавання даного, не порожнього, параметру дозволить задати певну візуальну стилізацію зони, під елементами макету. В таблиці стилів для цього потрібно задати відповідний стиль '''QFrame#test_frame { ... }'''. |
| 25 | |
| 26 | === Розтягування |
| 27 | Елемент розтягування, доданий в '''<Layout>''' притискає інші елементи, роблячи певні проміжки. Їх зручно уявляти як пружини, що розсувають інщі блоки. |
| 28 | {{{ |
| 29 | #!xml |
| 30 | <Stretch /> |
| 31 | }}} |
| 32 | |
| 33 | == [=#point3 Кнопки] == |
| 34 | |
| 35 | |
| 36 | |
| 37 | |