crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

3 страниц V  < 1 2 3 >  
Ответить в данную темуНачать новую тему
> Эмулятор терминала на qt4, widget
void*
  опции профиля:
сообщение 15.7.2008, 10:05
Сообщение #11


Программист-самоучка
***

Группа: Участник
Сообщений: 429
Регистрация: 4.6.2008
Пользователь №: 193

Спасибо сказали: 28 раз(а)




Репутация:   3  


немного покопался в коде. Действительно обильные комментарии затрудняют чтение кода, да и стиль программирования местами не очень понравился: постоянные приведения в стиле Си, использование void* (что весьма нежелательно, да и по-моему не аргументированно). Ну а так, в принципе неплохо, но еще очень огорчило отсутствие полосы прокрутки
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
un-defined
  опции профиля:
сообщение 15.7.2008, 10:45
Сообщение #12


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 8.7.2008
Пользователь №: 227

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(void* @ 15.7.2008, 11:05) *
немного покопался в коде. Действительно обильные комментарии затрудняют чтение кода, да и стиль программирования местами не очень понравился: постоянные приведения в стиле Си, использование void* (что весьма нежелательно, да и по-моему не аргументированно). Ну а так, в принципе неплохо, но еще очень огорчило отсутствие полосы прокрутки



За исходный стиль винить разработчиков konsole в KDE4 :) Мне надо было для начала добиться работоспособности, а рефакторингом займусь потом, если время будет.
Если есть предложения по улучшению - патчи принимаются.

Комментарии мне лично не мешают.

Полоса прокрутки отключена сознательно - мне так внешний вид больше нравится. Ctrl+PgUP,PgDn еще никто не отменял, а размером history можно управлять. В принципе никто не мешает включить, ну или опцию добавить.. может и сделаю, если уж прямо очень убедительно надо (хотя я, опять повторю, такой необходимости не вижу)

Вообще просторов для улучшения там море, никому не возбраняется поучаствовать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
void*
  опции профиля:
сообщение 15.7.2008, 11:15
Сообщение #13


Программист-самоучка
***

Группа: Участник
Сообщений: 429
Регистрация: 4.6.2008
Пользователь №: 193

Спасибо сказали: 28 раз(а)




Репутация:   3  


Цитата(un-defined @ 15.7.2008, 10:45) *
В принципе никто не мешает включить, ну или опцию добавить.. может и сделаю, если уж прямо очень убедительно надо

было бы очень даже неплохо :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
un-defined
  опции профиля:
сообщение 15.7.2008, 23:59
Сообщение #14


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 8.7.2008
Пользователь №: 227

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(void* @ 15.7.2008, 12:15) *
было бы очень даже неплохо :)


Да не вопрос:)
В cvs забирать.


Кстати, по поводу использования void* - что именно там непонятно и нежелательно?

Сообщение отредактировал un-defined - 16.7.2008, 0:02
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
void*
  опции профиля:
сообщение 16.7.2008, 9:32
Сообщение #15


Программист-самоучка
***

Группа: Участник
Сообщений: 429
Регистрация: 4.6.2008
Пользователь №: 193

Спасибо сказали: 28 раз(а)




Репутация:   3  


теперь другое дело :) правда теперь почему-то стал слишком большой шрифт и отступ от текущего пути, вот скрин :)

насчет void* - лично я не совсем понимаю зачем в классе держать указатели на void и при каждом их использовании приводить их к нужному типу:
void *_session;
void *_terminalDisplay;


примеры:
((TerminalDisplay*)_terminalDisplay)->setSize(80, 40);

((Session*)_session)->addView((TerminalDisplay*)_terminalDisplay);
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
un-defined
  опции профиля:
сообщение 16.7.2008, 9:55
Сообщение #16


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 8.7.2008
Пользователь №: 227

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(void* @ 16.7.2008, 10:32) *
теперь другое дело :) правда теперь почему-то стал слишком большой шрифт и отступ от текущего пути, вот скрин :)

Шрифт моноширинный должен быть.
По умолчанию стоит Monospace, 10.
Я ставил еще terminus, 12
С другими шрифтами могут быть как раз такие проблемы, так как положение курсора вычисляется как (размер символа) Х (количество символов). А в немоноширинных шрифтах размер символа непостоянен..

Но вообще я в этот раз не трогал ту часть, которая за шрифты отвечает:)

Цитата(void* @ 16.7.2008, 10:32) *
насчет void* - лично я не совсем понимаю зачем в классе держать указатели на void и при каждом их использовании приводить их к нужному типу:
void *_session;
void *_terminalDisplay;


потому что надо было спрятать внутренние типы от приложений, которые будут этот класс использовать. Понятно, что тут явно просятся forward declarations и pimpl, но я решил вообще убрать из интерфейсного класса какие-либо упоминания о внутренних классах.
Может быть как-нибудь переделаю на досуге:)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
void*
  опции профиля:
сообщение 16.7.2008, 10:02
Сообщение #17


Программист-самоучка
***

Группа: Участник
Сообщений: 429
Регистрация: 4.6.2008
Пользователь №: 193

Спасибо сказали: 28 раз(а)




Репутация:   3  


Цитата(un-defined @ 16.7.2008, 9:55) *
Шрифт моноширинный должен быть.
По умолчанию стоит Monospace, 10.
Я ставил еще terminus, 12
С другими шрифтами могут быть как раз такие проблемы, так как положение курсора вычисляется как (размер символа) Х (количество символов). А в немоноширинных шрифтах размер символа непостоянен..

в принципе да, с Monospace все вроде нормально

ЗЫ я конечно наверно уже совсем обнаглел, но может сделаешь еще и горизонтальную полосу прокрутки или вместо обоих полос прокрутки враппер из QAbstractScrollArea? :)

Сообщение отредактировал void* - 16.7.2008, 10:17
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 16.7.2008, 13:07
Сообщение #18


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9649
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(void* @ 16.7.2008, 14:02) *
вместо обоих полос прокрутки враппер

это плохая идея, должна быть прокрутка
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
un-defined
  опции профиля:
сообщение 16.7.2008, 13:14
Сообщение #19


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 8.7.2008
Пользователь №: 227

Спасибо сказали: 0 раз(а)




Репутация:   0  


А зачем нужна горизонтальная прокрутка?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 16.7.2008, 13:23
Сообщение #20


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9649
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


строки могут быть длинные, а перенос не информативен, т.к. нарушает реальный вывод, пример, сборка Qt.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

3 страниц V  < 1 2 3 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 17.12.2018, 18:34