A bit more Unicode compilation.
Window insertion corrections for window, frame, dialog, mdi. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2597 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -169,6 +169,32 @@ gtk_dialog_map_callback( GtkWidget *widget, wxDialog *win )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// InsertChild for wxDialog
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
/* Callback for wxFrame. This very strange beast has to be used because
|
||||
* C++ has no virtual methods in a constructor. We have to emulate a
|
||||
* virtual function here as wxWindows requires different ways to insert
|
||||
* a child in container classes. */
|
||||
|
||||
static void wxInsertChildInDialog( wxDialog* parent, wxWindow* child )
|
||||
{
|
||||
gtk_myfixed_put( GTK_MYFIXED(parent->m_wxwindow),
|
||||
GTK_WIDGET(child->m_widget),
|
||||
child->m_x,
|
||||
child->m_y,
|
||||
child->m_width,
|
||||
child->m_height );
|
||||
|
||||
if (parent->HasFlag(wxTAB_TRAVERSAL))
|
||||
{
|
||||
/* we now allow a window to get the focus as long as it
|
||||
doesn't have any children. */
|
||||
GTK_WIDGET_UNSET_FLAGS( parent->m_wxwindow, GTK_CAN_FOCUS );
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// wxDialog
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -211,6 +237,8 @@ bool wxDialog::Create( wxWindow *parent,
|
||||
|
||||
PreCreation( parent, id, pos, size, style, name );
|
||||
|
||||
m_insertCallback = (wxInsertChildFunction) wxInsertChildInDialog;
|
||||
|
||||
m_widget = gtk_window_new( GTK_WINDOW_TOPLEVEL );
|
||||
|
||||
if (!name.IsEmpty())
|
||||
|
@@ -304,7 +304,7 @@ END_EVENT_TABLE()
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxFrame,wxWindow)
|
||||
|
||||
wxFrame::wxFrame()
|
||||
void wxFrame::Init()
|
||||
{
|
||||
m_frameMenuBar = (wxMenuBar *) NULL;
|
||||
m_frameStatusBar = (wxStatusBar *) NULL;
|
||||
@@ -315,7 +315,6 @@ wxFrame::wxFrame()
|
||||
m_mainWidget = (GtkWidget*) NULL;
|
||||
m_menuBarDetached = FALSE;
|
||||
m_toolBarDetached = FALSE;
|
||||
m_insertCallback = (wxInsertChildFunction) NULL;
|
||||
m_insertInClientArea = TRUE;
|
||||
}
|
||||
|
||||
@@ -323,17 +322,8 @@ wxFrame::wxFrame( wxWindow *parent, wxWindowID id, const wxString &title,
|
||||
const wxPoint &pos, const wxSize &size,
|
||||
long style, const wxString &name )
|
||||
{
|
||||
m_frameMenuBar = (wxMenuBar *) NULL;
|
||||
m_frameStatusBar = (wxStatusBar *) NULL;
|
||||
m_frameToolBar = (wxToolBar *) NULL;
|
||||
m_sizeSet = FALSE;
|
||||
m_miniEdge = 0;
|
||||
m_miniTitle = 0;
|
||||
m_mainWidget = (GtkWidget*) NULL;
|
||||
m_menuBarDetached = FALSE;
|
||||
m_toolBarDetached = FALSE;
|
||||
m_insertCallback = (wxInsertChildFunction) NULL;
|
||||
m_insertInClientArea = TRUE;
|
||||
Init();
|
||||
|
||||
Create( parent, id, title, pos, size, style, name );
|
||||
}
|
||||
|
||||
|
@@ -1625,7 +1625,7 @@ void wxWindow::Init()
|
||||
m_scrollGC = (GdkGC*) NULL;
|
||||
m_widgetStyle = (GtkStyle*) NULL;
|
||||
|
||||
m_insertCallback = wxInsertChildInWindow;
|
||||
m_insertCallback = (wxInsertChildFunction) NULL;
|
||||
|
||||
m_isStaticBox = FALSE;
|
||||
m_acceptsFocus = FALSE;
|
||||
@@ -1651,6 +1651,8 @@ bool wxWindow::Create( wxWindow *parent, wxWindowID id,
|
||||
{
|
||||
PreCreation( parent, id, pos, size, style, name );
|
||||
|
||||
m_insertCallback = wxInsertChildInWindow;
|
||||
|
||||
m_widget = gtk_scrolled_window_new( (GtkAdjustment *) NULL, (GtkAdjustment *) NULL );
|
||||
GTK_WIDGET_UNSET_FLAGS( m_widget, GTK_CAN_FOCUS );
|
||||
|
||||
@@ -2366,6 +2368,21 @@ bool wxWindow::Reparent( wxWindow *newParent )
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void wxWindow::DoAddChild(wxWindow *child)
|
||||
{
|
||||
wxASSERT_MSG( (m_widget != NULL), _T("invalid window") );
|
||||
|
||||
wxASSERT_MSG( (child != NULL), _T("invalid child window") );
|
||||
|
||||
wxASSERT_MSG( (m_insertCallback != NULL), _T("invalid child insertion function") );
|
||||
|
||||
/* add to list */
|
||||
AddChild( child );
|
||||
|
||||
/* insert GTK representation */
|
||||
(*m_insertCallback)(this, child);
|
||||
}
|
||||
|
||||
void wxWindow::Raise()
|
||||
{
|
||||
wxCHECK_RET( (m_widget != NULL), _T("invalid window") );
|
||||
|
Reference in New Issue
Block a user