Делаем краудсорсовый проект по Canvas - страница 3

 
o_O:

я б сказал красавчик )

очень радует скорость работы.  все вполне адекватно и по времени отрисовки и по управлению.

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

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

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

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

Я например такие вещи вообще не понимаю :

class A { public:
              A *operator<<( int )       { return &this; }
        const A *operator>>( int ) const { return &this; }
};
void OnStart()
{
        A a;
        a >> 0 << 0;                       //нет сообщения об ошибке
        a.operator>>( 0 ).operator<<( 0 ); //error: правомерно

 Покажите мне в документации или еще где то где я могу научиться и понять где такое применять и как вообще это понимать...

Вы хотите написать классные и нужные вещи и это очень хорошо, а кто это будет писать Вы подготовили ? Научили людей ? Или Снова Хорошая идея умрет из за того что в ней примут участие 1,5 человека...

 

Мысля в слух, самым востребованным и нужным проектом будет проект по обучению (хорошему, простому, полезному, грамотному) программированию от основ до примеров как я показал выше. Я б сделал но я не профессионал, я не знаю как правильно!

И толку для всех будет в сотню-тысячу раз больше чем от проекта где 1,5 умника  будут сочинять крутые (по их мнению) вещи...

 
o_O:
хм, а в чем проблема с edit?
Самая главная и основная проблема - ограниченность вводимой строки или что-то изменилось?
 
Vladimir Pastushak:
Вы хотите написать классные и нужные вещи и это очень хорошо, а кто это будет писать Вы подготовили ? Научили людей ? Или Снова Хорошая идея умрет из за того что в ней примут участие 1,5 человека...

иногда и 0,5 человека хватает, если он гений в разработке )


Мысля в слух, самым востребованным и нужным проектом будет проект по обучению

это тема другой ветки.

И толку для всех будет в сотню-тысячу раз больше чем от проекта где 1,5 умника  будут сочинять крутые (по их мнению) вещи...


это будет вещь не крутая. она просто будет must have.  и делается не для умников, а именно для таких как вы, для фриланса, для маркета.
 
Zorro:
Самая главная и основная проблема - ограниченность вводимой строки или что-то изменилось?

-)  так ведь мы не используем граф.объект от МТ.  с ним да. проблемы.

Мы должны делать свой Edit, с блэкджеком и т.д.
отрисованный на общем битмапе приложения,

 

Лейбл и едит с неограниченной строкой это уже само по себе плюшки )

И да, по идее в топик призывается Анатолий

 

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

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

1. Пишем кнопку и отрисовку на канвасе. С её событиями. Этим вникаем в начало и протестируем битмапную модель работы с gui

2. Делаем класс, объединяющий группу GUI элементов  с событиями (это для учета zorder при отрисовке и событий)

Это два сложных этапа, надеюсь будет несколько вариантов, мы выберем один.
После этого запулю в битбакет открытый проект. И переходим на третий этап.

3. Когда станет понятна архитектура, то уже все желающие могут взять и на её основании сделать основные контролы: Edit, Static, Droplist и т.д. Я пока ограничиваюсь этими элементами, так как для первой практической задачи их будет достаточно.

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

 
o_O:

это будет вещь не крутая. она просто будет must have.  и делается не для умников, а именно для таких как вы, для фриланса, для маркета.

1 - Я не доверяю тем вещам/кодам которые не понимаю

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

3 - Желаю Вам удачи... 

ЗЫ: И я не понимаю что значит "must have" ...   

 
Vladimir Pastushak:
...

ЗЫ: И я не понимаю что значит "must have" ...   

Просто "должен быть"
 
Комбинатор:

Лейбл и едит с неограниченной строкой это уже само по себе плюшки )

И да, по идее в топик призывается Анатолий

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

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

 

 

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

Далее я планировал реализовать все элементы управления полностью нарисованными на канвасах (некоторые уже так и реализованы). Это второй этап развития библиотеки. То есть для каждого элемента управления будет отдельный объект типа OBJ_BITMAP_LABEL. Количество графических объектов станет значительно меньше, что в свою очередь тоже снизит потребление ресурсов процессора. Опять же, всё зависит от того, как это будет реализовано. Всегда есть несколько вариантов. Желательно попробовать все, если в этой среде это делается впервые и точно не знаешь, что выбранный вариант однозначно лучший.

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

Считаю этот проект очень интересным и полезным, и для других и для себя. С большим интересом буду наблюдать за развитием и изучать опубликованные здесь материалы. Я в любом случае продолжу развивать свою версию библиотеки и публиковаться статьями. Мне нравится формат, в котором я сейчас работаю. Пусть это и будет моим участием. Идеи и коды будут доступны каждому и их можно использовать. У меня очень жёсткие требования по оформлению кода и его описанию. Всё должно быть подробно, аккуратно, представлено схемами, понятно каждому и идеально, насколько это возможно. Иначе ничего не получится и рискует закончиться ничем, как это уже неоднократно было на этом форуме по множеству различных и очень интересных идей, хоть в дискуссиях участвовали самые профессиональные разработчики из присутствующих на этом сайте. Надеюсь, что это не тот случай и на выходе будет качественная библиотека для создания графических интерфейсов в среде торговых терминалов MetaTrader, а бесконечно долгий период её отсутствия будет забыт, как страшный сон. 

 
o_O:

Приветстсвую кодеров.

Есть интересная задача сделать действительно что-то полезное...

----

Итак, задачач первая и базовая.

1. Нужно сделать класс кнопки (допустим GButton, префикс G чтоб не путать с уже имеющимися).

Мне кажется, что после статей Анатолия снова создавать теже яйца только в профиль, - как минимум странное времяприпровождение. Графика это вообще не актуальная тема для МТ.

  • Пользователям  ненужны графические интерфейсы. Как следствие, монитизировать графический интерфейс невозможно и его разработка никода не окупиться.
  • Если хотите поднять скиллы, то уж лучше сразу куда-нибудь джуниором устроиться. Так хоть какую-то деньгу сразу получать начнете и потехоньку скиллы поднимите.
  • Слишком узкая целевая аудитория. Кому нужны библиотеки? - Абсолютно никому, кроме горстки программистов, да и те уже давным давно все нужные им библиотеки написали. У меня например своих графических библиотек, аж целых две.

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