2013-11-28 00:14, a skrev:
On 11/27/2013 12:59 PM, Kjell Ahlstedt wrote:
2013-11-26 22:37, a skrev:
On 11/26/2013 08:33 AM, Kjell Ahlstedt wrote:
2013-11-26 05:09, a skrev:
Hi,
I'm trying to connect to the configure signal
event(signal_configure_event()), in the documentation I read that
you have to enable Gdk::STRUCTURE_MASK, and I think that is the
problem I am having. I tried do it several different ways, like this:
this->add_events(Gdk::STRUCTURE_MASK);
Gtk::Window::add_events(Gdk::STRUCTURE_MASK);
MainWindow::add_events(Gdk::STRUCTURE_MASK); //I think they are
all synonyms, but just in case they weren't
and I tried using set_events() function too. Is this the correct
way to enable STRUCTURE_MASK?
Thank you.
Tim O.
Have you read
https://developer.gnome.org/gtkmm-tutorial/stable/sec-xeventsignals.html.en#signal-handler-sequence
and added an after = false parameter in your call to
signal_configure_event().connect()?
Kjell
Thank you for the link, but I recently just read that using the
configure signal could have performance problems, and I read in an
old mailing list that signal_expose_event should be used, which is
now signal_draw. So instead I was thinking of using
signal_size_allocate. Because all I really want is just the window's
size. So which one of these would have better for getting the
window's size and then increases a Gtk::Entry width. Thank you.
Tim O.
Is this a continuation of your question in
https://mail.gnome.org/archives/gtkmm-list/2013-November/msg00070.html ?
I made a small test with the example program in
https://git.gnome.org/browse/gtkmm-documentation/tree/examples/book/entry/simple?h=master
I changed the vertical box to a horizontal box. The Entry widget
expands with the window if it's added to the box with
pack_start(m_Entry, Gtk::PACK_EXPAND_WIDGET). If you want the Entry
to get all extra space, you should add other widgets to the box with
Gtk::PACK_SHRINK.
If you can't get this to work, can you post a small program here on
the mailing list? A program that does not behave the way you want,
when its window is expanded.
Kjell
Here is how I solved it the problem, probably not the best way, but it
works kind of:
When I ran your program (deleted from this reply), I realized that I
had misunderstood your intention. You don't want the Entry to grow when
the user increases the size of the parent window. You want the Entry to
grow when the user enters text in it. You want it always to be large
enough to show all the entered text. I don't know an easy way of
achieving that. Perhaps you can simplify your program somewhat by using
Gtk::Editable::signal_changed() instead of signal_key_press_event() and
signal_delete_text(), and by using Gtk::Entry::set_width_chars().
Kjell
_______________________________________________
gtkmm-list mailing list
gtkmm-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtkmm-list