Ботовский программатор уже начинает превращаться из простой прошивалки в сканер интернет-баз, имеющий собственный формат прошивок и способ их хранения и т.п. В связи с этим назревает необходимость в чем-то монструозном для минибота. В конце концов ПО минибота все-равно к этому придет, поэтому может начать двигаться в этом направлени уже сейчас?
******************************************************************************************************************************************}
С развитием проекта минибот все острее проявляется необходимость в едином приложении, способном "обслужить" минибота, т.к. разрозненные компоненты неудобны в использовании (спорное, конечно, утверждение, оставим в качестве допущения)).
В первую очередь программа ориентирована на неподготовленного пользователя минибота (вспомним, все начиналось как учебный проект), однако должна присутствовать возможность точной настройки профессиональных вещей (например, человек приобрел минибота с радиоинтерфейсом, но живет он в таком месте, что частота радио-модуля сильно загажена. Про уменьшение скорости порта он, конечно же, не знает, но создаст тему на форуме и добрый дадька Эдгулл ему поможет, подсказав какие знаечения утсановить в программе=)).
Кроме того, для такого пользователя можно обеспечить доставку уже готовых приложений, превратив минибот фактически в игрушку. Этот вариант тоже не стоит упускать из виду.
Ну и последнее, пользователь у нас поднаторел в некоторых аспектах и залил в минибот свою прошу. А отлаживает её через терминал программы).
Таким образом базовая составляющая программы выглядит так:
- Менеджер готовых проектов
- Программатор
- Терминал
Теперь более подробно об архитектуре интерфейса:
Легенда:
- (?) - неясность, обсуждение
правка- закрытый для обсуждения и/или удаленный из реализации пункт- правка - реализованный пункт
- правка - пункт, ожидающий реализации
- Быстрый старт. Если не получится, то возможность запуска отдельно важных утилит из приложения(напр, программатор или терминал)
- Возможность профессиональной настройки
- А также быстрого старта со стандартными настройками для новичков
- Приятный глазу интерфейс
- Возможность запуска без регистрации в компьютере, т.е. портабельность
- Поддержка Линукс
- Другое(?)
- Допущения:
- Приложение является MDI окном(?)
- Хранение настроек в ini-файле
- Еще(?)
- Приложение является MDI окном(?)
- Интерфейс и функциональность окон приложения:
- Главное окно
- При сворачивании окон-дочек скрывать их и показывать при нажатии на нижний таб(?)
- При сворачивании окон-дочек скрывать их и показывать при нажатии на нижний таб(?)
- Окно настроек
Сделать MDI дочкой
Раздельные настройки порта для программатора и терминала(один порт на всех)
- Окно документа
- Сделать MDI дочкой(?)
- Сделать MDI дочкой(?)
- Окно менеджера проектов
- Сделать MDI дочкой(?)
- Два списка: проекты с сайта и свои проекты(?)
- Сделать MDI дочкой(?)
- Окно программатора
- Сделать MDI дочкой(?)
- Предустановки для различных поставок Минибота (возможность есть, осталось толко настройки эти забить)
- Отдельный поток для программатора(?)
- Сделать MDI дочкой(?)
- Окно терминала
- Сделать MDI дочкой(?)
- Возможность лога(?)
- При перепрошивке мониторить порт или очищать окно(?)
- Отдельный поток для терминала(?)
- Обеспечение "подсказок" команд для текщуего зашитого проекта (наподобие Делфи)(?)
- Сделать MDI дочкой(?)
- Ещё окна(?)
- (?)
- (?)
- Главное окно
- Файл проекта:
- XML или бинарный файловый поток типа или текстовик ини(?)
- Прикрепление вместе с хексом текста исходного кода(?)
- Возможность прикрепления различных файлов: jpg, doc и т.д.(?)
- См. вложение. как лучше организовать?(?)
- XML или бинарный файловый поток типа или текстовик ини(?)
- Неплохо бы добавить:
- Баги:
- Не прорисовываются системные кнопки(закрыть,свернуть и т.д.) во время максимизации любого дочернего окна
- Неправильная реакция нижнего таба на дочек с одинаковыми заголовками(caption)
- При смене скина не прорисовываются спид батоны на окне настроек. Леченеие: Перезапуск окна.
- Нестабильная работа кнопки отключения скинов
- Памяти жрем дохрена. С открытыми 40 проектами (пустыми) на полный экран+окном настроек набегает 60(!!!) мегабайт.
- Не прорисовываются системные кнопки(закрыть,свернуть и т.д.) во время максимизации любого дочернего окна
- Мысли вслух
- Линух ф топку
- Прикрутить AVReAL для программирования через LPT(?)
- Линух ф топку
- Используемые библиотеки/компоненты:
Этот пост постоянно обновляется. Он отображает процесс разработки.
P.S. Проект пишется на Delphi, среда разработки: CodeGear RAD Studio 2007.