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

 

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

Продолжаем развивать библиотеку для создания графических интерфейсов. На этот раз будут представлены такие элементы, как «Время» и «Список из чекбоксов». Кроме этого, в класс таблицы типа CTable добавлена возможность сортировать данные по возрастанию и убыванию.

В таблице первые три столбца сделаем со следующими типами данных:

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

Рис. 7. Пример отсортированной (на возрастание) таблицы по первому второму столбцу.

Рис. 7. Пример отсортированной (на возрастание) таблицы по первому второму столбцу.

Автор: Anatoli Kazharski

 

У меня конкретные вопросы:

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

2. Меняется ли ширина столбцов?

3. Таблица на примере выше нарисована на канвасе, или сделана из объектов?

 
Реter Konow:

У меня конкретные вопросы:

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

2. Меняется ли ширина столбцов?

3. Таблица на примере выше нарисована на канвасе, или сделана из объектов?

1. Эти режимы настраиваемые. То есть первую строку и первый столбец можно зафиксировать (сделать заголовками) и они не будут прокручиваться вместе с данными таблицы.

2. В этой статье обновления касаются таблицы типа CTable. В ней ширина столбцов автоматически подстраивается под общую ширину таблицы. 

3. Таблица типа CTable сделана из стандартных графических объектов типа OBJ_EDIT

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

В следующих статьях тоже будут обновления для списков и таблиц. Там ещё много работы.

 
Anatoli Kazharski:

1. Эти режимы настраиваемые. То есть первую строку и первый столбец можно зафиксировать (сделать заголовками) и они не будут прокручиваться вместе с данными таблицы.

2. В этой статье обновления касаются таблицы типа CTable. В ней ширина столбцов автоматически подстраивается под общую ширину таблицы. 

3. Таблица типа CTable сделана из стандартных графических объектов типа OBJ_EDIT

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

В следующих статьях тоже будут обновления для списков и таблиц. Там ещё много работы.

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

Я бы посоветовал Вам подумать о трудоемкости использования предлагаемой технологии. Если быть объективным, то трудоемкость все таки имеется.

Широкое распостронение и применение данных разработок также зависит от легкости их использования. С этим врядли можно спорить...

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

 
Реter Konow:

...

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

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

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

 
Anatoli Kazharski:

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

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

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

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

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

P.S. Если быть точнее, то я считаю что труд и практика являются основой обучения и приобретения навыков. В образовании следует избегать лишних "послаблений". Например, - использование калькуляторов в начальных классах может лишить смысла уроки математики. Получается, если раздать первоклашкам калькуляторы, они не научатся нормально считать. Их нужно обучать считать столбиком и объяснять на пальцах. Но что если кому то выгодно продавать эти калькуляторы возле школы? Что тогда делать?

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

спасибо за статью.......

ну вообще теперь панели можно делать космические

(остается придумать для чего все это богатство задействовать) 

 
Реter Konow:

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

Надеюсь таких читателей, которые только картинки смотрят, немного. )

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

 
Anatoli Kazharski:

Надеюсь таких читателей, которые только картинки смотрят, немного. )

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

Повторю: к сожалению я до сих пор не вчитывался и не вникал в нюансы реализации Вашей библиотеки. Это мой минус.

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


P.S. То что Вы собираетесь делать в дальнейшем - правильно. Продолжайте развивать библиотеку.

 
Реter Konow:

...

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

... 

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

 
Anatoli Kazharski:

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

Договорились.)
Причина обращения: