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:
Robert Roebling
1999-11-04 19:47:03 +00:00
parent 90c6f4d6f5
commit 2e5c594e36
7 changed files with 25 additions and 13 deletions

View File

@@ -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);

View File

@@ -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 );
} }
} }

View File

@@ -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,

View File

@@ -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 );
} }
} }

View File

@@ -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 );
} }
} }

View File

@@ -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,

View File

@@ -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 );
} }
} }