Ich hätte eine Frage zu einem konzeptuellen Problem...
Ich arbeit derzeit mit Qt an einem Baummodell (Tree Item View). Das kann man dann beliebig auslegen. Nun stehe ich vor folgendem Hindernis: Es ist möglich eine zusätzliche Spalte einfügen zu lassen. In dieser Spalte steht dann immer ein gewisser Datentyp oder besser gesagt dort findet man einen entsprechenden delegate zum editieren der Daten in der Spalte. Um auszuwählen was für eine Spalte man einfügen will gibt's einen Dialog, in dem man "vorgefertigte" Typen von Spalten auswählen kann. An der Stelle kommt dann mein Problem ins Spiel...
Es soll halt möglich sein nachträglich neue Spaltentypen anzulegen und damit das dann möglich einfach geht soll das Ganze dann "modular" ausfallen. Das heißt es wird irgendwo angegeben, dass Spaltentyp XYZ den Namen "ABC" hat und delegate "DEF" zum Einsatz kommen soll und der Rest wird von einem "Manager" übernommen (also das Aufführen des neuen Spaltentyps in der Auswahlliste und so weiter und so fort). Der Haken besteht nun beim delegate. Nachdem der jeweilige Spaltentyp gewählt worden ist, soll dann eben eine neue Spalte eingefügt werden. Hierbei wird dann der delegate ja mit einem "new" ins Leben gerufen und dann entsprechend den Zellen der Spalte zugewiesen. An dieser Stelle hänge ich nun...
Mein Problem: Das Folgende kann ich in C++ nicht schreiben.
Code: Alles auswählen
KLASSENPLATZHALTER editor = new KLASSENPLATZHALTER;
Ansonsten müsste ich da halt eine lange "if-Liste" anlegen wo der Code zum erzeugen des jeweiligen delegates drinsteht und in der beim Spaltenerzeugen nach dem richtigen Abschnitt gesucht wird. Da das jeweils dann auch nur wenige Zeilen Code sind wäre es schon ok wenn man beim Anlegen eines neuen Spaltentyps halt auch hier seinen Code per Hand reinsetzen muss. Schöner wäre es aber eben schon wenn das automatisch übernommen werden könnte...