Forum: PC-Programmierung C++ Kernlogik und Menupunkte via Callbacks verknüpfen?


von Milhouse van Hauten (Gast)


Lesenswert?

Und wieder ich, Hallo zusammen!

>>Kernfrage:
Meine Frage direkt voraus: Ich nehme an, es ist normal, die Kernlogik 
eine
Programmes über Callbacks mit der Menustruktur zu verbinden?

>Hintergund bzw. folgendes Szenario:
Es wird eine Menustruktur aufgebaut, die auf Knoten basiert, welche im 
OO Stil einer Basisklasse zu Grunde liegen, welche es einem Itterator 
ermöglicht, sich zweidimesional zu bewegen. Also "oben-unten / 
rechts-links"
In diesem Szenario gibt es z.B. einen "ItemPool". Dieser hat z.B. 3 
Menueinträge: New_Item, Delete_Item, Config_Item.
Wie gesagt letztlich basieren alle (ItemPool, New_Item, Delete_Item und 
Config_Item) auf der selben Basisklasse. Im Falle von New_Item soll bei 
Enter ein neues Item alloziert und einer Liste hinugefügt werden, welche 
wiederrum "ItemPool" gehört. D.h. es muss eine Methode in "ItemPool" 
aufgerufen werden, aus einem Objekt, welches eigentlich darunter liegt. 
Da würde ich nun eine Callbackfunktion einsetzten.

>Warum ich das frage:
Ein anderer Ansatz könnte auch sein, in "ItemPool" eine Art Statemachine 
zu machen, in welche der Itterator Steuerbefehle "reinfüttert". Dann 
brauche ich zwar keine Callbacks, kriege aber (glaube ich) relativ 
schnell ein ziemlich aufgeblähtes "ItemPool" File, da ich die Logik, die 
sonst in den abgeleiteten Klassen "New_Item, Delete_Item und 
Config_Item" stehen würde in den Cases implementieren müsste.

viele Grüße,
Milhouse

von nicht“Gast“ (Gast)


Lesenswert?

Ja

von nicht“Gast“ (Gast)


Lesenswert?

nicht“Gast“ schrieb:
> Ja

Nachtrag. Du hast keine Frage gestellt, sondern eine Feststellung in den 
Raum geworfen.


Und du redest zu viel wirres Zeug.

von PittyJ (Gast)


Lesenswert?

Nimm QT. Die 'Verbergen' das intern über Signal/Slots. Da muss man sich 
dann keine großen Gedanken machen.

von Tim (Gast)


Lesenswert?

nicht“Gast“ schrieb:
> Nachtrag. Du hast keine Frage gestellt, sondern eine Feststellung in den
> Raum geworfen.

Wenn du Postings nicht liest, dann solltest du einfach nicht antworten.

von Mark B. (markbrandis)


Lesenswert?

Milhouse van Hauten schrieb:
> da ich die Logik, die sonst in den abgeleiteten Klassen "New_Item,
> Delete_Item und Config_Item" stehen würde

New, Delete und Config sind meiner Ansicht nach keine Klassen. Sondern 
Operationen, die auf Instanzen von Klassen (also auf Objekten) 
auszuführen sind.

von nicht"Gast" (Gast)


Lesenswert?

Tim schrieb:
> Wenn du Postings nicht liest, dann solltest du einfach nicht antworten.

Kleiner Tip, mein erster Post ist die Antwort.

Scheint mit dem Lesen bei dir auch nicht so weit her zu sein.
Zeig mir mal die Frage. Wenn er das nicht explizit dazu geschrieben 
hätte, ware das noch schlimmer geworden. :)


Milhouse van Hauten schrieb:
>>>Kernfrage:
> Meine Frage direkt voraus: Ich nehme an, es ist normal, die Kernlogik
> eine
> Programmes über Callbacks mit der Menustruktur zu verbinden?

Das ist keine Frage, sondern eine in den Raum gestellte Vermutung, die 
ein falsches Satzzeichen abbekommen hat. Wie dem auch sei. Das hab ich 
beantwortet.

Milhouse van Hauten schrieb:
>>Warum ich das frage:

Wieder keine Frage hier im Text, sondern eine Idee, wie er das anders 
machen könnte.

Sieht für mich wie Brainstorming aus und keine Frage. So was schreib ich 
auch gerne mal zusammen um eine Struktur festzulegen. Das poste ich aber 
gewöhnlich nicht in einem Forum :)

Wenn man viel Liebe und Fantasie aufbringt, kann man da drei Fragen 
ausmachen.

1. Die offensichtliche. Ist das mit den Callbacks gut so, oder hab ich 
mir was völlig blödes ausgedacht?
2. geht mein Ansatz der Implementierung so weit in Ordnung?
3. Was haltet ihr von einer Alternative?

Was will der TE nun aber beantwortet haben?

1. Ja

2,3. Probier es aus. Mach einen Prototypen und schau, was dir besser 
gefällt.

PS: Gestern war spät.

@Tim(Gast) - geh woanders meckern. Du hast ja selber keinen einzigen Tip 
hinterlassen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.