Обсуждение статьи "Графические интерфейсы X: Сортировка, реконструкция таблицы и элементы управления в ячейках (build 11)"

 

Опубликована статья Графические интерфейсы X: Сортировка, реконструкция таблицы и элементы управления в ячейках (build 11):

Продолжаем добавлять в нарисованную таблицу новые возможности: сортировку данных, управление количеством столбцов и строк, установку типа ячеек таблицы для закрепления в них элементов управления.

‌Работает всё в конечном итоге так:

 Рис. 3. Демонстрация взаимодействия с элементами управления в ячейках таблицы.

Рис. 3. Демонстрация взаимодействия с элементами управления в ячейках таблицы.

Автор: Anatoli Kazharski

Графические интерфейсы X: Сортировка, реконструкция таблицы и элементы управления в ячейках (build 11)
Графические интерфейсы X: Сортировка, реконструкция таблицы и элементы управления в ячейках (build 11)
  • 2017.03.16
  • Anatoli Kazharski
  • www.mql5.com
Продолжаем добавлять в нарисованную таблицу новые возможности: сортировку данных, управление количеством столбцов и строк, установку типа ячеек таблицы для закрепления в них элементов управления.
 
Статья интересная.

Однако, не понял две вещи:

1. В чем заключается смысл добавления и стирания рядов и колонок таблицы с помощью кнопок на форме?

Я понимаю смысл добавления рядов в динамических таблицах, но там это реализуется автоматически, а не в ручную...

2. Что такое "многопараметрические" чекбоксы? 


 
Реter Konow:
Статья интересная.

Однако, не понял две вещи:

1. В чем заключается смысл добавления и стирания рядов и колонок таблицы с помощью кнопок на форме?

Я понимаю смысл добавления рядов в динамических таблицах, но там это реализуется автоматически, а не в ручную...

2. Что такое "многопараметрические" чекбоксы? 


1. Это пример. Нажатие кнопки в примере заменяет срабатывание какого-либо условия в программе. Хотя и кнопками тоже можно в программе добавлять - ну мало ли на что фантазия способна.

2. Я так понимаю - имеющие более двух положений Вкл/Выкл. Например Выше/Ниже/Середина

 
Artyom Trishkin:

1. Это пример. Нажатие кнопки в примере заменяет срабатывание какого-либо условия в программе. Хотя и кнопками тоже можно в программе добавлять - ну мало ли на что фантазия способна.

2. Я так понимаю - имеющие более двух положений Вкл/Выкл. Например Выше/Ниже/Середина

1. Спасибо, частично понятно. Необходимость добавления рядов с приходом новых данных ясна, но зачем программно или в ручную добавлять колонки, после фактического построения таблицы? 

2. По моему, это что то из области многомерного пространства. Мне здесь на форуме обьясняли как оно устроено, но я так и не понял. :)

Это как мягкая зеленая парабола, танцующая под лунным светом на 128 координате 18-го измерения... 
 
Реter Konow:
1. Спасибо, частично понятно. Необходимость добавления рядов с приходом новых данных ясна, но зачем программно или в ручную добавлять колонки, после фактического построения таблицы? 

2. По моему, это что то из области многомерного пространства. Мне здесь на форуме обьясняли как оно устроено, но я так и не понял. :)

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

2. А индикатор с тремя линиями - это из области уже многомерного пространства? Делаем переключатель в нулевом столбце таблицы с тремя положениями - верхняя линия индикатора, средняя линия индикатора и нижняя линия индикатора, а в последующие ячейки ряда вносим значения выбранной линии индикатора.

Неужели фантазия не позволяет придумать примеры для чего это пригодится?

 
Artyom Trishkin:

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

2. А индикатор с тремя линиями - это из области уже многомерного пространства? Делаем переключатель в нулевом столбце таблицы с тремя положениями - верхняя линия индикатора, средняя линия индикатора и нижняя линия индикатора, а в последующие ячейки ряда вносим значения выбранной линии индикатора.

Неужели фантазия не позволяет придумать примеры для чего это пригодится?

1. Найти применение этим возможностям можно.  Просто в статье это не обьясняется, для чего добавлены эти возможности. Поэтому я и спросил.

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

Ну, серьезно, дайте пример такого многопараметрического чекбокса. Просто не вспомню, видел ли такой и где.
 
Реter Konow:
1. Найти применение этим возможностям можно.  Просто в статье это не обьясняется, для чего добавлены эти возможности. Поэтому я и спросил.

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

Ну, серьезно, дайте пример такого многопараметрического чекбокса. Просто не вспомню, видел ли такой и где.

1. Вам напомнить-объяснить для чего голова(разум) человеку дана?

2. Видели когда-нибудь в жизни трёхпозиционный переключатель? В машине, например. На потолке есть такой (On/Off/Door)

 
Artyom Trishkin:

1. Вам напомнить-объяснить для чего голова(разум) человеку дана?

2. Видели когда-нибудь в жизни трёхпозиционный переключатель? В машине, например. На потолке есть такой (On/Off/Door)

Вообще то, я надеялся получить ответ от автора. 

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

Мне как разработчику GUI  интересны все оригинальные и новые элементы управления.

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

Если Вы не против.
 
Реter Konow:
Вообще то, я надеялся получить ответ от автора. 

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

Мне как разработчику GUI  интересны все оригинальные и новые элементы управления.

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

Если Вы не против.
На то она и гибкость, что не только автор может придумать для чего нужны элементы его библиотеки. Если бы Анатолий сделал так, что использовать элементы можно было бы только в узких, заданных им, рамках (ну..., как ваше творение на видео), то какой бы интерес к ней был?
Ну вы подождите ответа от Анатолия. Сами не думайте. Я ж не против.
 
Artyom Trishkin:
На то она и гибкость, что не только автор может придумать для чего нужны элементы его библиотеки. Если бы Анатолий сделал так, что использовать элементы можно было бы только в узких, заданных им, рамках (ну..., как ваше творение на видео), то какой бы интерес к ней был?
Ну вы подождите ответа от Анатолия. Сами не думайте. Я ж не против.
Если бы Вы знали, сколько раз я хвалил разработку Анатолия! Сколько лайков поставил... 

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

Анатолий выбрал первый вариант, я второй.

Оба варианта одинакого хороши, просто они разные.
 
Реter Konow:
Вообще то, я надеялся получить ответ от автора. 
...


По моему, Артём достаточно подробные примеры привёл.

Если более наглядно и в рамках, каких-то уже существующих графических интерфейсов, то можно вот такие варианты посмотреть:

1. В операционной системе Windows откройте окно "Компоненты Windows". Там можно увидеть чекбоксы с более, чем двумя состояниями:

//---

2. В терминале MetaTrader 5 откройте окно "Инструменты". На вкладке "История" у Вас есть возможность в контекстном меню включить/отключить видимость некоторых столбцов таблицы:


Причина обращения: