To Kjell

Thank you, I realised that after posting.  It is now fixed.
As a newcomer to this group, I 'm  not sure how to close
down this problem.

Mike


On Thursday, 3 April 2014, 14:43, Kjell Ahlstedt <kjell.ahlst...@bredband.net> 
wrote:
 
Don't reparent anything. You shall not replace the message area with your own 
box, you shall add your grid to the existing box.

    Gtk::Label *label1 = Gtk::manage(new Gtk::Label("some text"));
    Gtk::Label *label2 = Gtk::manage(new Gtk::Label("some more
    text"));

    Gtk::Grid *grid = Gtk::manage(new Gtk::Grid);
    Gtk::Box *vbox = dialog.get_message_area();

    vbox->add(*grid);
    grid->attach(*label1,0,2,1,1);
    grid->attach(*label2,1,2,2,1);


2014-04-03 11:31, mike lear skrev:

Hello,
>    I am a newcomer to Gtkmm and this mailing list, I have a
          question 
>regarding the use of the reparent command using gtkmm-3.
>I am attempting to add several text labels to the
          MessageDialog. I wish
>to position these labels below the dialog-secondary text using
          a grid
>to achieve this. The following snippet of code works but gives
          the
>following warning.
>Gtk-WARNING **: Attempting to add a widget with type GtkBox to
          a container
>of type gtkmm__GtkWindow, but the widget is already inside a
          container of
>type GtkBox, please use gtk_widget_reparent()
>
>I understand that the format for the reparent function is
> gtk_widget_reparent(original widget,new widget);
>
>I am trying to reparent the MessageDialog's vertical box with
          my new one
>Every attempt I have made so far has failed... 
>
>//Snippet of my code
>// The true in Messagedialog is becuse the Message string
          contains pango markup
>Gtk::MessageDialog
dialog(*this,Message->c_str(),true,Gtk::MESSAGE_INFO,Gtk::BUTTONS_CLOSE);
>
>    // some text labels that I wish to add to the
          MessageDialog
>    Gtk::Label *label1 = Gtk::manage(new Gtk::Label("some
          text"));
>    Gtk::Label *label2 = Gtk::manage(new Gtk::Label("some more
          text"));
>
>    // then the box and grid I wish to add
>      Gtk::Grid *grid = Gtk::manage(new Gtk::Grid); 
>     Gtk::Box *vbox = Gtk::manage(new
          Gtk::Box(Gtk::ORIENTATION_VERTICAL, 0));
>
>    vbox = dialog.get_message_area(); // make vbox the new
          message area
>
>    // The next line of code is where I have the problem.
>    gtk_widget_reparent(???,???);   //What do I place here ?
>
>    add(*vbox);                       // add the new vbox
>    vbox->add(*grid);                 // then the grid
>    grid->attach(*label,0,2,1,1);     // finally position
          the labels
>    grid->attach(*label,1,2,2,1);
>
>dialog.set_secondary_text("secondary text");
>
>     vbox->show_all();                 // display it
>dialog.run();
>
>I would appreciate any pointers on how I can achieve this.
>Thank you.
>
_______________________________________________
gtkmm-list mailing list
gtkmm-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtkmm-list

Reply via email to