LINUX.ORG.RU

Metaprog: универсальная графическая среда программирования [в разработке] часть 2

 , , ,


2

3

Не нравится - проходите мимо. Нравится - помогайте проекту.

Дополнительно:

Структуры условного выбора типа

Примеры

Metaprog: универсальная графическая среда программирования [в разработке]

Metaprog: универсальная графическая среда программирования [в разработке] часть 3

Структура

Структура GtkWidgetClass с кучей членов-указателей на функции:

https://i.postimg.cc/bwTrb1r1/2.png

Слева - члены структуры, справа - подсказки к выходам структуры, всплывшие при наведение мышью. Там можно прочитать имена членов структуры. Здесь я буду брать прототипы для функций, вызываемых по перечисленным событиям (фишка gtk+).

Да, большая и на экран не вмещается. После релиза эта проблема будет решаться перемещением видового экрана по диаграмме и зумом (как в играх-стратегиях или при просмотре фоток под зумом).

Она же в текстовом виде: https://pastebin.com/TeTsSMQz



Последнее исправление: CYB3R (всего исправлений: 12)

Ответ на: комментарий от Deleted

Ничего не разобрать в твоём вскукареке.

anonymous
()
Ответ на: комментарий от anonymous

Кстати, вполне возможно, что это у тебя шизофрения и четыре твои личности сейчас друг с другом переписываются. Задумайся!

balsoft ★★
()
Ответ на: комментарий от balsoft

В планах уже есть диаграмный формат документов с зумовым интерфейсом, выше писалось.

metaprog
() автор топика
Ответ на: комментарий от balsoft

Но, опять же, С++ - еще не самое худшее, что есть. Джава (особенно на андроиде), .нет, джаваскрипт куда хуже.

metaprog
() автор топика
Ответ на: комментарий от metaprog

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

Deleted
()

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

Deleted
()
Ответ на: комментарий от Deleted

Мне лично кажется, что хватит украинского, русского и английского. Если это вдруг нужно будет арабам, пускай сами допиливают:)

metaprog
() автор топика
Ответ на: комментарий от MKuznetsov

Продублирую для вас.

HiAsm (который я за 9 минут забраковал) - за то, что непонятно было где исходники подфункций. Сейчас еще раз взглянул - черт побери, в исходниках модулей - текстовый паскаль! Там даже графических подфункций я не увидел, только сборка диаграмм из модулей на паскале. Лабвью все же на голову выше, и аналогов ему, к сожалению, нет (если не считать Метапрога, который пока что в разработке).

metaprog
() автор топика
Ответ на: комментарий от Deleted

А как в мапированном файле обстоит дело с realloc, если, скажем, надо вместо массива из 4 байтов вставить 30 байтов?

metaprog
() автор топика
Ответ на: комментарий от Deleted

То есть просто realloc и файл автоматически расширится, чтоб дать место для массива большего размера? И уменьшится, если наоборот массив укоротился?

Вызывать просто realloc или что-то другое?

metaprog
() автор топика
Ответ на: комментарий от Deleted

Свой клон realloc пилить или там есть функция?

metaprog
() автор топика
Ответ на: комментарий от Deleted

MyOpenLab

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

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

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Мне вообще Java Exception выбило при его загрузке. Может быть, можно было бы и парсить формат диаграмм MyOpenLab, но чтобы прикрутить хотя бы меню из сишных функций придется, наверное, вникать в джаву. А это ужас. Я уже чуток сталкивался с джавой, больше не хочу.

Скорее всего, делать Метапрог с нуля будет делать проще (уже есть лабвьюшная версия).

Самое плохое то, что тот испанец не ставил целью сделать MyOpenLab «сам на себе», как я Метапрог (иначе и Метапрог бы вряд ли понадобился уже). Предел его мечтаний - программировать ардуинки.

metaprog
() автор топика
Ответ на: комментарий от Deleted

Предположим, что ООО «Рога и Копыта» выпустило 3 модели автомобилей. Модель 1 ломается через 100 метров пробега, модель два ломается через 500 метров пробега, модель 3 вообще не едет. В остальном все три модели одинаковые. Я смело называю все три модели «поделками», и говорю, что модель 1 - самая лучшая поделка «Рога и Копыта» после модели 2. Вы говорите, что «лучшая» тут лишнее. Так вот, это не так, ибо в данном контексте «лучшая» значит «лучшая среди какого-то ряда», а не «лучшая вообще среди всех конкурентов».

balsoft ★★
()
Последнее исправление: balsoft (всего исправлений: 1)
Ответ на: комментарий от monk

Ты в первой части спрашивал насчет асинхронных вызовов? Первый пример есть, в части 3 (с окошком). Это будет как в Си через указатели на функцию.

metaprog
() автор топика
Ответ на: комментарий от metaprog

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

monk ★★★★★
()
Ответ на: комментарий от monk

Инициализация - один блок,у которого нет входов и выходов. Проводник, соединяющий инициализацию и дальнейшие блоки - жесткая последовательность (чтоб они вызывались гарантированно ПОСЛЕ инициализации).

metaprog
() автор топика
Ответ на: комментарий от metaprog

Инициализация - один блок,у которого нет входов и выходов.

Ладно. metaprog_function_8484018655565672449 должен иметь два аргумента-указателя (по описанию сигнала). У тебя в него передаётся один аргумент. Может быть Segmentatio fault.

monk ★★★★★
()
Ответ на: комментарий от monk

Это коллбэк для вызова gtk_main_quit, из другой оперы. Функция-инициализация просто инлайнится и совершенно не отражается на сишном коде.

metaprog
() автор топика
Ответ на: комментарий от metaprog

Как если б место того маленького квадратика-стрелочки на основной диагармме было то, что внутри него.

metaprog
() автор топика
Ответ на: комментарий от metaprog

Код, конечно, некрасивый, но... скомпилируй попробуй, оно работает:)

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

monk ★★★★★
()
Ответ на: комментарий от monk

На другие архитектуры я пока не претендую. То уже после релиза альфы-беты будем мудрить.

metaprog
() автор топика
Ответ на: комментарий от Deleted

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

iluha16
()
Ответ на: комментарий от iluha16

Проиграл с твоих выдумок.

и для программиста C так же

Нет, в книжке по С даже отдельно тему выделили что бы научить программиста правильно читать типы.

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

Это называется ZUI, очень удобно для схем.

Deleted
()
Ответ на: комментарий от Deleted

Нет, в книжке по С даже отдельно тему выделили что бы научить программиста правильно читать типы.

ну так прочитай эту тему и освой уже наконец

Это называется ZUI, очень удобно для схем.

не спорю что для схем удобно но не для программ

iluha16
()
Ответ на: комментарий от iluha16

ну так прочитай эту тему и освой уже наконец

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

не спорю что для схем удобно но не для программ

Ну так metaprog для схем, он же не собирается делать весь интерфейс таким.

Deleted
()
Ответ на: комментарий от metaprog

ты напиши хотя бы по русски если по английски не можешь. я в курсе что на украинском много слов похожих но у меня совершенно нет желания после трудового дня выяснять что такое радиус дii к примеру.

iluha16
()
Ответ на: комментарий от metaprog

значит недостаточно хорошо знаешь

Могу такое читать:

unsigned short *(*(**bazz[][7])())[];

Ты еще этого не видел.

Видел. Уже отписался в 3 треде.

Deleted
()
Ответ на: комментарий от metaprog

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

iluha16
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.