Re: DrawingArea opens a new window.
- From: Lassi Väätämöinen <lassi vaatamoinen gmail com>
- To: gtkmm-list gnome org
- Subject: Re: DrawingArea opens a new window.
- Date: Mon, 21 Jan 2008 15:43:29 +0200
Okay, my bad. I was messing with on_realize() calls by calling them myself,
but apparently on_realize() functions are signal handlers for X server
signals(?) :).
And sorry for invalid reply formatting :)
-Lassi
On Monday 21 January 2008 13:32:42 Lassi Väätämöinen wrote:
> Hi,
>
> I'm trying to draw video on a DrawingArea widget. The video is shown OK in
> drawingare. But when the drawing area widget is built into a window,
> another window for the DrawingArea is opened, instead of containing the
> DrawingArea widget in the original window.
>
> Is there some specific container that should be used for DrawingArea, or
> does it require some options set to correctly contain the widget in a
> container? Here is the essential code:
>
>
> // PlayerWidget.h. Inherited from Gtk::DrawingArea
>
> PlayerWidget::PlayerWidget() : Gtk::DrawingArea(), xWindowId_(0)
> {
> on_realize();
> }
>
>
> PlayerWidget::~PlayerWidget()
> {
> }
>
> void PlayerWidget::on_realize()
> {
> int xwin;
> Gtk::DrawingArea::on_realize();
> Glib::RefPtr<Gdk::Window> gwindow = get_window();
>
> if (gwindow)
> {
> xWindowId_ = GDK_WINDOW_XID(Glib::unwrap(get_window()));
>
> std::cout<< "Playerwidget xwin id: "<< xWindowId_ <<"\n";
> }
>
> //std::cout<<"on_realize occured\n";
> //std::cout<<"xwin id: "<<xwin<<"\n";
> }
>
>
> int PlayerWidget::getXwindowId()
> {
> return xWindowId_;
> }
>
>
> //==============================================
>
> MainWindow::MainWindow() : Gtk::Window(), m_vbox(), m_pWidget()
> {
>
> set_default_size(500,500);
>
> // m_pWidget is an instance of PlayerWidget (Gtk::DrawingArea)
> m_pWidget.set_size_request(400, 400);
> m_vbox.pack_start(m_pWidget, Gtk::PACK_EXPAND_WIDGET, 5);
>
> add(m_vbox);
>
> show_all_children();
> }
>
> //================================================
>
> When instantiating a MainWindow object after this, the DrawingArea is built
> into a new window on desktop, instead of being contained in the MainWindow.
> When the window containing drawing area is closed I get:
>
> "The application 'demo' lost its connection to the display :0.0;
> most likely the X server was shut down or you killed/destroyed
> the application."
>
> But when I close the MainWindow, both of the windows close correctly
> without any errors.
>
> What seems to be the problem?
>
>
> --
> Lassi Väätämöinen
> Researcher
> Tampere University of Technology / Department of Communications Engineering
> Room TH209, tel. 03-3115 5124
--
Lassi Väätämöinen
M.Sc., Researcher
Tampere University of Technology / Department of Communications Engineering
Room TH209, tel. 03-3115 5124
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]