Segnetics

Вернуться   Segnetics > Форум Segnetics > SMLogix > SMArt

SMArt Разработка интерфейсов пользователя

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.08.2018, 17:44   #1
Gel
Senior Member
 
Регистрация: Nov 2017
Сообщения: 563
Благодарил(а): 3 раз(а)
Поблагодарили: 38 раз(а) в 30 сообщениях
По умолчанию Проблемы с отображением элемента "Вывод числа" (нет решения)

Наблюдаются проблемы с отображением элемента "Вывод числа" при использовании суффикса и выравнивания по правой границе, как в редакторе SMArt, так и на работающей программе.

Наблюдаются следующие симптомы:

1. В зависимости от комбинации заполнения поля "Суффикс" и переключения настройки "Число" могут получиться три варианта отступа.
При этом, фактические настройки поля одинаковые.

2. При закрытии SMArt и открытии заново, отступ для таких полей сбрасывается в некоторое значение.

Для теста работы элементов "Текст" и "Вывод числа" была создана программа, приложена к сообщению (файл screen-test.psl).

Для пояснения, приведены скриншоты.

Ниже дан скриншот с устройства SMH4 для полей, у которых в редакторе установлены одинаковые значения (у всех задан суффикс ":"):



Вот, как это выглядит в редакторе:



у двух других элементов настройки те же:

Нажмите на картинку для увеличения

Название:  item2.png
Просмотров: 9
Размер:  40.6 Кбайт Нажмите на картинку для увеличения

Название:  item3.png
Просмотров: 9
Размер:  40.6 Кбайт

А это пример, как получать разные отступы с одинаковыми настройками, в виде GIF-анимации:

Миниатюры
Нажмите на картинку для увеличения

Название:  bar.png
Просмотров: 412
Размер:  2.7 Кбайт   Нажмите на картинку для увеличения

Название:  item1.png
Просмотров: 416
Размер:  40.8 Кбайт  
Вложения
Тип файла: psl screen-test.psl (669.5 Кбайт, 5 просмотров)
Gel вне форума   Ответить с цитированием
Старый 07.08.2018, 17:55   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Проблемы с отображением элемента "Вывод числа"

Цитата
Сообщение от Gel Посмотреть сообщение
Наблюдаются проблемы с отображением элемента "Вывод числа"
Выравнивание вправо не работает.

Наши программисты почему-то считают, что выравнивание тт-шрифта пробелами - это хороший способ выравнивания. Точнее считали, т.к. тех программистов уже с нами нет.

Поэтому так и смарт работает. Не его это вина.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 07.08.2018, 17:57   #3
Gel
Senior Member
 
Регистрация: Nov 2017
Сообщения: 563
Благодарил(а): 3 раз(а)
Поблагодарили: 38 раз(а) в 30 сообщениях
По умолчанию Ответ: Проблемы с отображением элемента "Вывод числа"

Так же, наблюдаются визуальные различия элемента "Вывод числа" в редакторе и на устройстве SMH4.

На рисунке ниже наложены два кадра -- скриншот с устройства и из редактора с полупрозрачностью.

Слева элементы "Текст", их вид в точности соответствует тому, что в редакторе.

Справа -- элементы "Ввод числа". Видно различие между устройством и редактором. Особо критично различие вертикального позиционирования.

Миниатюры
Нажмите на картинку для увеличения

Название:  over.png
Просмотров: 419
Размер:  28.5 Кбайт  
Gel вне форума   Ответить с цитированием
Старый 07.08.2018, 18:04   #4
malyga
Сотрудник Segnetics
 
Регистрация: Apr 2008
Сообщения: 146
Благодарил(а): 13 раз(а)
Поблагодарили: 21 раз(а) в 20 сообщениях
По умолчанию Ответ: Проблемы с отображением элемента "Вывод числа"

У текста все хорошо, потому что он выводится на контроллере в виде картинки. А вот с числами сложнее - они выводятся непосредственно шрифтами, а система рендеринга разная на контроллере и в СМАрте.

Поэтому, либо так, либо запрет на использование различных шрифтов при выводе чисел, останется только моноширинный и для него будут подобраны поправки.


__________________
Инженер "Сегнетикс"
malyga вне форума   Ответить с цитированием
Старый 07.08.2018, 18:29   #5
Gel
Senior Member
 
Регистрация: Nov 2017
Сообщения: 563
Благодарил(а): 3 раз(а)
Поблагодарили: 38 раз(а) в 30 сообщениях
По умолчанию Ответ: Проблемы с отображением элемента "Вывод числа"

Цитата
Сообщение от malyga Посмотреть сообщение
У текста все хорошо, потому что он выводится на контроллере в виде картинки.
Да, это я понял в т.ч. потому, что для текста можно выбрать произвольный шрифт в системе, в для вывода -- только из определенного набора.

Цитата А вот с числами сложнее - они выводятся непосредственно шрифтами, а система рендеринга разная на контроллере и в СМАрте.
Думаю, что тут даже дело не в разных системах рендеринга, потому что вывод-то дает практически одно и тоже, а в разных системах отсчета для шрифтов.

Если "подвинуть" один кадр, то изображение для элемента "Вывод числа" совпадает:



Наблюдал похожий симптом, когда были перепутаны уровни baseline и descent, или функции вывода используют разные базисы. Одна в качестве "y" -- baseline, другая в качестве "y" -- bottom, например.



Эти параметры находятся в шрифте и извлекаются функциями, возвращающие "Font Metrics".
Миниатюры
Нажмите на картинку для увеличения

Название:  over2.png
Просмотров: 389
Размер:  21.7 Кбайт   Нажмите на картинку для увеличения

Название:  fontmetrics.jpg
Просмотров: 432
Размер:  43.0 Кбайт  
Gel вне форума   Ответить с цитированием
Старый 07.08.2018, 18:34   #6
Gel
Senior Member
 
Регистрация: Nov 2017
Сообщения: 563
Благодарил(а): 3 раз(а)
Поблагодарили: 38 раз(а) в 30 сообщениях
По умолчанию Ответ: Проблемы с отображением элемента "Вывод числа"

Цитата
Сообщение от Gel Посмотреть сообщение
Наблюдал похожий симптом, когда были перепутаны уровни baseline и descent, или функции вывода используют разные базисы. Одна в качестве "y" -- baseline, другая в качестве "y" -- bottom, например.
Кстати! Это же можно посмотреть с помощью префикса. Сейчас попробую...


Добавлено через 22 минуты

Проверил, смещение по вертикали, можно сказать, не зависит от размера шрифта и составляет 1-2 пикселя.

Ок, не так страшно.


Добавлено через 37 минут

По горизонтали смещение тоже не зависит от размера шрифта и, возможно, от шрифта и составляет 3-4 пиксела.
Gel вне форума   Ответить с цитированием
Старый 08.08.2018, 12:42   #7
Gel
Senior Member
 
Регистрация: Nov 2017
Сообщения: 563
Благодарил(а): 3 раз(а)
Поблагодарили: 38 раз(а) в 30 сообщениях
По умолчанию Ответ: Проблемы с отображением элемента "Вывод числа" (нет решения)

Подытожу, оставлю для справки картину с направлением сдвигов, может, кому-то понадобится еще:

Миниатюры
Нажмите на картинку для увеличения

Название:  shift.png
Просмотров: 407
Размер:  24.1 Кбайт  
Gel вне форума   Ответить с цитированием
Старый 09.08.2018, 12:40   #8
malyga
Сотрудник Segnetics
 
Регистрация: Apr 2008
Сообщения: 146
Благодарил(а): 13 раз(а)
Поблагодарили: 21 раз(а) в 20 сообщениях
По умолчанию Ответ: Проблемы с отображением элемента "Вывод числа" (нет решения)

Спасибо за баг-репорт, постараюсь исправить.


__________________
Инженер "Сегнетикс"
malyga вне форума   Ответить с цитированием
Старый 30.01.2022, 13:02   #9
Gel
Senior Member
 
Регистрация: Nov 2017
Сообщения: 563
Благодарил(а): 3 раз(а)
Поблагодарили: 38 раз(а) в 30 сообщениях
По умолчанию Ответ: Проблемы с отображением элемента "Вывод числа" (нет решения)

Посмотрел причину несоответствия вывода числа SMArt и в реальности, которая упоминалась в теме https://forum.segnetics.ru/showthread.php?t=5532

Выяснил причину вот этого несоответствия, которое заметно на мелких шрифтах:



В SMArt для вывода используется флешевый компонент flash.text.TextField, который имеет фиксированное смещение в 2 пиксела по горизонтали и вертикали. Об этом упоминается в документации: https://help.adobe.com/en_US/FlashPl...neMetrics.html



При выводе на контроллере этого смешения нет.

Попробовал хакнуть SMArt (AirPort.swf) на предмет этого смещения путем его вычитания, получилось. Правка класса TrimNumberPrimitiveBaseCB в методе commitProperties:



После этого по позиционированию расхождений нет (если не считать других глюков), отображение в SMArt стало походить на правду.
Миниатюры
Нажмите на картинку для увеличения

Название:  smart-bug-cut.png
Просмотров: 164
Размер:  10.4 Кбайт   Нажмите на картинку для увеличения

Название:  gutter.jpg
Просмотров: 161
Размер:  63.6 Кбайт   Нажмите на картинку для увеличения

Название:  fix1.png
Просмотров: 164
Размер:  13.5 Кбайт  
Gel вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Смарт и Ложик (нет проблемы) Djakan SMArt 18 30.03.2020 13:07
у элемента "Вывод числа" перестал адекватно работать префикс MidWay SMArt 3 16.09.2019 18:01
Странная работа FBD-блока Fronts? или ClrSrcreen? (нет проблемы) MadKid SMLogix 12 14.06.2019 10:25
Проблемы с кнопками (нет проблемы) Otto Dietrich AutoSCADA (вентиляция) 2 13.12.2017 22:10
Проблема зависание 2Gi/MC djaval Вопросы о SMH-2G(i) 108 20.09.2017 18:58


Часовой пояс GMT +4, время: 05:22.


Версия vBulletin: 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2023