void wxPopupWindow::OnInternalIdle() { if (!m_sizeSet && GTK_WIDGET_REALIZED(m_wxwindow)) GtkOnSize( m_x, m_y, m_width, m_height ); wxWindow::OnInternalIdle(); }
bool wxTopLevelWindowGTK::Show( bool show ) { wxASSERT_MSG( (m_widget != NULL), wxT("invalid frame") ); if (show == IsShown()) return false; if (show && !m_sizeSet) { /* by calling GtkOnSize here, we don't have to call either after showing the frame, which would entail much ugly flicker or from within the size_allocate handler, because GTK 1.1.X forbids that. */ GtkOnSize(); } wxTopLevelWindowBase::Show(show); if (!show) { // make sure window has a non-default position, so when it is shown // again, it won't be repositioned by WM as if it were a new window // Note that this must be done _after_ the window is hidden. gtk_window_move((GtkWindow*)m_widget, m_x, m_y); } return true; }
bool wxPopupWindow::Show( bool show ) { if (show && !m_sizeSet) { /* by calling GtkOnSize here, we don't have to call either after showing the frame, which would entail much ugly flicker nor from within the size_allocate handler, because GTK 1.1.X forbids that. */ GtkOnSize( m_x, m_y, m_width, m_height ); } bool ret = wxWindow::Show( show ); return ret; }
void wxTopLevelWindowGTK::OnInternalIdle() { if (!m_sizeSet && GTK_WIDGET_REALIZED(m_wxwindow)) { GtkOnSize( m_x, m_y, m_width, m_height ); // we'll come back later if (g_isIdle) wxapp_install_idle_handler(); return; } // set the focus if not done yet and if we can already do it if ( GTK_WIDGET_REALIZED(m_wxwindow) ) { if ( g_delayedFocus && wxGetTopLevelParent((wxWindow*)g_delayedFocus) == this ) { wxLogTrace(wxT("focus"), wxT("Setting focus from wxTLW::OnIdle() to %s(%s)"), g_delayedFocus->GetClassInfo()->GetClassName(), g_delayedFocus->GetLabel().c_str()); g_delayedFocus->SetFocus(); g_delayedFocus = NULL; } } wxWindow::OnInternalIdle(); // Synthetize activate events. if ( g_sendActivateEvent != -1 ) { bool activate = g_sendActivateEvent != 0; // if (!activate) wxPrintf( wxT("de") ); // wxPrintf( wxT("activate\n") ); // do it only once g_sendActivateEvent = -1; wxTheApp->SetActive(activate, (wxWindow *)g_lastActiveFrame); } }
bool wxTopLevelWindowGTK::Show( bool show ) { wxASSERT_MSG( (m_widget != NULL), wxT("invalid frame") ); if (show && !m_sizeSet) { /* by calling GtkOnSize here, we don't have to call either after showing the frame, which would entail much ugly flicker or from within the size_allocate handler, because GTK 1.1.X forbids that. */ GtkOnSize( m_x, m_y, m_width, m_height ); } if (show) gtk_widget_set_uposition( m_widget, m_x, m_y ); return wxWindow::Show( show ); }
bool wxDialog::Show( bool show ) { if (!show && IsModal()) { EndModal( wxID_CANCEL ); } if (show && !m_sizeSet) { /* by calling GtkOnSize here, we don't have to call either after showing the frame, which would entail much ugly flicker nor from within the size_allocate handler, because GTK 1.1.X forbids that. */ GtkOnSize(); } bool ret = wxWindow::Show( show ); if (show) InitDialog(); return ret; }