Window placement changes. Pure guessing.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4361 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -664,7 +664,7 @@ bool DnDApp::OnInit()
|
|||||||
// create the main frame window
|
// create the main frame window
|
||||||
DnDFrame *frame = new DnDFrame((wxFrame *) NULL,
|
DnDFrame *frame = new DnDFrame((wxFrame *) NULL,
|
||||||
"Drag-and-Drop/Clipboard wxWindows Sample",
|
"Drag-and-Drop/Clipboard wxWindows Sample",
|
||||||
50, 50, 450, 340);
|
10, 10, 450, 340);
|
||||||
|
|
||||||
// activate it
|
// activate it
|
||||||
frame->Show(TRUE);
|
frame->Show(TRUE);
|
||||||
|
@@ -121,7 +121,7 @@ gtk_dialog_realized_callback( GtkWidget *widget, wxDialog *win )
|
|||||||
/* I haven't been able to set the position of
|
/* I haven't been able to set the position of
|
||||||
the dialog before it is shown, so I set the
|
the dialog before it is shown, so I set the
|
||||||
position in "realize" */
|
position in "realize" */
|
||||||
gtk_widget_set_uposition( widget, win->m_x, win->m_y );
|
gtk_window_reposition( GTK_WINDOW(widget), win->m_x, win->m_y );
|
||||||
|
|
||||||
/* all this is for Motif Window Manager "hints" and is supposed to be
|
/* all this is for Motif Window Manager "hints" and is supposed to be
|
||||||
recognized by other WM as well. not tested. */
|
recognized by other WM as well. not tested. */
|
||||||
@@ -497,7 +497,7 @@ void wxDialog::DoSetSize( int x, int y, int width, int height, int sizeFlags )
|
|||||||
{
|
{
|
||||||
/* we set the position here and when showing the dialog
|
/* we set the position here and when showing the dialog
|
||||||
for the first time in idle time */
|
for the first time in idle time */
|
||||||
gtk_widget_set_uposition( m_widget, m_x, m_y );
|
gtk_window_reposition( GTK_WINDOW(m_widget), m_x, m_y );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -230,7 +230,7 @@ static gboolean target_drag_drop( GtkWidget *widget,
|
|||||||
|
|
||||||
if (!ret)
|
if (!ret)
|
||||||
{
|
{
|
||||||
wxLogDebug( wxT( "Drop target: OnDrop returned TRUE") );
|
wxLogDebug( wxT( "Drop target: OnDrop returned FALSE") );
|
||||||
|
|
||||||
/* cancel the whole thing */
|
/* cancel the whole thing */
|
||||||
gtk_drag_finish( context,
|
gtk_drag_finish( context,
|
||||||
|
@@ -202,11 +202,17 @@ gtk_frame_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventConfigure *ev
|
|||||||
so we do this directly after realization */
|
so we do this directly after realization */
|
||||||
|
|
||||||
static gint
|
static gint
|
||||||
gtk_frame_realized_callback( GtkWidget *WXUNUSED(widget), wxFrame *win )
|
gtk_frame_realized_callback( GtkWidget *widget, wxFrame *win )
|
||||||
{
|
{
|
||||||
if (g_isIdle)
|
if (g_isIdle)
|
||||||
wxapp_install_idle_handler();
|
wxapp_install_idle_handler();
|
||||||
|
|
||||||
|
/* I haven't been able to set the position of
|
||||||
|
the dialog before it is shown, so I set the
|
||||||
|
position in "realize" */
|
||||||
|
printf( "%d %d\n", win->m_x, win->m_y );
|
||||||
|
gtk_window_reposition( GTK_WINDOW(widget), win->m_x, win->m_y );
|
||||||
|
|
||||||
/* all this is for Motif Window Manager "hints" and is supposed to be
|
/* all this is for Motif Window Manager "hints" and is supposed to be
|
||||||
recognized by other WM as well. not tested. */
|
recognized by other WM as well. not tested. */
|
||||||
long decor = (long) GDK_DECOR_BORDER;
|
long decor = (long) GDK_DECOR_BORDER;
|
||||||
@@ -399,7 +405,7 @@ bool wxFrame::Create( wxWindow *parent, wxWindowID id, const wxString &title,
|
|||||||
|
|
||||||
m_insertCallback = (wxInsertChildFunction) wxInsertChildInFrame;
|
m_insertCallback = (wxInsertChildFunction) wxInsertChildInFrame;
|
||||||
|
|
||||||
GtkWindowType win_type = GTK_WINDOW_TOPLEVEL;
|
GtkWindowType win_type = GTK_WINDOW_DIALOG; // this makes window placement work
|
||||||
if (style & wxSIMPLE_BORDER) win_type = GTK_WINDOW_POPUP;
|
if (style & wxSIMPLE_BORDER) win_type = GTK_WINDOW_POPUP;
|
||||||
|
|
||||||
m_widget = gtk_window_new( win_type );
|
m_widget = gtk_window_new( win_type );
|
||||||
@@ -564,7 +570,7 @@ void wxFrame::DoSetSize( int x, int y, int width, int height, int sizeFlags )
|
|||||||
{
|
{
|
||||||
if ((m_x != old_x) || (m_y != old_y))
|
if ((m_x != old_x) || (m_y != old_y))
|
||||||
{
|
{
|
||||||
gtk_widget_set_uposition( m_widget, m_x, m_y );
|
gtk_window_reposition( GTK_WINDOW(m_widget), m_x, m_y );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -121,7 +121,7 @@ gtk_dialog_realized_callback( GtkWidget *widget, wxDialog *win )
|
|||||||
/* I haven't been able to set the position of
|
/* I haven't been able to set the position of
|
||||||
the dialog before it is shown, so I set the
|
the dialog before it is shown, so I set the
|
||||||
position in "realize" */
|
position in "realize" */
|
||||||
gtk_widget_set_uposition( widget, win->m_x, win->m_y );
|
gtk_window_reposition( GTK_WINDOW(widget), win->m_x, win->m_y );
|
||||||
|
|
||||||
/* all this is for Motif Window Manager "hints" and is supposed to be
|
/* all this is for Motif Window Manager "hints" and is supposed to be
|
||||||
recognized by other WM as well. not tested. */
|
recognized by other WM as well. not tested. */
|
||||||
@@ -497,7 +497,7 @@ void wxDialog::DoSetSize( int x, int y, int width, int height, int sizeFlags )
|
|||||||
{
|
{
|
||||||
/* we set the position here and when showing the dialog
|
/* we set the position here and when showing the dialog
|
||||||
for the first time in idle time */
|
for the first time in idle time */
|
||||||
gtk_widget_set_uposition( m_widget, m_x, m_y );
|
gtk_window_reposition( GTK_WINDOW(m_widget), m_x, m_y );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -230,7 +230,7 @@ static gboolean target_drag_drop( GtkWidget *widget,
|
|||||||
|
|
||||||
if (!ret)
|
if (!ret)
|
||||||
{
|
{
|
||||||
wxLogDebug( wxT( "Drop target: OnDrop returned TRUE") );
|
wxLogDebug( wxT( "Drop target: OnDrop returned FALSE") );
|
||||||
|
|
||||||
/* cancel the whole thing */
|
/* cancel the whole thing */
|
||||||
gtk_drag_finish( context,
|
gtk_drag_finish( context,
|
||||||
|
@@ -202,11 +202,17 @@ gtk_frame_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventConfigure *ev
|
|||||||
so we do this directly after realization */
|
so we do this directly after realization */
|
||||||
|
|
||||||
static gint
|
static gint
|
||||||
gtk_frame_realized_callback( GtkWidget *WXUNUSED(widget), wxFrame *win )
|
gtk_frame_realized_callback( GtkWidget *widget, wxFrame *win )
|
||||||
{
|
{
|
||||||
if (g_isIdle)
|
if (g_isIdle)
|
||||||
wxapp_install_idle_handler();
|
wxapp_install_idle_handler();
|
||||||
|
|
||||||
|
/* I haven't been able to set the position of
|
||||||
|
the dialog before it is shown, so I set the
|
||||||
|
position in "realize" */
|
||||||
|
printf( "%d %d\n", win->m_x, win->m_y );
|
||||||
|
gtk_window_reposition( GTK_WINDOW(widget), win->m_x, win->m_y );
|
||||||
|
|
||||||
/* all this is for Motif Window Manager "hints" and is supposed to be
|
/* all this is for Motif Window Manager "hints" and is supposed to be
|
||||||
recognized by other WM as well. not tested. */
|
recognized by other WM as well. not tested. */
|
||||||
long decor = (long) GDK_DECOR_BORDER;
|
long decor = (long) GDK_DECOR_BORDER;
|
||||||
@@ -399,7 +405,7 @@ bool wxFrame::Create( wxWindow *parent, wxWindowID id, const wxString &title,
|
|||||||
|
|
||||||
m_insertCallback = (wxInsertChildFunction) wxInsertChildInFrame;
|
m_insertCallback = (wxInsertChildFunction) wxInsertChildInFrame;
|
||||||
|
|
||||||
GtkWindowType win_type = GTK_WINDOW_TOPLEVEL;
|
GtkWindowType win_type = GTK_WINDOW_DIALOG; // this makes window placement work
|
||||||
if (style & wxSIMPLE_BORDER) win_type = GTK_WINDOW_POPUP;
|
if (style & wxSIMPLE_BORDER) win_type = GTK_WINDOW_POPUP;
|
||||||
|
|
||||||
m_widget = gtk_window_new( win_type );
|
m_widget = gtk_window_new( win_type );
|
||||||
@@ -564,7 +570,7 @@ void wxFrame::DoSetSize( int x, int y, int width, int height, int sizeFlags )
|
|||||||
{
|
{
|
||||||
if ((m_x != old_x) || (m_y != old_y))
|
if ((m_x != old_x) || (m_y != old_y))
|
||||||
{
|
{
|
||||||
gtk_widget_set_uposition( m_widget, m_x, m_y );
|
gtk_window_reposition( GTK_WINDOW(m_widget), m_x, m_y );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user