Projektvorstellung: Library für das Erstellen von Menus für LCD Displays

michael_x:
Der Anhang ist der am ersten Post ?

Wie gesagt, ein Menu im PROGMEM Flash-Speicher aber "konfiguriert statt programmiert", wäre gut.

1.) Ja aus dem ersten Post.
2.) Wie soll ich dieses "konfiguriert statt programmiert" verstehen?

mkl0815:
Hmm doch die String Klasse. Die würde ich auf jeden Fall entsorgen. Da Du mit den Strings selbst nichts machst, außer sie zu speichern, sollte einfach "String" gegen "char*", oder sogar "const char*" ausgetauscht werden.

Okay, dazu Fragen. Warum sind Strings schlecht? Sind das nicht letztendlich auch nur Char arrays? Was haben Chars als Vorteil gegenüber Strings?
Und wenn ich jetzt von String auf Char wechsel ist das doch für den User "relativ" aufwendig da er einen Namen z.B. so anlegen muss:

char name[5] = {'H', 'a', 'l', 'l', 'o'};

mkl0815:
Als nächstes würde ich auf jeden Fall von den "künstlichen" Indizes auf Zeiger umstellen, dann sparst Du Dir die Funktion getNeighbour(), da jeder Eintrag von forward, back, up und down gleich der passende Zeiger auf das nächste Item ist. Damit man einen definierten Start hat, würde ich ein "root" Element im Menu-Objekt definieren, welches immer den ersten Eintrag liefert. Zusätzlich sollte jedes MenuItem entsprechende Methoden getForward(), getBack(), getUp und getDown() haben, damit man auf die angehängten Elemente zugreifen und damit durch den Baum / Graph navigieren kann.

Das wäre der nächste Schritt gewesen, allein Schon damit ein Item nicht zwei mal existiert.

Unterm Strich: Würdet ihr diese Lib benutzen wenn ihr gerade ein Projekt amlaufen habt, bei dem ihr deratige Menüs braucht?