Programowanie graficzne - co z czym?

0

Witam,
Stawiam jeszcze 'nieśmiałe' kroki w C#, i mam problem z wykonaniem projektu, którego cząstka ma być odpowiedzialna za zaprogramowanie sterownika.
Aplikacja będzie miała za pomocą wcześniej zdefiniowanych bloków funkcyjnych, łączono odpowiednio za pomocą strzałek - generować kod w czystym C.
Tu powstaje problem - Tworzenie bloków, rysowanie linii pomiędzy węzłami, analiza połączeń...
Może ktoś z Was miał z czyś takim do czynienia? Może mógł bym liczyć na drobną pomoc/ pomysł jak się za to zabrać?

0

No to tak. Moja propozycja jest taka. Najpierw musisz sobie zdefiniować te bloczki np. używając klasy Panel i ustawić im jakiś obrazek jako tło, powiedzmy znajdujące się na liście z boku głównego okna, potem byś musiał napisać kod do obsługi DragDrop, potem przesuwanie wstawionych do głownego okna bloczków za pomocą myszy, operowanie na ich właściwości Location i oczywiście odświeżanie okna. Strzałki mógłbyś rysować za pomocą klasy Graphics. A jak już byś miał gotowy ten programik to zrobić np. przycisk generuj kod i pobrać wszystkie bloczki korzystając z LINQ (workSpace.Controls.OfType<Panel>), potem posortować na podstawie ich położenia no i wtedy na podstawie otrzymanej kolekcji wygenerować kod w C. To bym proponował zrobić na początku, żeby wgl. coś działało. Kod ten służyłby do obsługi tylko prostego schematu w jednej linii od lewej do prawej), a potem bawić się dalej, ustalać kolejność na podstawie strzałek

0

Takie uproszczone podejście jak proponuje @Manuel.Artificer zrobiłem kiedyś dla programu, który generował kod dla Arduino właśnie z takich klocków:

(dół to "paleta", góra to ścieżka wykonania)

screenshot-20171025191416.png

Ale jak rozumiem, oczekujesz czegoś bardziej skomplikowanego?

0

W zasadzie to założenie jest bardzo podobne. Tyle że bloki chciałbym łączyć za pomocą linii. Całość będzie trochę bardziej rozbudowana ale to nie ma na razie znaczenia.
Chciał bym zacząć od kilku prostych elementów jak @Ktos

title

Oczywiście interface nie będzie tak dopieszczony jak ten powyżej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1