Afficher des valeurs entrées dans une fenetre, dans une seconde
Bonsoir,
Je reviens vers vous, car après maintes tentatives et recherches je finis par penser que je n'ai juste pas compris comment cela marchait.
Voici ma problématique :
J'ai une interface gtkmm dans laquelle je rentre des données (on ne prendra l'exemple que d'une par facilité), un nom par exemple.
j'entre mon nom dans la case dédiée, je clique sur "enregistrer", je "mets à jour" mon information avec mon set et une seconde fenêtre s'affiche et est supposée retourner mon nom.
J'ai donc écrit une fonction string Personnage::get_name(){return Name;}.
Dans un premier temps je me demande si il faut que mette le nom dans un label pour l'afficher...?
Et parallèlement comment faire..
Voici mes bouts de codes, qui donc fonctionnent pas :
creation.h
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
class Personnage
{
protected :
string Name; /// Nom du personnage
public :
Personnage();
void setName(string); /// Recupere le choix du nom de personnage
string getName(); /// Renvoie le choix du nom de personnage
};
class affichage : public Gtk::Window
{
public:
affichage();
virtual ~affichage();
protected:
Personnage p;
//mes widgets
};
class creation : public Gtk::Window
{
public:
creation(Personnage &p);
virtual ~creation();
void on_button_clicked(Personnage &p);
protected:
//mes widgets
affichage affichage; // pour creer la fenetre fille
}; |
et affichage.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
affichage::affichage()
:
FinalBox(Gtk::ORIENTATION_VERTICAL),
AffichageBox(Gtk::ORIENTATION_HORIZONTAL),
FinalFrame("Check out your character!"),
CloseFrame(),
p() // j'ai testé cela, ça compile mais ne retourne pas mon nom
{
//box et frames
AffichageBox.pack_start(FinalFrame, Gtk::PACK_EXPAND_WIDGET, 10);
FinalGrid.set_border_width(10);
FinalFrame.add(FinalGrid);
//les labels
name_label.set_label("Name : "); //label du choix du nom
nom.set_label(p.getName()); // mon soucis se situe ici
//on définit les positions dans la FinalGrid
FinalGrid.attach(name_label, 0,0,1,1);
FinalGrid.attach(nom, 1,0,1,1); |