Обсуждение статьи "Графические интерфейсы I: Подготовка структуры библиотеки (Глава 1)"

 

Опубликована статья Графические интерфейсы I: Подготовка структуры библиотеки (Глава 1):

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

Что получит читатель при прочтении этой серии статей?

  • Цель проекта — дать возможность создавать максимально интуитивно понятные интерфейсы для конечного пользователя. А тем, кто будет эти интерфейсы создавать — максимально понятную в изучении и использовании библиотеку кода, которую можно будет развивать дальше.
  • Те разработчики, которые только начинают делать первые шаги в реализации больших проектов с использованием объектно-ориентированных методов либо только начинают изучать объектно-ориентированное программирование (ООП), получат конкретный материал по этой теме для изучения с множеством примеров от начала до реализации.
  • Более опытные получат еще одну реализацию библиотеки для построения графических интерфейсов и смогут сразу приступить к реализации своих идей. Хорошо, когда есть из чего выбирать.
  • Профессионалы, которые сами могут создать и наверняка уже имеют свои подобные библиотеки, получат возможность покритиковать предложенную реализацию и, возможно, предложить более правильный на их взгляд подход в реализации подобных проектов, что будет также интересно менее опытным читателям. Подобные дискуссии иногда не менее интересны, чем сама статья.

Я назвал метод изложения, который будет использоваться в этой серии статей — «попытка имитации идеальной последовательности». Дело в том, что в процессе реальной разработки больших проектов, последовательность действий и ход мыслей намного более беспорядочны и состоят из множества экспериментов, проб и ошибок. Здесь же все эти сложности останутся за кадром. Тем, кто впервые сталкивается с проектами такого масштаба, рекомендуется повторять все действия для лучшего закрепления материала при изучении этой библиотеки, а точнее процесса ее создания. Ведь серия этих статей дает возможность представить весь ход мыслей в идеальной последовательности, когда все ответы на большинство вопросов уже есть и все части проекта создаются по мере возникновения их необходимости.

Рис. 5. Включение в проект классов для хранения указателей и обработки событий.

Рис. 5. Включение в проект классов для хранения указателей и обработки событий

Автор: Anatoli Kazharski

 
Анатолий, а вы планируете отрисовывать все элементы управления на Canvas? 
 
Igor Volodin:
Анатолий, а вы планируете отрисовывать все элементы управления на Canvas? 

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

 

А начиналось всё когда-то, вот так. )

Как выглядели первые графические интерфейсы: От экранов радаров к персональным компьютерам >>> 

1962: Sketchpad, первая программа с GUI

 

//---

Как выглядели первые графические интерфейсы
Как выглядели первые графические интерфейсы
  • www.lookatme.ru
1962: Sketchpad, первая программа с GUI В середине XX века главной задачей инженеров было во что бы то ни стало сделать компьютеры умнее. Ради этого жертвовали всем, и дружелюбностью к пользователям в том числе. Что, впрочем, не мешало мыслителям того времени рассказывать, как со временем компьютеры будут помогать человеку во всём — на языке...
 

А статьи уже готовы, и просто ждут публикации, или только в процессе? Какие ориентировочные сроки выхода завершающей статьи?

Полезная может получиться вещь, я бы потестировал ) 

 
Andrey Khatimlianskii:

А статьи уже готовы, и просто ждут публикации, или только в процессе? Какие ориентировочные сроки выхода завершающей статьи?

Полезная может получиться вещь, я бы потестировал ) 

Сейчас готово 14 статей. Всего будет около 20. 

Процесс публикации быстрым не будет. Ориентировочные сроки сказать сложно. В лучшем случае это одна-две статьи в неделю.

 
Anatoli Kazharski:

Сейчас готово 14 статей. Всего будет около 20. 

Процесс публикации быстрым не будет. Ориентировочные сроки сказать сложно. В лучшем случае это одна-две статьи в неделю.

Херасе! Под эту тему может отдельный слоган сделать: "Рецепты пользовательских панелей, часть 238":)
 
Vasiliy Sokolov:
Херасе! Под эту тему может отдельный слоган сделать: "Рецепты пользовательских панелей, часть 238":)

При обсуждении было решено части всей серии разбить на главы, так как части были слишком большие. ) 

А в качестве "слогана" здесь выступает "Графические интерфейсы". 

 
Anatoli Kazharski:

При обсуждении было решено части всей серии разбить на главы, так как части были слишком большие. ) 

А в качестве "слогана" здесь выступает "Графические интерфейсы". 

Понятно. Тема полезная безусловно. Я так понимаю Ваши классы базируются на стандартном наборе графических библиотек от MQ?
 
Vasiliy Sokolov:
... Я так понимаю Ваши классы базируются на стандартном наборе графических библиотек от MQ?
Да, и будет ещё класс для рисования элементов, о котором речь пойдёт во второй и четвёртой части. Там же будут примеры по использованию.
 
Anatoli Kazharski:
Да, и будет ещё класс для рисования элементов, о котором речь пойдёт во второй и четвёртой части. Там же будут примеры по использованию.
Отлично. Если можно, побольше картинок с примерами графических интерфейсов. Вообще тема очень нужная: давно нужно было начать документировать стандартную библиотеку.
Причина обращения: