Ничего не делают свойства Borderstyle и Bordericons в Linux

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ничего не делают свойства Borderstyle и Bordericons в Linux

Сообщение alexmai » 04.02.2009 14:03:44

Господа , обьясните новичку в Lazarus для чего оставлять свойства формы если они не работают в Линуксе.
Что теперь методом научного тыка искать что работает, что нет ?
То что умеет винда, вообщем-то и Дельфи сделает. Мне кажется надо добиваться 100% выполнения всех обозначенных свойств и методо НЕ в WINDOWS.
Два свойства BorderStyle и BorderIcons работают в Линуксе только в двух режимах
1. BorderStyle:=bsNone тогда автоматом Bordericons-[] ,нет заголовка формы вообще и то очень коряво правая граница отсутствующего заголовка убирается.
1. BorderStyle равно любому значению из перечисления, тогда тупо рисуется заголовок со всеми элементами( biSystemMenu,biMinimize,biMaximize]
В винде естественно все нормально.
Как обойти эти грабли, мне надо чтобы только крестик закрытия формы оставался [biSystem] и в каком нибудь режиме типа bsDialog чтобы форму нельзя было ресайзить.
И еще один вопрос по TGroupBox , TRadioBox в линуксе не имееют обрамления, хотя в винде все ОК.
Пробовал использовать Tbevel, он не берет в себя дочерных компонент, приходиться извращаться.
alexmai
постоялец
 
Сообщения: 106
Зарегистрирован: 02.02.2009 14:58:42

Re: Ничего не делают свойства Borderstyle и Bordericons в Linux

Сообщение Павел Ишенин » 04.02.2009 14:06:07

Это зависит от оконного менеджера. Lazarus честно передает параметры окна, но не все оконные менеджеры это обрабатывают. Какой linux? Какой оконный менеджер?
Павел Ишенин
постоялец
 
Сообщения: 475
Зарегистрирован: 24.03.2007 10:16:52

Re: Ничего не делают свойства Borderstyle и Bordericons в Linux

Сообщение alexmai » 04.02.2009 14:25:23

linux SUSE 11, что касается менеджеров, то это все про KDE , пробовал в GNOM TGroupBox TRadioBox - ОК, но а BorderStyle то хоть в рунтайме работает.
Так что выходит в Кедах ничего нельзя сделать ?
alexmai
постоялец
 
Сообщения: 106
Зарегистрирован: 02.02.2009 14:58:42

Re: Ничего не делают свойства Borderstyle и Bordericons в Linux

Сообщение Logo » 04.02.2009 16:12:07

В отличии от Windows, все UNIX подобные системы имеют огромное количество оконных менеджеров, это не только KDE и Gnom. Но и почти каждый менеджер имеет множество тем, которые могут изменять внешний вид до неузнаваемости, в том числе и исключать или добавлять некоторые из компонентов. Поэтому и получается, что свойсво в одном менеджере-теме не работает, а в других оно на месте. Конечно, можно все это переписать, но этого не стоит делать, так как программа в определенной среде будет выглядеть неестественно.
alexmai писал(а):Что теперь методом научного тыка искать что работает, что нет ?

Да. Если Вы хотите, чтобы ваше приложение имело пристойный вид на всех менеджерах и темах, Вам необходимо иметь хоть часть их в своем арсенале и проверять, как оно работает. Правда это только по началу напрягает. После определенного периода работы все нюансы запоминаются и уже в большей степени ориентируешься своим воображением.
Logo
постоялец
 
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Re: Ничего не делают свойства Borderstyle и Bordericons в Linux

Сообщение alexs » 04.02.2009 23:18:00

alexmai
Использовать свои темы в программе, отличные от тем которые сейчас установленв в ОС - неочень хорошая идея.
надо стараться максимально быть интегрированным в десктоп - поэтому не надо впендриваться и рисовать свой супер-пупер интерфейс
просто в вашем окружении он может и буде хорошо смотреться - но если у пользователя цветовая гамма хоть чуть-чуть отличается от вашей - могут получиться большие ляпы.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4064
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Ничего не делают свойства Borderstyle и Bordericons в Linux

Сообщение Павел Ишенин » 05.02.2009 08:31:22

alexmai писал(а):пробовал в GNOM ...., но а BorderStyle то хоть в рунтайме работает.


При работе в дизайнере реакция на изменение BorderStyle умышлена отключена, т.к. в дизайнере всегда должно быть доступно изменение размеров формы растягиванием, и пр. Кроме прочего при изменении BorderStyle часто надо пересоздавать окно, а следовательно и все контролы на нем.
Павел Ишенин
постоялец
 
Сообщения: 475
Зарегистрирован: 24.03.2007 10:16:52

Re: Ничего не делают свойства Borderstyle и Bordericons в Linux

Сообщение alexmai » 05.02.2009 10:42:58

Logo писал(а):В отличии от Windows, все UNIX подобные системы имеют огромное количество оконных менеджеров, это не только KDE и Gnom. Но и почти каждый менеджер имеет множество тем, которые могут изменять внешний вид до неузнаваемости, в том числе и исключать или добавлять некоторые из компонентов. Поэтому и получается, что свойсво в одном менеджере-теме не работает, а в других оно на месте. Конечно, можно все это переписать, но этого не стоит делать, так как программа в определенной среде будет выглядеть неестественно.
alexmai писал(а):Что теперь методом научного тыка искать что работает, что нет ?

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

Ну уж не надо выдавать желаемое за действительное, при моей памяти всего два вменяемых оконных менеджера, KDE и GMOM? но на разных библиотеках собраны.

Что касается моего вопроса, то здесь вопрос принципиальный.
Если в общепринятых оконных менеджерах не работает приличное количество компонент,
а тем более их свойств и методов,
уберите, замените на те, что будут работать на базовых иксах KDE и GNOM.
А ОБМАН девелопера, в виде ЛЖЕ- компонент и их свойств в opensource системах НЕ ДОПУСТИМ.
О какой кроссплатфрменности идет речь если в разных иксах невозможно одинаково управлять кнопочками в заголовке или правильно отобразить рамку вокруг RadioBox.
Такие мелочи , дают возможность петухам от java и c++ кукарекать, что lazarus дерьмо, хотя сами в нем давно уже.
И не надо списывать недоработки на UNIX и другие ОС, а то так Lazarus умрет толком не разродившись.
alexmai
постоялец
 
Сообщения: 106
Зарегистрирован: 02.02.2009 14:58:42

Re: Ничего не делают свойства Borderstyle и Bordericons в Linux

Сообщение Иван Шихалев » 05.02.2009 14:14:11

alexmai писал(а):при моей памяти всего два вменяемых оконных менеджера, KDE и GMOM? но на разных библиотеках собраны.

Ни один оконным менеджером не является и может работать с разными WM... Учить матчасть!
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

Re: Ничего не делают свойства Borderstyle и Bordericons в Linux

Сообщение Attid » 05.02.2009 21:03:36

alexs писал(а):надо стараться максимально быть интегрированным в десктоп - поэтому не надо впендриваться и рисовать свой супер-пупер интерфейс


кста ты часто на форуме, то тут то там хитрости интерфейса описываешь, якори, выравнивая, авторазмер и т.д.
может небольшую статейку "кросплатформенный(кросвиджетный) интерфейс" нарисуешь с картинками или в блог. хотя можешь и отдельной темой в форуме, я её подвешу чтобы не терялась ? :roll:
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2586
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Ничего не делают свойства Borderstyle и Bordericons в Linux

Сообщение alexmai » 05.02.2009 21:33:38

Иван Шихалев писал(а):
alexmai писал(а):при моей памяти всего два вменяемых оконных менеджера, KDE и GMOM? но на разных библиотеках собраны.


Ни один оконным менеджером не является и может работать с разными WM... Учить матчасть!

Logo писал(а):
В отличии от Windows, все UNIX подобные системы имеют огромное количество оконных менеджеров, это не только KDE и Gnom. Но и почти каждый менеджер имеет множество тем, которые могут изменять внешний вид до неузнаваемости, в том числе и исключать или добавлять некоторые из компонентов. Поэтому и получается, что свойсво в одном менеджере-теме не работает, а в других оно на месте. Конечно, можно все это переписать, но этого не стоит делать, так как программа в определенной среде будет выглядеть неестественно.


Ну и к чему эти пальцы веером, я ответил человеку в тех понятиях которых он определил мне в посте, глвное что друг друга поняли, лучше что-нибудь внятное по сути подскажите, а тоя тоже много чего уже забыл за 31 год программирования, о чем вы никогда не узнаете.
alexmai
постоялец
 
Сообщения: 106
Зарегистрирован: 02.02.2009 14:58:42

Re: Ничего не делают свойства Borderstyle и Bordericons в Linux

Сообщение B4rr4cuda » 05.02.2009 21:53:05

/offtop
alexmai писал(а):Ну уж не надо выдавать желаемое за действительное, при моей памяти всего два вменяемых оконных менеджера, KDE и GMOM? но на разных библиотеках собраны.

Не надо, не надо. Самый вменяемый менеджер - ion3. Попробуйте убедить меня в обратном :).
/offtop
Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35

Re: Ничего не делают свойства Borderstyle и Bordericons в Linux

Сообщение Sergei I. Gorelkin » 05.02.2009 23:16:56

"Как в виндовс" оно может работать только с тем оконным менеджером, который специально написан "чтобы быть как виндовс". И то, например, аналога biHelp в стандартных протоколах ICCCM нет по определению, поэтому менеджер может поддерживать его только через свой собственный протокол, а это означает, что программа должна в свою очередь быть заточена под данный конкретный менеджер.

p.s. Не стреляйте в пианиста, он играет как умеет (c)
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1407
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Re: Ничего не делают свойства Borderstyle и Bordericons в Linux

Сообщение Logo » 06.02.2009 06:28:51

alexmai писал(а): Ну уж не надо выдавать желаемое за действительное, при моей памяти всего два вменяемых оконных менеджера, KDE и GMOM? но на разных библиотеках собраны.

Если точнее, то GTK, QT-4, Carbon, Win32/64. Тоесть, пока 4 работающие платформы под Lazarus. Но проблема в том, что, например, для GTK есть много тем и эти темы не обязательно могут иметь все возможные компоненты. Отсюда и получается, что что-то не работает, не говоря уже о разновидности всех этих виджетсетов.
alexmai писал(а):Что касается моего вопроса, то здесь вопрос принципиальный.
Если в общепринятых оконных менеджерах не работает приличное количество компонент,
а тем более их свойств и методов,
уберите, замените на те, что будут работать на базовых иксах KDE и GNOM.
А ОБМАН девелопера, в виде ЛЖЕ- компонент и их свойств в opensource системах НЕ ДОПУСТИМ.

Возможно Вы и правы, в том плане, что нужно создавать платформозависимый Object inspector и панель компонент, но я не могу согласиться, что актуальны только KDE и GNOM. Например, для кассового терминала вовсе не нужно иметь громоздкий KDE или GNOM....
А вообще, то это напрягает только при начальной работе, сам это испытывал после шестилетнего перерыва. Сейчас привык :)
alexmai писал(а):О какой кроссплатфрменности идет речь если в разных иксах невозможно одинаково управлять кнопочками в заголовке или правильно отобразить рамку вокруг RadioBox.
Такие мелочи , дают возможность петухам от java и c++ кукарекать, что lazarus дерьмо, хотя сами в нем давно уже.
И не надо списывать недоработки на UNIX и другие ОС, а то так Lazarus умрет толком не разродившись.

О реальной кроссплатфрменности.
Java действительно даст очень близкий по виду интерфейс, хотя под виндовс он будет виндовсовский, а вот под *nix он будет явовский, но детали будут присутствовать все.
А вот о С++ не надо. Кроме как QT-4 ничто не объединит разные платформы, но и Lazarus это умеет.
Logo
постоялец
 
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Re: Ничего не делают свойства Borderstyle и Bordericons в Linux

Сообщение Иван Шихалев » 06.02.2009 07:17:23

Logo писал(а):нужно создавать платформозависимый Object inspector и панель компонент

MSE, насколько я помню, не завязан на виджеты. Вот он должен работать одинаково, а от Lazarus'а этого требовать не стоит.
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

Re: Ничего не делают свойства Borderstyle и Bordericons в Linux

Сообщение Vadim » 06.02.2009 13:05:29

Ничего не поделаешь, теперь придётся создавать новый кроссплатформенный виджет - Лазарусджет. :)
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 233

Рейтинг@Mail.ru