tuxboy
25-11-2002, 19:07
Und wieder mal: Hi!
Sagt mal, wie kann ich aus einem gtk widget (in meinem Fall ein Tree) die Zeichenkette (Beschriftung) auslesen in einer char - Variable speichern und dann an eine zweite (auch aus dem Tree ausgelsen) anhängen und das Ergebnis (eine neue Variable) wieder in einem widget (Status bar) ausgeben?? Ich komm da mächtig durcheinander mit den verschiedenen chars (ob char *a; oder char a[128]; *grübel*).
Ich hab hier einen Ansatz um mein Problem zu verdeutlichen:
void get_current_path () {
GtkTreeIter iterCild, iterParent;
GtkTreeModel *model;
char *path;
char *currentDirectory;
char *parentDirectory;
char *temp;
if (gtk_tree_selection_get_selected (selection, &model, &iterCild)) {
/* als nächstes wird die Beschriftung des selektierten items ausgelesen (das Verzeichnis in dem der Benutzer sich gerade befindet */
gtk_tree_model_get (model, &iterCild, TITLE_COLUMN, ¤tDirectory, -1);
/* der parent iter wird gesucht ...*/
if (gtk_tree_model_iter_parent (GTK_TREE_MODEL (model), &iterParent, &iterChild) == TRUE) {
/* ... und dessen Beschriftung ausgelesen */
gtk_tree_model_get (model, &iterParent, TITLE_COLUMN, &parentDirectory, -1);
/* die beiden Variablen currentDirectory und parentDirectory sollen jetzt aneinandergehängt werden */
g_strconcat (temp, parentDirectory, currentDirectory, NULL);
}
}
/* und hier in eine Status leiste übergeben werden */
push_status_message (status_bar_status, "Status", temp);
}
Ist der Ansatz eines Verzeichnisbaumes. Das das so nicht funktioniert ist klar; ich hab schon verschiedene Sache probiert und das i-net auf den Kopf gestellt (... nee, das hätte man wohl gemerkt ;) ). auch mit g_strdup etc.
Entweder krieg ich einen Memory - Fehler oder (für den Endanwender) völlig unbrauchbare Zeichen :confused: ...
BITTE HELFT MIR !!!
Viele Grüße,
Sagt mal, wie kann ich aus einem gtk widget (in meinem Fall ein Tree) die Zeichenkette (Beschriftung) auslesen in einer char - Variable speichern und dann an eine zweite (auch aus dem Tree ausgelsen) anhängen und das Ergebnis (eine neue Variable) wieder in einem widget (Status bar) ausgeben?? Ich komm da mächtig durcheinander mit den verschiedenen chars (ob char *a; oder char a[128]; *grübel*).
Ich hab hier einen Ansatz um mein Problem zu verdeutlichen:
void get_current_path () {
GtkTreeIter iterCild, iterParent;
GtkTreeModel *model;
char *path;
char *currentDirectory;
char *parentDirectory;
char *temp;
if (gtk_tree_selection_get_selected (selection, &model, &iterCild)) {
/* als nächstes wird die Beschriftung des selektierten items ausgelesen (das Verzeichnis in dem der Benutzer sich gerade befindet */
gtk_tree_model_get (model, &iterCild, TITLE_COLUMN, ¤tDirectory, -1);
/* der parent iter wird gesucht ...*/
if (gtk_tree_model_iter_parent (GTK_TREE_MODEL (model), &iterParent, &iterChild) == TRUE) {
/* ... und dessen Beschriftung ausgelesen */
gtk_tree_model_get (model, &iterParent, TITLE_COLUMN, &parentDirectory, -1);
/* die beiden Variablen currentDirectory und parentDirectory sollen jetzt aneinandergehängt werden */
g_strconcat (temp, parentDirectory, currentDirectory, NULL);
}
}
/* und hier in eine Status leiste übergeben werden */
push_status_message (status_bar_status, "Status", temp);
}
Ist der Ansatz eines Verzeichnisbaumes. Das das so nicht funktioniert ist klar; ich hab schon verschiedene Sache probiert und das i-net auf den Kopf gestellt (... nee, das hätte man wohl gemerkt ;) ). auch mit g_strdup etc.
Entweder krieg ich einen Memory - Fehler oder (für den Endanwender) völlig unbrauchbare Zeichen :confused: ...
BITTE HELFT MIR !!!
Viele Grüße,